Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gobengo/easyxdm-npm
https://github.com/oyvindkinsey/easyXDM but built for npm and CommonJS
https://github.com/gobengo/easyxdm-npm
Last synced: 7 days ago
JSON representation
https://github.com/oyvindkinsey/easyXDM but built for npm and CommonJS
- Host: GitHub
- URL: https://github.com/gobengo/easyxdm-npm
- Owner: gobengo
- Created: 2014-11-25T05:28:22.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2016-01-31T17:24:24.000Z (almost 9 years ago)
- Last Synced: 2024-11-02T00:42:04.593Z (14 days ago)
- Language: JavaScript
- Size: 145 KB
- Stars: 6
- Watchers: 2
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# easyxdm-npm
This project hosts a CommonJS-compatible version of [easyXDM](https://github.com/oyvindkinsey/easyXDM) that can easily be rebuilt with `make`.
The official repo includes a version of easyXDM that is not CommonJS-compatible and always defines `window.easyXDM`. The one built here should never define a global.
## Example
```javascript
var easyxdm = require('easyxdm');
var iframeRpc = new easyxdm.Rpc({
remote: apiHost + "/easyxdm.html"
},
{
remote: {
request: {}
}
});
```## Debugging
EasyXDM comes with a 'debug' mode which console.logs (or a window.opened log in IE9) a lot of what's going on as it passes messages around. To use this mode, `var easyxdm = require('easyxdm/debug')`.
## make
The default `make` target in the Makefile is `build`. Build does a few things:
1. Parse the version from this package.json, assume that this is the version of easyXDM that should get built.
* You can override this by setting the `VERSION` environment variable before running make. e.g. `make VERSION='2.14.9'`.
2. Clone the tag with that version string from [the canonical easyXDM repo](https://github.com/oyvindkinsey/easyXDM) into /easyXDM/
3. Concatenate all the JavaScript files that make up easyXDM. (if these get stale, consult the main repo's [build.xml](https://github.com/oyvindkinsey/easyXDM/blob/master/build.xml#L46))
4. Use `sed` to insert the version number.
5. Output to lib/easyXDM.js
* The 'main' module of this package is 'lib/easyXDM.js', so node and browserify should look there.## Use it node
Requiring this module will throw an Error if the following globals are not defined: `window`, `document`, `location`. Browserify does this for you. If, for some reason, you need to require this module in vanilla node, you can use [jsdom](http://npm.im/jsdom):
```javascript
var document = require('jsdom').jsdom();
var window = document.parentWindow;
var location = window.location;
var easyxdm = require('easyxdm');
```