{"_id":"100ms_edtech_template","_rev":"1-d8c5fa33c178670c20bce9fc804f3e7b","name":"100ms_edtech_template","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.4":{"name":"100ms_edtech_template","version":"0.1.4","private":false,"main":"dist/index.cjs.js","module":"dist/index.js","dependencies":{"@100mslive/hms-noise-suppression":"0.1.9","@100mslive/hms-virtual-background":"1.3.8","@100mslive/react-icons":"0.0.11","@100mslive/react-sdk":"0.0.11","@100mslive/react-ui":"0.0.11","@testing-library/jest-dom":"^5.11.4","@testing-library/react":"^11.1.0","@testing-library/user-event":"^12.1.10","@tldraw/tldraw":"^1.5.0","hls.js":"^1.1.1","js-confetti":"^0.10.2","logrocket":"^2.2.0","logrocket-react":"^5.0.1","mobx":"^6.3.12","pusher-js":"^7.0.3","react":"^17.0.2","react-dom":"^17.0.2","react-router-dom":"^5.2.0","react-use":"^17.3.2","recordrtc":"^5.6.2","screenfull":"^5.1.0","uuid":"^8.3.2","web-vitals":"^1.0.1","worker-timers":"^7.0.40"},"scripts":{"prebuild":"rm -rf build","build":"NODE_ENV=production webpack","start":"webpack serve","esbuild":"node ../../scripts/build-webapp","dev":"node ../../scripts/dev-webapp","format":"prettier -w src"},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"devDependencies":{"@babel/eslint-parser":"^7.17.0","autoprefixer":"^10.4.2","copy-webpack-plugin":"^10.2.1","css-loader":"^6.5.1","cssnano":"^5.0.15","dotenv":"^14.2.0","esbuild-loader":"^2.18.0","esbuild-plugin-postcss2":"0.1.1","eslint":"^8.9.0","eslint-config-react-app":"^7.0.0","eslint-plugin-import":"^2.25.4","eslint-plugin-prettier":"^4.0.0","eslint-webpack-plugin":"^3.1.1","html-webpack-plugin":"^5.5.0","mini-css-extract-plugin":"^2.5.2","postcss":"^8.4.5","postcss-loader":"^6.2.1","prettier":"^2.5.1","tailwindcss":"^3.0.15","webpack":"^5.69.1","webpack-cli":"^4.9.2","webpack-dev-server":"^4.7.4","webpack-manifest-plugin":"^4.1.1"},"description":"<p align=\"center\" >   <a href=\"https://100ms.live/\">   <img src=\"https://github.com/100mslive/100ms-ios-sdk/blob/main/100ms.gif\" height=256/>    <img src=\"https://github.com/100mslive/100ms-ios-sdk/blob/main/100ms.svg\" title=\"100ms logo\" float=center heig","_id":"100ms_edtech_template@0.1.4","_nodeVersion":"16.13.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-ZzYf+muMqpuUnYHPPhZ+2518cPoQ9/F5UKualG5dBxsWknsEXWdZFOLUhGbX4Imx4c679wrt9BPqKQ7+e03gUw==","shasum":"31586fb81ffa64782868d45e180ed2d06cd7665f","tarball":"https://registry.npmjs.org/100ms_edtech_template/-/100ms_edtech_template-0.1.4.tgz","fileCount":3,"unpackedSize":7880,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjbTuoI6C43I9u/sQUkCRzcVvj0JcOp8ALVa/5e20/GQIgBLdfbO2lcfWHlX92Xsva/CiJHYyRI2YLXj5cxNrD4Gk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiU9gLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYNRAAnRiXC8yKG3QGAt/YqvpMF5CatSH89ZCsVkKRFR2mAFPOJeqI\r\nOgWpTZRbEBjkRqTCoqgAVSI55/GtAYXRcKQJ+VTNNzxaQnW1AUB1ry2coIzu\r\nKnj/JRlDIdX7Wgx7We12tcqrJxPrxoqirhGRwvYyLushuSRUuPkjBDIDUc6I\r\ngPM0AIQXic7vUABOJ4uuMBbGrRfgA6BQGxjdrRNawAfhSin5Hf7hJled2uUY\r\nt96jqBbIog3+aulz1jkoIl12jYNWJad57Fg6ZqGUrzHNAk7Ey/II7VqdrrEB\r\nPZ3hxH4ZUrdNLey60+wed2RB+5kNkmFpd564Buu1pHEvbgE4rk3Q3j2DcjZ7\r\n7L8aXIBUJ2WGlbThekFI51DAeZKeuLg43Bfl1x6EGWxMszJIEFHR59PzfBxU\r\nhS0F0oM+GLicaBiDl5GmT8+A0TSdy7zKNE7Q+v9WNooiftvD2ZcFILAmcOak\r\njSy+wXFKz/wuiHHsG9kErcHy/Mn3kHwL/15yo2swy2X76BvSizhzjJY9pcWP\r\nYt7xfVHoHmp2GoyqsEWvqLv4I2ucpWWKBO8jChF1jPDZemjw70m6jTiw46fS\r\n4YJyoGg1kOX1Aa4xtdtoju6aripjX/f+WT3apRJTWSDEmYApoXT+3Ijh/VQS\r\nhLVhxLR5nH3r+NmLaXO7fBUUovJOhMxhj7k=\r\n=ItoM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"abhishekmukherjee6","email":"abhishekmukherjee6@gmail.com"},"directories":{},"maintainers":[{"name":"abhishekmukherjee6","email":"abhishekmukherjee6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/100ms_edtech_template_0.1.4_1649661963603_0.5952964941312331"},"_hasShrinkwrap":false},"0.1.5":{"name":"100ms_edtech_template","version":"0.1.5","private":false,"main":"dist/index.cjs.js","module":"dist/index.js","dependencies":{"@100mslive/hms-noise-suppression":"0.1.9","@100mslive/hms-virtual-background":"1.3.8","@100mslive/react-icons":"0.0.11","@100mslive/react-sdk":"0.0.11","@100mslive/react-ui":"0.0.11","@testing-library/jest-dom":"^5.11.4","@testing-library/react":"^11.1.0","@testing-library/user-event":"^12.1.10","@tldraw/tldraw":"^1.5.0","hls.js":"^1.1.1","js-confetti":"^0.10.2","logrocket":"^2.2.0","logrocket-react":"^5.0.1","mobx":"^6.3.12","pusher-js":"^7.0.3","react":"^17.0.2","react-dom":"^17.0.2","react-router-dom":"^5.2.0","react-use":"^17.3.2","recordrtc":"^5.6.2","screenfull":"^5.1.0","uuid":"^8.3.2","web-vitals":"^1.0.1","worker-timers":"^7.0.40"},"scripts":{"prebuild":"rm -rf build","build":"NODE_ENV=production webpack","start":"webpack serve","esbuild":"node ../../scripts/build-webapp","dev":"node ../../scripts/dev-webapp","format":"prettier -w src"},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"devDependencies":{"@babel/eslint-parser":"^7.17.0","autoprefixer":"^10.4.2","copy-webpack-plugin":"^10.2.1","css-loader":"^6.5.1","cssnano":"^5.0.15","dotenv":"^14.2.0","esbuild-loader":"^2.18.0","esbuild-plugin-postcss2":"0.1.1","eslint":"^8.9.0","eslint-config-react-app":"^7.0.0","eslint-plugin-import":"^2.25.4","eslint-plugin-prettier":"^4.0.0","eslint-webpack-plugin":"^3.1.1","html-webpack-plugin":"^5.5.0","mini-css-extract-plugin":"^2.5.2","postcss":"^8.4.5","postcss-loader":"^6.2.1","prettier":"^2.5.1","tailwindcss":"^3.0.15","webpack":"^5.69.1","webpack-cli":"^4.9.2","webpack-dev-server":"^4.7.4","webpack-manifest-plugin":"^4.1.1"},"description":"<p align=\"center\" >   <a href=\"https://100ms.live/\">   <img src=\"https://github.com/100mslive/100ms-ios-sdk/blob/main/100ms.gif\" height=256/>    <img src=\"https://github.com/100mslive/100ms-ios-sdk/blob/main/100ms.svg\" title=\"100ms logo\" float=center heig","_id":"100ms_edtech_template@0.1.5","_nodeVersion":"16.13.0","_npmVersion":"8.3.0","dist":{"integrity":"sha512-4Q96q2Lqg504mQlq44tC5giKK+Om/vaMIZDZtYKInGdii/p2rXcZIFGEZzkz3zFBAYQuKNYdVmJqT0/3rq8mYg==","shasum":"01feee20ad3657f50afaef88d0700a56446640f5","tarball":"https://registry.npmjs.org/100ms_edtech_template/-/100ms_edtech_template-0.1.5.tgz","fileCount":3,"unpackedSize":7880,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC/c/mfLDfOM85WKpuXqPNeRcZxpt7+E1REVgo831iRxAiEAhdVg5uWqTMsEHwycT0mmvb/f5TZSbtc8ot3X7DrWHJg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiU9saACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrmbg/+OnHXCmbqwlC36bPZuvttOF4uTjRcXtao42YHr2BheiE26Csv\r\ndT6zPKIzt7Hh1GvjhqrVeZZXb5e59BYBBLAG7qbBoWkbM6th365WpLdFimJK\r\n6uJiASMJFHUFgVn2jdZ3/YLuuYTQg2PbnpiLiJNlaM7donmnz4n11g2DJBzQ\r\nb4t2OAMdJiBCnVVZFiYmPm3hgUkF2bxsS2WPZjgB+Rujm8mAzUuBAe7a4AoK\r\nB+SaUMAyTIvVamq6VH+IhBil1w8r3g3afVbkdwEzVUOwbxbGZ9ZabC6WhqOC\r\nkVXMr1U1D90SWrx8yWyHtO+BBZXZLB9JMOnJR6ZvUD9qb1rq12BDiTb7j2RM\r\nmha0wOL0NfIAcgy5HLgDDMNnSY25KbkwNV1haAekCDNEHTL1Tlt9xEhNkjv9\r\n5UIem6rOUhpomiKHU96RWqeKxmW9Drv6sj3mwxEhZDct4Zw99GziFL81lmiw\r\n+5YIcGFsH1dsZlgWNbJvsm/dtA0s95xEeLiduS3As09gj9SMZYzoP2z9OOup\r\nAz9jwbL6/w2fFZcVX3JX7kPnuFMBtDDUAmarG4S0z93o23tHQQOY5UCBFoF1\r\nWU/P/dchVlkcq/2zvgHC5xCsO6ZvTo4GAP3X1ax2VZcAjWwYv/0mYB4yGes1\r\nCGIgre/ekAmuAiFWV4iPBGrj6LctQIauhKM=\r\n=pUgC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"abhishekmukherjee6","email":"abhishekmukherjee6@gmail.com"},"directories":{},"maintainers":[{"name":"abhishekmukherjee6","email":"abhishekmukherjee6@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/100ms_edtech_template_0.1.5_1649662746335_0.3654029660444251"},"_hasShrinkwrap":false}},"time":{"created":"2022-04-11T07:26:03.602Z","0.1.4":"2022-04-11T07:26:03.728Z","modified":"2022-04-11T07:39:06.598Z","0.1.5":"2022-04-11T07:39:06.512Z"},"maintainers":[{"name":"abhishekmukherjee6","email":"abhishekmukherjee6@gmail.com"}],"description":"<p align=\"center\" >   <a href=\"https://100ms.live/\">   <img src=\"https://github.com/100mslive/100ms-ios-sdk/blob/main/100ms.gif\" height=256/>    <img src=\"https://github.com/100mslive/100ms-ios-sdk/blob/main/100ms.svg\" title=\"100ms logo\" float=center heig","readme":"<p align=\"center\" >\n  <a href=\"https://100ms.live/\">\n  <img src=\"https://github.com/100mslive/100ms-ios-sdk/blob/main/100ms.gif\" height=256/> \n  <img src=\"https://github.com/100mslive/100ms-ios-sdk/blob/main/100ms.svg\" title=\"100ms logo\" float=center height=256>\n</p>\n\n\n# 100ms 2.0 Sample React App\n\n[![Documentation](https://img.shields.io/badge/Read-Documentation-blue)](https://docs.100ms.live/javascript/v2/foundation/basics)\n[![Discord](https://img.shields.io/badge/Community-Join%20on%20Discord-blue)](https://discord.gg/F8cNgbjSaQ)\n[![Email](https://img.shields.io/badge/Contact-Know%20More-blue)](mailto:founders@100ms.live)\n\n## About\n\nThis is an example React app to demo [100ms' React SDK](https://www.npmjs.com/package/@100mslive/hms-video-react).\n\nNot using React? Find the [Javascript Quickstart here](https://docs.100ms.live/javascript/v2/guides/javascript-quickstart).\n\n## Prerequisites\n\nYou will need [Node.js](https://nodejs.org) version v12.13.0 or greater installed on your system.\n\n## Clone the repo\n\nGet the code by cloning this repo using git.\n\n```bash\ngit clone git@github.com:100mslive/100ms-web-v2.git\n```\n\nOnce cloned, open the terminal in the project directory, and install dependencies with:\n\n```bash\ncd 100ms-web-v2\nyarn install\n```\n\nCreate a new file `.env` and copy the values from `example.env`\n\n```bash\ncp example.env .env\n```\n\n### Get the token generation endpoint\n\nGet your token endpoint from the [Developer section of 100ms' Dashboard](https://dashboard.100ms.live/developer)\n![download](https://user-images.githubusercontent.com/11087313/140727818-43cd8be4-b3bf-4b34-9921-a77f9a1b819d.png)\nUpdate the `REACT_APP_TOKEN_GENERATION_ENDPOINT` in `.env` file with the above token endpoint value (eg. `https://prod-in.100ms.live/hmsapi/example.app.100ms.live/`)\n\n### Run the app\nThen start the app with:\n\n```bash\nyarn start\n```\n\nThe app now should be running at https://localhost:3000/. (Please ignore the 404 message, you need to join the right URL of the room. Next sections describe how to create a room and form the correct URL)\n\n### Create a room\n\nCreate room from [100ms Dashboard](https://dashboard.100ms.live/create-room) & get the room_id & role of the created room. Room details page after creating the room gives you room_id and roles allowed in the room.\n\n![image](https://prod-apps-public.s3.ap-south-1.amazonaws.com/Screenshot+2021-06-26+at+5.52.50+PM.png)\n\n### Join the room\n\n*Before running the app locally make sure you update the environment file (.env) with the respective REACT_APP_TOKEN_GENERATION_ENDPOINT and REACT_APP_POLICY_CONFIG to avoid parsing error*\n\nVisit the URL : https://localhost:3000/meeting/<room_id>/< role > to join the room\n\n![image](https://user-images.githubusercontent.com/5078656/119534649-c60da000-bda4-11eb-9847-f283e2daa06f.png)\n\nUse any name & Click on join.\n\n## Additional Flags(present in .env file)\n\n### Configure UI layout\n\nDepending on the value of REACT_APP_POLICY_CONFIG in .env, you can customize which roles should be displayed in center stage and which roles should be display in side pane.\n\nThe value of REACT_APP_POLICY_CONFIG should be a JSON stringified object of the structure:\n\n```ts\ntype HMSRoleName = string;\n\n/**\n * undefined means none\n * empty array [] for all roles\n */\ninterface RoleConfig {\n  center?: HMSRoleName[];\n  sidepane?: HMSRoleName[];\n  selfRoleChangeTo?: HMSRoleName[];\n  remoteRoleChangeFor?: HMSRoleName[];\n}\n\ninterface PolicyConfig {\n  [role: string]: RoleConfig;\n}\n```\n\nExample: `REACT_APP_POLICY_CONFIG = \"{\"trainer\":{\"center\": [\"student\"],\"sidepane\":[\"trainer\"]}}\"`\n\nIt is used in the app as:\n\n```js\nconst envPolicyConfig = JSON.parse(process.env.REACT_APP_POLICY_CONFIG || \"{}\");\n```\n\n### Tile Aspect Ratio\n\nREACT_APP_TILE_SHAPE can be used for this, the format is `width-height` e.g.\n`1-1` for square tiles, `4-3` for landscape tiles and `16-9` for wide tiles.\n\n### Env - REACT_APP_THEME\n`dark` - for dark theme\n`light` - for light theme\n\n### Env - REACT_APP_COLOR\nYou can give a hex code the color will be used fo buttons, border audio level and such.\n\n### Playlist Tracks(Watch Party)\n\nThis is a way to play any music or any videos from a url for everyone in the room to see/vibe to together. The support\nis only for file formats which are supported by the native audio and video elements, but it's super cool.\n\n`REACT_APP_AUDIO_PLAYLIST` - a list of audio tracks which can be played by a person in the room for everyone\n`REACT_APP_VIDEO_PLAYLIST` - a list of video tracks which can be played by a person in the room for everyone\n","readmeFilename":"README.md"}