Skip to content

FreeAllMedia/conan

Repository files navigation

npm version license type npm downloads Source: ECMAScript 6 Build Status Coverage Status Code Climate bitHound Score Dependency Status Dev Dependency Status node 5.x.x node 4.x.x node 0.12.x node 0.11.x node 0.10.x iojs 2.x.x iojs 1.x.x

Conan: The Deployer

Conan.js is a framework for developing barbarically simple, unobtrusive deployment systems of any kind. Its plugin-based architecture helps to break down complex deployment strategies into simple steps which can be run one after the other or in parallel.

The codebase is 100% tested on a continuous integration, quality control, and dependency management platform to protect against errors and bugs, and to make integration of new features as seamless as possible.

Usage / Available Plugins

Conan.js doesn't do anything itself except load plugins and provide a framework for developing deployment systems. Instructions for each plugin are available on their homepages:

  • AWS Lambda
    • Deploy lambdas to AWS without changing the way you code.
    • Simplify lambda development and testing with class-based lambdas.
  • AWS API Gateway
    • Easily deploy complicated APIs which route to your lambdas just the way you
    • Refer to Lambdas by name; no need to fumble with Amazon Resource Names.

Writing Custom Plugins

Additional Plugins

  • More plugins will become available as time and developers become available to join the project.
  • Please contact our team lead by clicking here to discuss expedition of any plugins or features.

Dev Team Roadmap

  1. Refactor the steps system to use classes instead of functions, for easier testing, portability, and reusability.
  2. Improve documentation for plugin developers.
  3. Introduce a command line component system so that plugins can get automatic CLIs.

Changelog

See the releases page for a changelog.

How To Contribute

To contribute to the core Conan.js repository, you will need a firm understanding of:

  • behavior-driven-development
  • linting with eslint
  • babel & transpiling

In order for a pull request to be accepted:

  • All tests must pass.
  • All tests must be meaningful.
  • There must be 100% coverage for