Mopidy.js is a JavaScript library that is installed as a part of Mopidy's HTTP frontend or from npm. The library makes Mopidy's core API available from the browser or a Node.js environment, using JSON-RPC messages over a WebSocket to communicate with Mopidy.
Regular and minified versions of Mopidy.js, ready for use, is installed together with the Mopidy music server. When the HTTP frontend is running, the files are available at:
You may need to adjust hostname and port for your local setup.
In the Mopidy.js source repo, you can find the files at:
dist/mopidy.js
dist/mopidy.min.js
If you want to use Mopidy.js from Node.js instead of a browser, you can install Mopidy.js using npm:
npm install mopidy
After npm completes, you can import Mopidy.js using require()
:
var Mopidy = require("mopidy");
See the Mopidy.js documentation.
-
Install Node.js and npm. If you're running Ubuntu:
sudo apt-get install nodejs-legacy npm
-
Enter the source directory, and install all dependencies:
npm install
That's it.
You can now run the tests:
npm test
To run tests automatically when you save a file:
npm start
To run tests, concatenate, minify the source, and update the JavaScript files
in mopidy/http/data/
:
npm run-script build
To run other grunt targets which isn't predefined in
package.json
and thus isn't available through npm run-script
:
PATH=./node_modules/.bin:$PATH grunt foo
-
Reexport When.js library as
Mopidy.when
, to make it easily available to users of Mopidy.js. (Fixes: #1) -
Default to
wss://
as the WebSocket protocol if the page is hosted onhttps://
. This has no effect if thewebSocketUrl
setting is specified. (Pull request: #2) -
Upgrade dependencies.
- Update links to point to new independent Mopidy.js GitHub project.
- Add support for method calls with by-name arguments. The old calling convention, "by-position-only", is still the default, but this will change in the future. A warning is printed to the console if you don't explicitly select a calling convention. See the docs for details.
-
Upgrade to when.js 3, which brings great performance improvements and better debugging facilities. If you maintain a Mopidy client, you should review the differences between when.js 2 and 3 and the when.js debugging guide.
-
All promise rejection values are now of the Error type. This ensures that all JavaScript VMs will show a useful stack trace if a rejected promise's value is used to throw an exception. To allow catch clauses to handle different errors differently, server side errors are of the type
Mopidy.ServerError
, and connection related errors are of the typeMopidy.ConnectionError
.
-
Backwards incompatible change for Node.js users:
var Mopidy = require('mopidy').Mopidy;
must be changed tovar Mopidy = require('mopidy');
-
Add support for Browserify.
-
Upgrade dependencies.
- Upgrade dependencies.
- Initial release as a Node.js module to the npm registry.