@colabo/cli
v0.10.5
Published
Tools necessary for building Colabo.Space ecosystem
Downloads
53
Readme
Colabo Tools
These are the tools to manage the Colabo.Space ecosystem or other systems that follow Colabo principles of healthy development:
- Code modularization
- Separating modules into independent (as much as possible) components that are possible to install separatelly as npm packages
NOTE: Before installing Colabo.Space ecosystem you need to install Colabo tools as necessary for further installation phases. It is similar with other Colabo-enabled systems.
Install
Standard way of installing the tool is to run:
npm install -g @colabo/cli
After that the colabo tools are available simply by typing colabo
in terminal.
Running
NOTE: Very often colabo tools will be embedded in the build process of the project (for example, in the scripts.prepare
property of the project's package.json
file) and you do not need to deal with them manually.
# Show info of the colabo aspect of the backend part of the project
colabo ../backend/colabo.config.js puzzles-info
# Offer colabo puzzles to the local system
# (basically `npm link` for all puzzles listed as offers in the `colabo.config.js`)
colabo colabo.config.js puzzles-offer
# Help about specific command
colabo puzzles-install -h
# Install inside the project all puzzles required for the project
# (basically `npm link <npm_package_main_id>` for all puzzles listed as dependencies in the `colabo.config.js`)
colabo puzzles-install
# Running current DEV version of the colabo tools
# help
ts-node -P $COLABO/tsconfig.json $COLABO/index.ts puzzles-install -h
# build
ts-node -P $COLABO/tsconfig.json $COLABO/index.ts puzzles-install
Help
To see all available commands, you can run:
colabo --help
To see details on a speciffic commands (for example puzzle-create
), you can run:
colabo puzzle-create --help
Alternatives
Here we are exploring alternatives
Yeoman
# install yo
npm install --global yo
# install a generator
npm install --global generator-webapp
# run it
yo webapp
npm install --save yeoman-environment
var yeoman = require('yeoman-environment');
var env = yeoman.createEnv();
// The #lookup() method will search the user computer for installed generators.
// The search if done from the current working directory.
env.lookup(function () {
env.run('webapp', {'skip-install': true}, function (err) {
console.log('done');
});
});
Other
TODO
Templating
- [x] Exclude files, folders, extensions
Frontend Puzzle creation
- Ask:
- add materialModule.ts?
- add ALL components by default
- ? do something smarter?
- create component? (name)
- create service? (name)
- create module (module.ts)?
- name
- add created components and services? (or add automatically?)
- add materialModule.ts?
- Add
- in
index.ts
add all created components, services and module
- in
Integrating puzzle in an app
- provide puzzle name/path and app name
- integrate the puzzle
- module.ts ino