209 lines
4.8 KiB
JSON
Generated
209 lines
4.8 KiB
JSON
Generated
{
|
|
"tasks": {
|
|
"build": {
|
|
"name": "build",
|
|
"description": "Full release build",
|
|
"steps": [
|
|
{
|
|
"spawn": "default"
|
|
},
|
|
{
|
|
"spawn": "pre-compile"
|
|
},
|
|
{
|
|
"spawn": "compile"
|
|
},
|
|
{
|
|
"spawn": "post-compile"
|
|
},
|
|
{
|
|
"spawn": "test"
|
|
},
|
|
{
|
|
"spawn": "package"
|
|
}
|
|
]
|
|
},
|
|
"bump": {
|
|
"name": "bump",
|
|
"description": "Bumps version based on latest git tag and generates a changelog entry",
|
|
"env": {
|
|
"OUTFILE": "package.json",
|
|
"CHANGELOG": "dist/changelog.md",
|
|
"BUMPFILE": "dist/version.txt",
|
|
"RELEASETAG": "dist/releasetag.txt",
|
|
"RELEASE_TAG_PREFIX": "v"
|
|
},
|
|
"steps": [
|
|
{
|
|
"builtin": "release/bump-version"
|
|
}
|
|
],
|
|
"condition": "! git log --oneline -1 | grep -q \"chore(release):\""
|
|
},
|
|
"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",
|
|
"steps": [
|
|
{
|
|
"exec": "tsc --build"
|
|
}
|
|
]
|
|
},
|
|
"default": {
|
|
"name": "default",
|
|
"description": "Synthesize project files",
|
|
"steps": [
|
|
{
|
|
"exec": "node .projenrc.js"
|
|
}
|
|
]
|
|
},
|
|
"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"
|
|
}
|
|
]
|
|
},
|
|
"package": {
|
|
"name": "package",
|
|
"description": "Creates the distribution package",
|
|
"steps": [
|
|
{
|
|
"exec": "ncc build --source-map --license licenses.txt"
|
|
}
|
|
]
|
|
},
|
|
"post-compile": {
|
|
"name": "post-compile",
|
|
"description": "Runs after successful compilation"
|
|
},
|
|
"pre-compile": {
|
|
"name": "pre-compile",
|
|
"description": "Prepare the project for compilation"
|
|
},
|
|
"release": {
|
|
"name": "release",
|
|
"description": "Prepare a release from \"main\" branch",
|
|
"env": {
|
|
"RELEASE": "true",
|
|
"MAJOR": "2",
|
|
"RELEASE_TAG_PREFIX": "v"
|
|
},
|
|
"steps": [
|
|
{
|
|
"exec": "rm -fr dist"
|
|
},
|
|
{
|
|
"spawn": "bump"
|
|
},
|
|
{
|
|
"spawn": "build"
|
|
},
|
|
{
|
|
"spawn": "unbump"
|
|
},
|
|
{
|
|
"exec": "git diff --ignore-space-at-eol --exit-code"
|
|
}
|
|
]
|
|
},
|
|
"test": {
|
|
"name": "test",
|
|
"description": "Run tests",
|
|
"steps": [
|
|
{
|
|
"exec": "jest --passWithNoTests --all --coverageProvider=v8 --updateSnapshot"
|
|
},
|
|
{
|
|
"spawn": "eslint"
|
|
}
|
|
]
|
|
},
|
|
"test:watch": {
|
|
"name": "test:watch",
|
|
"description": "Run jest in watch mode",
|
|
"steps": [
|
|
{
|
|
"exec": "jest --watch"
|
|
}
|
|
]
|
|
},
|
|
"unbump": {
|
|
"name": "unbump",
|
|
"description": "Restores version to 0.0.0",
|
|
"env": {
|
|
"OUTFILE": "package.json",
|
|
"CHANGELOG": "dist/changelog.md",
|
|
"BUMPFILE": "dist/version.txt",
|
|
"RELEASETAG": "dist/releasetag.txt",
|
|
"RELEASE_TAG_PREFIX": "v"
|
|
},
|
|
"steps": [
|
|
{
|
|
"builtin": "release/reset-version"
|
|
}
|
|
]
|
|
},
|
|
"watch": {
|
|
"name": "watch",
|
|
"description": "Watch & compile in the background",
|
|
"steps": [
|
|
{
|
|
"exec": "tsc --build -w"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"env": {
|
|
"PATH": "$(npx -c \"node -e \\\"console.log(process.env.PATH)\\\"\")"
|
|
},
|
|
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
|
|
}
|