- Install Meteor
- (optional) Install ESLint packages
-
Launch the development environment:
$ (cd app; meteor)
-
Open a browser to view the app:
$ http://localhost:3000
-
Meteor automatically watches for changes and hot reloads the app.
After installing NPM packages, make sure to run shrinkwrap
and shrinkpack
to freeze versions.
$ (cd app; meteor npm shrinkwrap --dev; shrinkpack)
$ (cd app; meteor test)
$ (cd app; meteor npm run test-watch)
$ (cd app; meteor npm run test-app-watch)
$ (cd app; COVERAGE=1 COVERAGE_VERBOSE=1 COVERAGE_APP_FOLDER=${PWD/#$HOME/~}/ meteor test --driver-package practicalmeteor:mocha)
$ http://localhost:3000
In browser console, run Meteor.sendCoverage(function(stats,err) { console.log(stats,err);});
to capture client coverage.
In one terminal:
$ (cd app; meteor test --full-app --driver-package tmeasday:acceptance-test-driver)
In another terminal:
$ (cd app; ./tests/acceptance_run)
We run these in two separate terminals so the acceptance tests don't wipe out the dev database.
Running Flow check
$ flow check --all
Note that Flow doesn't yet support TypeScript declarations so it will complain about a bunch of Meteor global variables.
- Change
describe()
tofdescribe()
orit()
tofit()
to only run specific specs.
$ (cd app; meteor shell)
Open app in the browser and press Control + M. See Mongol documentation for more.
$ http://stackoverflow.com/questions/22020580/how-to-connect-mongodb-clients-to-local-meteor-mongodb
Migrations are done with percolate:migrations.
CircleCI automatically does this when tests pass.
If a change to .deploy/production/mup.js
is needed, make sure to run gpg -c mup.js
and commit the updated mup.js.gpg
.