- Install Meteor
- Install NVM
nvm install 8.16.1
- Install Yarn
yarn
yarn global add mup@1.4.6
for managing server deploymentsbrew install gpg
for encrypting and decrypting server credentials
-
Launch the development environment:
$ meteor
-
Open a browser to view the app:
$ http://localhost:3000
-
Meteor automatically watches for changes and hot reloads the app.
$ yarn
meteor update --release X.Y.Z
- Update
.nvmrc
with Node version nvm install X.Y.Z
- Update
circle.yml
with Docker container that supports Node version
$ meteor npm run test
$ meteor npm run test-app
$ meteor npm run test-watch
$ meteor npm run test-app-watch
In one terminal:
$ meteor test --full-app --driver-package tmeasday:acceptance-test-driver
In another terminal:
$ ./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()
todescribe.only()
orit()
toit.only()
to only run specific specs.
$ 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
$ meteor --extra-packages bundle-visualizer --production
$ for p in `meteor list | grep '^[a-z]' | awk '{sub(/[+*]$/, "", $2); print $1"@"$2 }'`; do echo "$p"; meteor show "$p" | grep -E '^ [a-z]'; echo; done
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
.