{ "tasks": { "build": { "name": "build", "description": "Full release build", "steps": [ { "spawn": "default" }, { "spawn": "pre-compile" }, { "spawn": "compile" }, { "spawn": "post-compile" }, { "spawn": "test" }, { "spawn": "package" } ] }, "bundle": { "name": "bundle", "description": "Prepare assets" }, "clobber": { "name": "clobber", "description": "hard resets to HEAD of origin and cleans the local repo", "env": { "BRANCH": "$(git branch --show-current)" }, "steps": [ { "exec": "git checkout -b scratch", "name": "save current HEAD in \"scratch\" branch" }, { "exec": "git checkout $BRANCH" }, { "exec": "git fetch origin", "name": "fetch latest changes from origin" }, { "exec": "git reset --hard origin/$BRANCH", "name": "hard reset to origin commit" }, { "exec": "git clean -fdx", "name": "clean all untracked files" }, { "say": "ready to rock! (unpushed commits are under the \"scratch\" branch)" } ], "condition": "git diff --exit-code > /dev/null" }, "compile": { "name": "compile", "description": "Only compile" }, "default": { "name": "default", "description": "Synthesize project files", "steps": [ { "exec": "node .projenrc.js" } ] }, "deploy": { "name": "deploy", "description": "Deploys your CDK app to the AWS cloud", "steps": [ { "exec": "cdk deploy", "receiveArgs": true } ] }, "destroy": { "name": "destroy", "description": "Destroys your cdk app in the AWS cloud", "steps": [ { "exec": "cdk destroy", "receiveArgs": true } ] }, "diff": { "name": "diff", "description": "Diffs the currently deployed app against your code", "steps": [ { "exec": "cdk diff" } ] }, "eject": { "name": "eject", "description": "Remove projen from the project", "env": { "PROJEN_EJECTING": "true" }, "steps": [ { "spawn": "default" } ] }, "eslint": { "name": "eslint", "description": "Runs eslint against the codebase", "steps": [ { "exec": "eslint --ext .ts,.tsx --fix --no-error-on-unmatched-pattern src test build-tools .projenrc.js" } ] }, "install": { "name": "install", "description": "Install project dependencies and update lockfile (non-frozen)", "steps": [ { "exec": "yarn install --check-files" } ] }, "install:ci": { "name": "install:ci", "description": "Install project dependencies using frozen lockfile", "steps": [ { "exec": "yarn install --check-files --frozen-lockfile" } ] }, "package": { "name": "package", "description": "Creates the distribution package" }, "post-compile": { "name": "post-compile", "description": "Runs after successful compilation", "steps": [ { "spawn": "synth:silent" } ] }, "post-upgrade": { "name": "post-upgrade", "description": "Runs after upgrading dependencies" }, "pre-compile": { "name": "pre-compile", "description": "Prepare the project for compilation" }, "synth": { "name": "synth", "description": "Synthesizes your cdk app into cdk.out", "steps": [ { "exec": "cdk synth" } ] }, "synth:silent": { "name": "synth:silent", "description": "Synthesizes your cdk app into cdk.out and suppresses the template in stdout (part of \"yarn build\")", "steps": [ { "exec": "cdk synth -q" } ] }, "test": { "name": "test", "description": "Run tests", "steps": [ { "exec": "jest --passWithNoTests --updateSnapshot", "receiveArgs": true }, { "spawn": "eslint" } ] }, "test:watch": { "name": "test:watch", "description": "Run jest in watch mode", "steps": [ { "exec": "jest --watch" } ] }, "upgrade": { "name": "upgrade", "description": "upgrade dependencies", "env": { "CI": "0" }, "steps": [ { "exec": "yarn upgrade npm-check-updates" }, { "exec": "npm-check-updates --dep dev --upgrade --target=minor" }, { "exec": "npm-check-updates --dep optional --upgrade --target=minor" }, { "exec": "npm-check-updates --dep peer --upgrade --target=minor" }, { "exec": "npm-check-updates --dep prod --upgrade --target=minor" }, { "exec": "npm-check-updates --dep bundle --upgrade --target=minor" }, { "exec": "yarn install --check-files" }, { "exec": "yarn upgrade" }, { "exec": "npx projen" }, { "spawn": "post-upgrade" } ] }, "watch": { "name": "watch", "description": "Watches changes in your source code and rebuilds and deploys to the current account", "steps": [ { "exec": "cdk deploy --hotswap" }, { "exec": "cdk watch" } ] } }, "env": { "PATH": "$(npx -c \"node -e \\\"console.log(process.env.PATH)\\\"\")" }, "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." }