GExtend
Simple extend helper module, for Node.js and Browser.
Getting Started
The functionality is quite simple:
const DEFAULTS = port: 9090 url: 'http://localhost'; { let config = ; console;} ;
A simple pattern that I find myself using often:
{ ifconfigautoinitialize this; } { let attributes = 'logger' 'emitter' 'pubsub'; extend; ; /** * This will prevent polluting the * built in console object. */ extend; /** * We could also collapse `unshim` * `only`, and `extend` */ // extend.only(attributes).unshim(config)(this, config); } MyClassDEFAULTS = autoinitialize: true logger: extend;
Development
npm install && bower install
If you need to sudo
the npm
command, you can try to:
sudo chown $(whoami) ~/.npmsudo chown $(whoami) /usr/local/share/npm/binsudo chown -R $(whoami) /usr/local/lib/node_modules
If you bump versions, remember to update:
- package.json
- bower.json
- component.json
- etc.
Bower
Bower is a package manager for the web. It offers a generic, unopinionated solution to the problem of front-end package management, while exposing the package dependency model via an API that can be consumed by a more opinionated build stack. There are no system wide dependencies, no dependencies are shared between different apps, and the dependency tree is flat.
To register gextend in the bower registry:
bower register gextend git://github.com/goliatone/gextend.git
Then, make sure to tag your module:
git tag -a v0.1.0 -m "Initial release."
And push it:
git push --tags
Travis
In order to enable Travis for this specific project, you need to do so on your Travi's profile. Look for the entry goliatone/gextend
, activate, and sync.
Release History
- 2019-08-04: v0.6.0
unshim
returnsextend
object so we can chain. - 2019-08-04: v0.5.0 Add shim/uhshim functions to
extend
object. - 2019-08-04: v0.4.0 Check for functions, overwrite instead of extending them.