14
Watch
122
Star
31
Fork
11
Issue

The Decentralized Audius.co Client

AudiusProject
AudiusProject
pushedAt 3 hours ago

AudiusProject/audius-client


audius-client

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



CircleCI code style: prettier JavaScript Style Guide

Development

There are 3 environments you can develop against

  • development (local net, see the Audius Protocol)
  • staging (test net)
  • production (main net)

Running

npm install
npm run start:<environment>

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

ucloud ads