feat: update push and push-status commands (#1481)

* feat(bh): make 'project' and 'domain' required for push command (CMS)

* chore: add OutputFormat type for 'format' parameter for push-status command

* feat: add 'format' parameter for 'push-status'
command

* feat: add 'markdown' to OutputFormat type

* feat: make domain not required for push-status

* refactor: simplify `handlePushStatus` function

* feat: add json format for push-status command

* feat: remove `async` from printPushStatus

* feat: improve printing json summary and exit with error

* feat: add 'format' option to cli push command

* feat: add push metadata to json output

* feat: add return data for push and pushStatus commands

* feat: update push status command

* tests: add new unit tests for push status

* refactor: remove json format for "push" and "push-status" commands

* feat: add "ignore-deployment-failures" option

* chore: replace "satisfies" with "as"

* chore: add changeset

* feat: add onTimeOutExceeded callback

* Apply suggestions from code review

Co-authored-by: Lorna Jane Mitchell <github@lornajane.net>

* Apply suggestions from code review

Co-authored-by: Andrew Tatomyr <andrew.tatomyr@redocly.com>
Co-authored-by: Roman Sainchuk <albuman32@gmail.com>

* chore: update return type for commandHandler

* tests: use expect.rejects instead of catching errors

* feat: rename 'ignore-deployment-failures' to 'continue-on-deployment-failures'

* feat: add onConditionNotMet callback

* tests: add unit tests

* chore: add comments

* refactor: rename "wait" to "pause" and move to utils

* refactor: change import type

* refactor: add explicit array length check

* fix: add correct wrapper type for argv params

* feat: update types for push status API

* chore: add "unit:watch" script to package.json

* test: fix unit tests

* tests: add tests for "onRetry" and "max-execution-time" parameters

* chore: restore museum.yaml

* feat: update API types for PushResponse

* refactor: rename "continue-on-deployment-failures" to "continue-on-deploy-failures"

* feat: update interface for `onRetry` function

* feat: remove "instanceof Promise" check

* refactor: reorder imports

* feat: increase maxExecutionTime to 20 min

---------

Co-authored-by: Lorna Jane Mitchell <github@lornajane.net>
Co-authored-by: Andrew Tatomyr <andrew.tatomyr@redocly.com>
Co-authored-by: Roman Sainchuk <albuman32@gmail.com>
This commit is contained in:
Oleksiy Kachynskyy
2024-04-25 14:42:45 +03:00
committed by GitHub
parent 89af9c6eb2
commit 4cf08db490
15 changed files with 953 additions and 199 deletions

View File

@@ -12,6 +12,7 @@
"test": "npm run typecheck && npm run unit",
"jest": "REDOCLY_TELEMETRY=off jest ./packages",
"unit": "npm run jest -- --coverage --coverageReporters lcov text-summary",
"unit:watch": "REDOCLY_TELEMETRY=off jest --watch",
"coverage:cli": "npm run jest -- --roots packages/cli/src --coverage",
"coverage:core": "npm run jest -- --roots packages/core/src --coverage",
"typecheck": "tsc --noEmit --skipLibCheck",