{"_id":"@aelatgt/hubs","_rev":"1-ed77b15ab78643ed00727e078e62acba","name":"@aelatgt/hubs","dist-tags":{"latest":"0.0.1-0"},"versions":{"0.0.1-0":{"name":"@aelatgt/hubs","version":"0.0.1-0","description":"Duck-themed multi-user virtual spaces in WebVR.","main":"src/index.js","license":"MPL-2.0","homepage":"https://github.com/mozilla/hubs#readme","repository":{"type":"git","url":"git+https://github.com/mozilla/hubs.git"},"bugs":{"url":"https://github.com/mozilla/hubs/issues"},"scripts":{"start":"webpack-dev-server --mode=development","build":"rimraf ./dist && webpack --mode=production","bundle-analyzer":"webpack-dev-server --mode=production --env.BUNDLE_ANALYZER","doc":"node ./scripts/doc/build.js","prettier":"prettier --write '*.js' 'src/**/*.js'","lint:js":"eslint '*.js' 'scripts/**/*.js' 'src/**/*.js'","lint:html":"htmlhint 'src/**/*.html' && node scripts/indent-linter.js 'src/**/*.html'","lint":"npm run lint:js && npm run lint:html","login":"node -r @babel/register -r esm -r ./scripts/shim scripts/login.js","logout":"node -r @babel/register -r esm -r ./scripts/shim scripts/logout.js","deploy":"node -r @babel/register -r esm -r ./scripts/shim scripts/deploy.js","undeploy":"node -r @babel/register -r esm -r ./scripts/shim scripts/undeploy.js","test":"npm run lint && npm run test:unit && npm run build","test:unit":"ava","stats":"rimraf ./dist && webpack --mode=production --json","spritesheet":"npm run spritesheet:system-action && npm run spritesheet:system-notice","spritesheet:system-action":"spritesheet-js -f json -p src/assets/images/spritesheets/ --padding 8 --divisibleByTwo -n sprite-system-action-spritesheet --powerOfTwo src/assets/images/sprites/action/*","spritesheet:system-notice":"spritesheet-js -f json -p src/assets/images/spritesheets/ --padding 8 --divisibleByTwo -n sprite-system-notice-spritesheet --powerOfTwo src/assets/images/sprites/notice/*"},"ava":{"files":["./test/unit"],"sources":["src/**/*.js"],"require":["@babel/register","esm"]},"dependencies":{"@fortawesome/fontawesome-svg-core":"^1.2.2","@fortawesome/free-solid-svg-icons":"^5.2.0","@fortawesome/react-fontawesome":"^0.1.0","@mozillareality/three-batch-manager":"^0.1.8","@mozillareality/three-particle-emitter":"^0.2.1","aframe":"github:mozillareality/aframe#hubs/master","aframe-rounded":"^1.0.3","aframe-slice9-component":"^1.0.0","ammo-debug-drawer":"github:infinitelee/ammo-debug-drawer","ammo.js":"github:mozillareality/ammo.js#hubs/master","animejs":"github:mozillareality/anime#hubs/master","buffered-interpolation":"^0.2.5","classnames":"^2.2.5","color":"^3.1.2","copy-to-clipboard":"^3.0.8","dayjs-ext":"^2.2.0","deepmerge":"^2.1.1","detect-browser":"^3.0.1","draft-js":"^0.10.5","draft-js-counter-plugin":"^2.0.1","draft-js-emoji-plugin":"^2.1.1","draft-js-hashtag-plugin":"^2.0.3","draft-js-linkify-plugin":"^2.0.1","draft-js-plugins-editor":"^2.1.1","event-target-shim":"^3.0.1","form-data":"^3.0.0","form-urlencoded":"^2.0.4","history":"^4.7.2","hls.js":"^0.12.2","js-cookie":"^2.2.0","jsonschema":"^1.2.2","jwt-decode":"^2.2.0","markdown-it":"^8.4.2","moving-average":"^1.0.0","naf-janus-adapter":"^3.0.15","networked-aframe":"github:mozillareality/networked-aframe#master","nipplejs":"github:mozillareality/nipplejs#mr-social-client/master","node-ensure":"0.0.0","pdfjs-dist":"^2.1.266","phoenix":"github:gfodor/phoenix-js#master","raven-js":"^3.20.1","react":"^16.1.1","react-dom":"^16.1.1","react-emoji-render":"^0.4.6","react-infinite-scroller":"^1.2.2","react-intl":"^2.4.0","react-linkify":"^0.2.2","react-router":"^4.3.1","react-router-dom":"^4.3.1","screenfull":"^4.0.1","three":"github:mozillareality/three.js#hubs/master","three-ammo":"github:infinitelee/three-ammo#master","three-bmfont-text":"^2.3.0","three-mesh-bvh":"^0.1.2","three-pathfinding":"github:MozillaReality/three-pathfinding#hubs/master2","three-to-ammo":"github:infinitelee/three-to-ammo","uuid":"^3.2.1","webrtc-adapter":"^6.0.2","zip-loader":"^1.1.0"},"devDependencies":{"@babel/core":"^7.3.3","@babel/plugin-proposal-class-properties":"^7.3.3","@babel/plugin-proposal-object-rest-spread":"^7.3.2","@babel/polyfill":"^7.4.4","@babel/preset-env":"^7.3.1","@babel/preset-react":"^7.0.0","@babel/register":"^7.0.0","ava":"^1.4.1","babel-eslint":"^10.0.1","babel-loader":"^8.0.5","babel-plugin-react-intl":"^3.0.1","babel-plugin-transform-react-jsx-img-import":"^0.1.4","copy-webpack-plugin":"^4.5.1","cors":"^2.8.4","css-loader":"^1.0.0","dotenv":"^5.0.1","eslint":"^5.16.0","eslint-config-prettier":"^2.9.0","eslint-plugin-prettier":"^2.6.2","eslint-plugin-react":"^7.10.0","esm":"^3.2.5","fast-plural-rules":"0.0.3","file-loader":"^1.1.10","html-loader":"^0.5.5","html-webpack-plugin":"^3.1.0","htmlhint":"^0.11.0","jsdom":"^15.1.1","localstorage-memory":"^1.0.3","mini-css-extract-plugin":"^0.8.0","ncp":"^2.0.0","node-fetch":"^2.6.0","node-sass":"^4.13.0","ora":"^4.0.2","phoenix-channels":"^1.0.0","prettier":"^1.7.0","raw-loader":"^0.5.1","rimraf":"^2.6.2","sass-loader":"^6.0.7","selfsigned":"^1.10.2","shelljs":"^0.8.1","spritesheet-js":"github:mozillareality/spritesheet.js#hubs/master","style-loader":"^0.20.2","stylelint":"^9.10.1","stylelint-config-recommended-scss":"^3.2.0","stylelint-scss":"^3.5.3","svg-inline-loader":"^0.8.0","tar":"^5.0.5","url-loader":"^1.0.1","webpack":"^4.32.2","webpack-bundle-analyzer":"^3.3.2","webpack-cli":"^3.2.3","webpack-dev-server":"^3.1.14","worker-loader":"^2.0.0"},"gitHead":"798e0e4fdf5aecc8090a82c186851d4d9420c86f","_id":"@aelatgt/hubs@0.0.1-0","_npmVersion":"6.4.1","_nodeVersion":"10.15.2","_npmUser":{"name":"speigg","email":"gheric.speiginer@gmail.com"},"dist":{"integrity":"sha512-9gA4VIyuoM4VAPSj+TCoAxGue7m3JsvZr0N1maawrC1N46VusCXGpGSfEcD+SNmxTekn0MvOK66QzyL+se2j9w==","shasum":"73bb621283c317f4ab777034fdf48621a7614581","tarball":"https://registry.npmjs.org/@aelatgt/hubs/-/hubs-0.0.1-0.tgz","fileCount":888,"unpackedSize":33581255,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOubcCRA9TVsSAnZWagAAD9wP/1H19AQfgZz7fB2FzBUi\nEGHCngslKFBrqFVaXUHkb/apKXsulSrK7scRE1sMeZOXP176ydANf2bSY3VA\n3vSw03XC5mOGRziRrSONnZO5zmV9EsnNo/tHkFDlRVHKDN9dzIdKSLhqRLkF\nPAh+gLM3i12l6OzA4MX0cFF3N1q1IYY9IKf0tFK6WFgwzxf5RKjB42nLxGXk\n25pem+eIsmTs6/eIPJ5Ilm2ubs8ehemmjPcypudrr+Ys/lsiCqfMpVtfJqSg\nrWrNTTEf7MBWF9vucL2Ps9RgXa9MnAyfPGqfshA/lotvL0JbbTNmvzj1HbWE\nBgWw3oI4aulIWXXTjHU/jM53ZyYVVk1dmFkLK8LLpAyH2rXr2nqsZvJvkIAX\nc9Exxf2e/xTeGs2NMP+buKqgzl01lmzjbxLyu8bkamumkPGpLMi+Zs17Pl+g\nPNEgs5j7R69EQQ0FGl4OIZ51jbG40AAUJVmsGgP7G8QAaJPzJIrk/fS5hFQ9\n0sOcuA+dMe7TsQzuefdwG3Oba+qO6CgrPNrZU3Cb9ZcEFKwxqQWVbWsKdhve\nIpf9krZATtWle7zIG1Beu2iWUBt+5qvvYPkcA0hJTnOlCR6ffCe6ipJvPipQ\nKZH+wGpKQFdBs7oLEb8gBhkw/VEnxBRcleYzkdeLWa8n7JDBcsm1v/P5Vxtw\n+JS4\r\n=IwU+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHjQHkzLWxz2ZG5ONxH57uCKDAaCToD8JGsEUeR5zvaAIgZb6oQ05HIad4aqMGcrXiD7gUYaijS7zY7grHfRnv2Pg="}]},"maintainers":[{"name":"speigg","email":"gheric.speiginer@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/hubs_0.0.1-0_1580918490459_0.13902617170832077"},"_hasShrinkwrap":false}},"time":{"created":"2020-02-05T16:01:30.041Z","0.0.1-0":"2020-02-05T16:01:31.242Z","modified":"2022-04-04T11:47:27.307Z"},"maintainers":[{"name":"speigg","email":"gheric.speiginer@gmail.com"}],"description":"Duck-themed multi-user virtual spaces in WebVR.","homepage":"https://github.com/mozilla/hubs#readme","repository":{"type":"git","url":"git+https://github.com/mozilla/hubs.git"},"bugs":{"url":"https://github.com/mozilla/hubs/issues"},"license":"MPL-2.0","readme":"[![Build Status](https://travis-ci.org/mozilla/hubs.svg?branch=master)](https://travis-ci.org/mozilla/hubs)\n\nThe client-side code for https://hubs.mozilla.com/, a multi-user experience in WebVR. Built with\n[A-Frame](https://github.com/aframevr/aframe/).\n\n## Getting Started\n\nTo run the client, run:\n\n```sh\ngit clone https://github.com/mozilla/hubs.git\ncd hubs\nnpm ci\nnpm start\n```\n\nThen visit https://localhost:8080 (note: HTTPS is required)\n\nNote: When running the Hubs client locally, you will still connect to the development versions of our [Janus WebRTC](https://github.com/mozilla/janus-plugin-sfu) and [reticulum](https://github.com/mozilla/reticulum) servers. \n\n## Building Static Files\n\nTo bundle javascript and generate the html templates, run:\n\n```sh\nnpm run build\n```\n\n## Sharing Your Changes\n\nWhen running a local copy of Hubs as-is, you'll use Mozilla's \"dev\" Reticulm and Janus servers\nfor storing your room information and relaying messages between users in the room.\n\nThis also means you can upload a modified copy of Hubs to a hosting provider as-is, and use it\nwithout having to set up your own servers. Simply run:\n\n```\nnpm run build\n```\n\nand then upload the files in the `dist` folder to your hosting provider.\n\nIf you are running your own servers, you can modify the environment variable\n`RETICULUM_SERVER` when building to point Hubs to your own infrastructure.\n\nSee `.env.defaults` for the full set of environment variables that can modify\nHubs' behavior at build time.\n\n## hubs.local Host Entry\n\nWhen running the full stack for Hubs (which includes [Reticulum](https://github.com/mozilla/reticulum))\nlocally it is necessary to add a `hosts` entry pointing `hubs.local` to your local server's IP.\nThis will allow the CSP checks to pass that are served up by Reticulum so you can test the whole app. Note that you must also laod hubs.local over https.\n\n## Query Params\n\n- `allow_multi` - Allow multiple instances off the app in the same browser session\n- `allow_idle` - Disable the idle detector timeout\n- `idle_timeout` - Idle timeout in seconds\n- `avatar_scale` - Scale your self!\n- `quality` - Either \"low\" or \"high\". Force assets to a certain quality level\n- `mobile` - Force mobile mode\n- `no_stats` - Disable performance stats\n- `vr_entry_type` - Either \"2d\", \"vr\", or \"daydream\". Used internally to force a VR entry type. Add \"_now\" to the end of the value to skip the audio check.\n- `disable_telemetry` - If `true` disables Sentry telemetry.\n- `log_filter` - A `debug` style filter for setting the logging level.\n- `debug` - If `true` performs verbose logging of Janus and NAF traffic. Also enables debug mode on the physics system.\n- `vrstats` - If `true` shows stats in VR.\n- `debug_log` - If `true`, enables an on-screen debug log and console. Useful for debugging on mobile devices.\n- `userinput_debug` - If `true`, enables an on-screen userinput debug status panel. Press \"L\" on your keyboard to show the panel.\n- `thirdPerson` - Enables experimental third person mode.\n\n## Additional Resources\n\n* [Reticulum](https://github.com/mozilla/reticulum) - Phoenix-based backend for managing state and presence.\n* [NAF Janus Adapter](https://github.com/mozilla/naf-janus-adapter) - A [Networked A-Frame](https://github.com/networked-aframe) adapter for the Janus SFU service.\n* [Janus Gateway](https://github.com/meetecho/janus-gateway) - A WebRTC proxy used for centralizing network traffic in this client.\n* [Janus SFU Plugin](https://github.com/mozilla/janus-plugin-sfu) - Plugins for Janus which enables it to act as a SFU.\n* [Hubs-Ops](https://github.com/mozilla/hubs-ops) - Infrastructure as code + management tools for running necessary backend services on AWS.\n","readmeFilename":"README.md"}