webamp/packages/webamp
2021-06-08 17:07:14 -07:00
..
assets/skins Move non-base skins into demo directory 2020-07-04 11:21:20 -07:00
config Don't minify non-minified bundle 2020-12-22 18:29:43 -08:00
css Upgrade prettier 2021-05-30 14:19:34 -07:00
demo Upgrade prettier 2021-05-30 14:19:34 -07:00
docs Update press.md 2021-04-19 08:50:22 -07:00
js Improve touch handling 2021-06-08 16:48:41 -07:00
presets Start adopting Yarn workspaces (#985) 2020-05-17 22:12:17 -07:00
scripts Move non-base skins into demo directory 2020-07-04 11:21:20 -07:00
.babelrc React 17 (#1030) 2020-11-02 20:40:17 -08:00
.eslintignore Move tweetBot to its own package 2020-05-17 22:21:00 -07:00
.eslintrc React 17 (#1030) 2020-11-02 20:40:17 -08:00
.gitignore Start adopting Yarn workspaces (#985) 2020-05-17 22:12:17 -07:00
.prettierignore Start adopting Yarn workspaces (#985) 2020-05-17 22:12:17 -07:00
CHANGELOG.md Document touch event changes 2021-06-08 17:07:14 -07:00
index.d.ts Add close method to public types 2020-11-26 13:36:29 -08:00
jest-puppeteer.config.js Fix skin path in itegration tests 2020-08-28 07:27:34 -07:00
package.json Upgrade prettier 2021-05-30 14:19:34 -07:00
README.md Add new README for the NPM module specifically 2021-01-04 17:14:14 -08:00
static.d.ts Start adopting Yarn workspaces (#985) 2020-05-17 22:12:17 -07:00
tsconfig.json Move skin stuff to their own packages 2020-05-17 22:24:35 -07:00

Webamp NPM Module

Development

I do most development by starting the demo site in dev mode and iterating that way. The following commands will install all dependencies, run an initial development build and then start a local server. Every time you save a file, it will rebuild the bundle and automatically refresh the page.

# First clone the repo, then...
cd webamp
# Change into the NPM module's sub directory
cd packages/webamp
# __Note:__ Please use yarn over npm, since yarn will respect our `yarn.lock` file
yarn install
yarn start

http://localhost:8080/ should automatically open in your browser.

# Run tests and lint checks
yarn test

Building

The NPM module is built separately from the demo site. To build it run:

yarn run build-library

This will write files to ./built.

Testing

yarn test

This will run the tests the linter and the type checker.

To update snapshots run

yarn test -u

Reference

Predecessors

  • Webamp2x An impressive implementation from 2002(!).
  • JsAmp An implementation from 2005 by @twm (via Hacker News).
  • LlamaCloud Comp From 2011 by Lee Martin (via Twitter)
  • Winamp em HTML5 e Javascript In 2010 a developer named Danilo posted one of his HTML5 experiments: "an audio player simulating good old Winamp". You will have to download the zip file.
  • JuicyDrop An HTML5 implementation with less emphasis on being true to the skin, but fully featured visualizations. @cggaurav is keeping it alive on GitHub
  • Spotiamp The folks at Spotify reimplemented Winamp as a frontend for Spotify. Not in a browser, and only runs on Windows. It has since been discontinued.