autoloader
This module is an extension of the awesome autoRequire module. It provides some syntactical sugar and segregation of production and development environments.
Not all npm modules are capable of being autoloaded, as such this module hooks into global variable: exModules
for compatibility exclusion.
Primary benefit is to avoid 10-15 lines of require
and const
declarations in every file across a project.
Deployment
Quickstart overview of getting autoloader deployed.
Installing
npm i -P @tayloredtechnology/autoloader
Examples
# Initial Setup
loader = require('autoLoader')
loader.init({aliases: {sh: 'shelljs'}, exModules: ['per-env']}
global.autoLoader = loader.general
# Production module:
$ = autoLoader('js-yaml')
# or
$ = autoLoader(['js-yaml', 'shelljs'])
# Using
$.jsYaml()
aliases can also be supplied
$ = autoLoader('shelljs', {sh: 'shelljs'})
# both are available for use
$.shelljs()
$.sh()
Development
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Prerequisites
- Node 6.12.x or higher (LTS when development commenced)
-
OneFlow CLI tool available in the repo, suggest using a global install with
npm i -g @tayloredtechnology/oneflow
for convenince - RedRun - optional but suggested
Installing
A step by step series of examples that tell you how to get a development env running
git clone git@github.com:TayloredTechnology/autoloader.git
cd autoloader
npm install
Running the tests
TAP is used for all tests
# Execute all application tests
npm test
Code Coverage is provided by CodeCov.
And coding style tests
XO is used with Prettier for linting & code style.
npm run lint
Built With
Contributing
Please read CONTRIBUTING.md for the process for submitting pull requests to us. All contributors agree to follow and abide by this project's Code of Merit (Conduct).
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Keidrych Anton-Oates - Initial work - Taylored Technology
See also the list of contributors who participated in this project.
License
This project is licensed under the Mozilla Public License Version 2.0 - see the LICENSE file for details
Acknowledgments
- NPM Community for consistenly making packages that accelerate development work
- Test Anything Protocol for consistenly accelerating Feature Driven Design