<DELETE THIS SECTION (FOR YOUR EYES ONLY!)
<If you have created this application using both amplify and git you will:
<1. Have 3 environments (master, test, dev)
<2. Each environment has a branch associated with it (master, test, dev)
<3. They are synchronized and currently using the default aws profile
<4. You can switch between environments using applify switch <env name>
<5. You can push and pull changes between environments using applify push/pull <env name>
<6. You can add amplify resources using standard amplify syntax
<7. You can publish your app using standard amplify syntax
<8. Standard amplify syntax look like amplify add auth or amplify publish
β‘ some brand new app
Β
π Read the Quick Start Guide
π Try it out
π₯ Current status: Alpha
π Roadmap
Β
- Security
- Background
- Install
- Usage
- Multi Environment Support
- Build & Package
- Dev Tools
- ESLint
- Testing
- Contributing
- App Configuration
- Documentation
- Maintainers
- Under The Hood
- Disclaimer
- License
Unauthorised access to this repository, any of its contents is prohibited. Permission must be explicitly given from a maintainer.
Do not copy or share this repository, its url, or any of its downloadable content unless specified by the license.
Please refer to the LICENSE
Clone the repo and install dependencies:
Caveat - requires node version >= 10, use:
nvm use 10
Make sure to use the latest version of npm:
npm i -g npm
Note: If you upgrade from previous versions of node or npm you may have to clear out your
node_modulesand the npm caches:rm -rf node_modules npm cache clean --force
git clone git@github.com:nickmanks/applify.git
cd applify
npm ci
npx runTo start the application in your development environment:
npx runThis will run both
webpackandstorybookservers. Application can be viewed onlocalhost:8080Storybook stories can be view onlocalhost:8000
This runs webpack's dev server with live reloading enabled. You can find it's configuration in webpack.config.babel.js.
Note: If you need to start a dev server supporting all production browsers
please run npx run config --node-env=production.
to switch environments:
applify switch <branch-name>to push environments:
applify pushto pull environments:
applify pullTo run a build use:
npx run buildThis will run a production build.
Check out some useful tools for development:
If for some odd reason, eslint does not work, you can add the node_modules/.bin to your path:
export PATH="$PATH:./node_modules/.bin"Before committing and pushing code you should run the full suite of tests. This includes linting with config from .eslintrc, and running the unit-test using jest with config from jest.config.json:
npx run testYou will find code coverage results in build/cov including a HTML report:
open ./build/cov/lcov-report/index.htmlNOTE: The next two are only for debugging. You must run the full test suite (as described above) before committing/pushing to origin.
npm run jest -- --verbose=false --collectCoverage=false --runInBand=false --cache=truenpm run jest -- --verbose=false --collectCoverage=false --runInBand=false --cache=true FULL_FILE_PATHwhere FULL_FILE_PATH is the path from the root to the test (e.g. - src/app/reducer.test.js)
NOTE: that if you are running on Windows, you have to specify double slashes for the path (e.g. - src\app\reducer.test.js).
npm run jest -- --verbose=false --collectCoverage=false --runInBand=false --cache=true src\app\reducer.test.jsPull requests and commits follow commitizen conventional commit guidelines.
npx git-czIt is reccommended to use the
applify pushandapplify pullcommands for updating environments, these will automate the git and amplify workflows and keep them in sync.
To run the local documentation generator and view the project documentation run:
npx run docsThis will build your code documentation (using JSDoc). Once started, you can view the docs at http://localhost:3000
Small note: If editing the README, please conform to the standard-readme specification.
Any use of this software by any person will incur no liability on the owner of this software.
