@a-source/produce

poly-repo mono builder

Usage no npm install needed!

<script type="module">
  import aSourceProduce from 'https://cdn.skypack.dev/@a-source/produce';
</script>

README

Greenkeeper badge Build Status GitHub license Maintainability Test Coverage dependencies devDependencies Status Known Vulnerabilities

produce

A command-line utility to help you build your microservices from a number of github repositories.

pain point

You have a bunch of repos in different programming languages. You do not want to have a mono-repo. You want to centrally build them.

install

  1. yarn: yarn global add @a-source/produce
  2. npm: npm i -g @a-source/produce

what it does

  1. produce setup - initializes the build system itself
  2. produce init - initializes all the projects
  3. produce tests - runs all the test commands
  4. produce builds - builds all the projects
  5. produce containers - creates all the containers

what it does not do

It hopefully never does any pushing back to github. Or should it?

plans

For now the produce is somehow tested on node projects only. Further on I will test it on rust projects.

SYSTEM.js

The SYSTEM.js contains for now naïve implementation of commands' definitions.

NB

  1. repository field must use https protocol
  2. the test, build, and containerize commands must be defined to at least contain echo OK > /dev/null
module.exports = {
  jsa: {
    repository: 'https://github.com/a-source/JSA.git',
    commands: {
      init: 'yarn',
      test: 'yarn run test',
      build: 'yarn run build',
      containerize: 'yarn run containerize',
    },
  },
  jsb: {
    repository: 'https://github.com/a-source/JSB.git',
    commands: {
      init: 'yarn',
      test: 'yarn run test',
      build: 'yarn run build',
      containerize: 'yarn run containerize',
    },
  },
  jsc: {
    commands: {
      init: 'yarn',
      test: 'yarn run test',
      build: 'yarn run build',
      containerize: 'yarn run containerize',
    },
  },
};