A collection of handy plugins for AMD loaders.
These plugins are things we've found useful in our development of large-scale web applications with complex dependencies and configuration. When we converted our codebase to AMD as a module management method, we realized the plugin capability opened a number of doors for application configuration, with the added bonus of built-in cache management by the loader.
The plugin only does simple processing of the $ref values, and does not yet attempt to do full resolution of identifiers such as self reference (#). However, a formatter function can be supplied that manipulates the schema name, so advanced processing or transformation can be done if required.
The properties plugin loads Java-style name=value pair properties files and turns them in the JSON.
This is a plugin to provide helpful utilities for cross-window work. It includes safe (origin restricted) postMessage capability, as well as a shared data store that sits in the topmost window but is accessible to all children (also via postMessage).
Functions exposed are:
- send (message): sends a JSON message to all windows managed by the topmost.
- listen (callback): registers a callback for messages coming from any window managed by topmost.
- unlisten(): unhooks callback for messages.
- set (key, data): sets a data payload in the store, using a key
- get (key, callback): requests a data payload from the store, using a key. Data is handed to callback when ready..
Need to move the require.js file into a lib directory so it is more clear that it is an external dependency.
ECMA5 compatibility is assumed - if you need to use in a legacy browser, consider a shim.
This software is licensed under the Apache 2.0 license (http://www.apache.org/licenses/LICENSE-2.0).