The Decentralized Audius.co Client
π§πΈπΉπ€πΆπ₯π·π»π€π
There are 3 environments you can develop against
- development (local net, see the Audius Protocol)
- staging (test net)
- production (main net)
npm install
npm run start:<environment>
# Bundles static assets into ./build-<environment>
npm run build:<environment>
To run audius-client/web with a local version of @audius/libs run:
- In a separate terminal for
audius-protocol/libs
npm link
npm run dev
This will link @audius/libs, and also run it it dev mode, which will transpiles changes and triggers a hot-reload in web.
- In terminal for
audius-client/web
npm link @audius/libs
Then start the application using the start/build commands above.
To run electron using a static build:
npm run build:<environment>
npm run electron:<environment>
# Or to point at a local service with an optional port specifier
npm run electron:localhost # -- <port>
To build a desktop binary using a static build (outputs to ./dist
):
npm run build:<environment>
# Build all the binaries!!
npm run dist
npm run dist:mac
npm run dist:win
npm run dist:linux
npm run test
npm run analyzeBundle
npm run lint # Show lint errors
npm run lint:fix # Fix lint errors
Audius DApp supports Web Workers by default to perform heavyweight async tasks. In order to include a package dependency for a worker, a scripts exists:
./scripts/publishScripts.sh
that sources JS files from /node_modules and exports a copy to /public/scripts for the worker to pull via ImportScripts. See /src/workers for examples.