AWS CLI - maybe For deploying application.
- Alternative
.gitignore
with.env.dev
storing keys. - Prod will have keys stored in Secrets.
VSCode - For IDE with Typescript.
Build an application with typescript. Learn Typescript
Learning
- Primatives
- Iterators
- Logic
- Comperators
Small Application - Interact with the Node lib
Command Line Application - Build a simple CLI app with Gluegun
- Use Gluegun
Simple Website - Render HTML with express.
Complex Website - Render HTML with Gatsby
Accomplished using Github Actions for free.
secrets
SLACK_WEBHOOK - this is for semantic-release to notify Slack.
TRILOM_BOT_TOKEN - this is because some GH Actions require a non-action token to trigger certain sub-actions.
NPM_TOKEN - this is a token to release our package to NPM.
.github/workflows/pr.yaml
will run.
This will:
build
- with yarn as a packager and tsc as a compilertest
- with jest using ts-jest as the preprocessor and jest-circus as a testRunner.lint
- with eslint using action-eslint this will lint and comment back to the PR if problems and not a fork.format
- with prettier and push back lint fixes if not a fork.
.github/workflows/release.yaml
will run if branch is master, next, alpha, or beta
.
This will:
build
- with yarn as a packager and tsc as a compilertest
- with jest using ts-jest as the preprocessor and jest-circus as a testRunner.release
- with semantic-release if triggered by:fix
(1.0.X) - addingfix:
orfix(page): your message
to a git commit messagefeat
(1.X.0) - addingfeat:
orfeat(thing): your message
to a git commit messageperf BREAKING CHANGE
(X.0.1) - addingperf:
orperf(change): your message
to git commit message orBREAKING CHANGE:
to the git body Github Action to runyarn deploy --prod
this will deploy to prod.yarn deploy
will deploy a dev environment to your current AWS account.- Semantic release will use:
- @semantic-release/commit-analyzer to parse commits.
- @semantic-release/release-notes-generator to generate release notes.
- semantic-release-slack-bot to notify slack.
- @semantic-release/changelog to create a changelog.
- @semantic-release/npm to release to NPM
- @semantic-release/github to release to Github
- @semantic-release/git to push release commit.
- After semantic release,
deploy
will to deploy the application to AWS using CDK.
React/Gatsby