Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iron-meteor/iron-cli
A scaffolding command line tool for Meteor applications.
https://github.com/iron-meteor/iron-cli
Last synced: about 2 months ago
JSON representation
A scaffolding command line tool for Meteor applications.
- Host: GitHub
- URL: https://github.com/iron-meteor/iron-cli
- Owner: iron-meteor
- Created: 2014-03-27T19:36:16.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2020-02-03T10:44:06.000Z (over 4 years ago)
- Last Synced: 2024-01-19T16:43:02.237Z (5 months ago)
- Language: JavaScript
- Size: 1.25 MB
- Stars: 641
- Watchers: 35
- Forks: 86
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- Changelog: History.md
Lists
- awesome-meteor - iron-cli - A scaffolding command line tool for Meteor applications. (Scaffolding)
README
# iron
[![Join the chat at https://gitter.im/iron-meteor/iron-cli](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/iron-meteor/iron-cli?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
A command line scaffolding tool for Meteor applications. It automatically
creates project structure, files and boilerplate code.## Installation
Install the iron command line tool globally so you can use it from any project directory.```sh
$ npm install -g iron-meteor
```**This replaces the `em` command line tool.**
You can remove the meteor-em tool like this:
```sh
$ npm uninstall -g meteor-em
```You can upgrade an existing project either by hande or by using the `migrate`
command like this:**./my-app**
```sh
$ iron migrate
```## Usage
Use the `help` command to get a list of the top level commands.```
$ iron help
```Use the `g` command to see a list of generators.
```
$ iron g
```**Run Iron in verbose mode (extended logging)**
```
$ IRON_DEBUG=true iron
```## Directory Structure
The application will have the following directory structure:```sh
my-app/
.iron/
config.json
bin/
build/
config/
development/
env.sh
settings.json
app/
client/
collections/
lib/
stylesheets/
templates/
head.html
lib/
collections/
controllers/
methods.js
routes.js
packages/
private/
public/
server/
collections/
lib/
methods.js
publish.js
bootstrap.js
```## Generators
```sh
$ iron g:scaffold todos
$ iron g:template todos/todo_item
$ iron g:collection todos
$ iron g:route webhooks/stripe --where "server"
$ iron g:controller todos/show_todo
$ iron g:route todos/show_todo --action "show"
$ iron g:publish todos
$ iron g:stylesheet main
$ iron g:package package:name
```## Commands
### Create an Application
```sh
$ iron create my-app
```The following parameters can be specified:
```
--css=css|scss|less
--js=js|coffee|es6
--html=html|jade
--skip-template-css=true|false
--skip-template-js=true|false
--skip-template-html=true|false
--skip-iron-router
--skip-route-controller
--skip-route-template
--skip-generator-comments
```**NOTE**
*Implementing complete customization and configuration is high on the development priority list. See the [Github issue](https://github.com/iron-meteor/iron-cli/issues/53) if you'd like to contribute.*
### Run Your Application
```sh
$ iron run
```This will automatically load your config/development/env.sh and config/development/settings.json files.
### Run the Application with a Different Environment
```sh
$ iron run --env=staging
```This will use the config files in `config/staging` instead.
### Debug Your Application on the Server Side
```sh
$ iron debug
```### Build Your Application
```sh
$ iron build
```### Connect to MongoDB Database
```sh
$ cd app/
$ meteor mongo
```**NOTE**
*Ideally running `iron mongo` in the project directory should work but it doesn't for some reason and is being tracked in issue #136*
## Deployment
### Deploy Your Application with Meteor Up
[Meteor Up](https://github.com/arunoda/meteor-up) is a command line tool to deploy any Meteor app to your own server.#### Configure Meteor Up
The following configuration options are supported in `config.json`:```
"mup": {
"version": "mup" or "mupx",
"environment": "/path/to/environment"
}
```#### Initialize Meteor Up
Use `iron mup` to run Meteor Up commands. To create a `mup.json` file for an environment run:```sh
iron mup --init
```**IMPORTANT**
Your `mup.json` file must contain `"enableUploadProgressBar": false` to work with Iron.
#### Create Meteor Up Server
After [configuring](https://github.com/arunoda/meteor-up/#example-file) `mup.json`, the server can be bootstrapped with a single command:```sh
iron mup --setup
```#### Deploy to Meteor Up Environment
```
'iron mup development' //deploy to development environment
'iron mup dev' // shortcut for development
'iron mup production'
'iron mup prod'
'iron mup '
```### Deploy Your Application on Heroku
Iron projects require buildpacks to look for the app in /app/ in addition to the root for deployments to work. Currently there is a patched version of the Horse buildpack available that is compatible with Iron based projects. Use this fork until the patches has been added to the main Horse repo.```sh
$ heroku config:set BUILDPACK_URL=https://github.com/lirbank/meteor-buildpack-horse.git
```This will build your application and put the resulting bundle into the project's
build folder.## Meteor Commands
Meteor commands will automatically be proxied to the meteor command line tool.## Contributing
Contributions and ideas are welcome.## Tests
To run tests
```sh
npm test
```## License
MIT