Skip to content

Latest commit

 

History

History

web


Audius Logo

The Decentralized Audius.co Client
🎧🎸🎹🤘🎶🥁🎷🎻🎤🔊



CircleCI code style: prettier JavaScript Style Guide

Development

There are 3 environments you can develop against

  • dev (local net, see the Audius Protocol)
  • stage (test net)
  • prod (main net)

Running

npm run start:<environment>

When running against a dev environment on a remote machine, enable a network proxy:

networksetup -setautoproxyurl "Wi-Fi" "http://$AUDIUS_REMOTE_DEV_HOST:8080/proxy.pac"

Building

# Bundles static assets into ./build-<environment>
npm run build:<environment>

Electron (Desktop App)

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

Testing

Jest

npm run test

Analyze Webpack Bundle

webpack-bundle-analyzer

npm run analyzeBundle

Linting

StandardJS & Prettier

npm run lint  # Show lint errors
npm run lint:fix  # Fix lint errors

Web Workers

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.

Useful links