e2c83dc
(#318 by @jbolda) Addexports
topackage.json
for improved capability and an enhanced experience when developed covector and testing locally.ce43ad7
(#319 by @jbolda) Add logger instance to allow custom loggers based on the usage context. It enables different structured logs for the CLI vs within a GitHub Action, as well as for local development and testing.
ce43ad7
(#319 by @jbolda) Switch to Vitest for the test runner. This improves speed and enables improved ability to update to current standards. Additionally, we usepino-test
with the changes to the logger to more specifically check log output. Along with this, we switch multiple test fixtures to run commands that would return more standard output across OS which reduces test flakiness.
f5b2e5a
(#306 by @jbolda) The crates.io API endpoint requires a User Agent otherwise it returns a 403. Added agent to the fetch calls.
c413eae
(#279) Allow a command to retry on failure by passing aretries
timeout list with the command.
7b6201c
(#264) Bump Typescript to v4.9, and deeply update types in the lower level functions to start.
- Update multiple devDeps, semver, yargs, inquirer, and packages in our action. This is primarily internal upgrades and don't affect external APIs.
- Remove
execa
as the command runner. We still attempt to handle of some the backward compatibility that can eventually be deprecated (such as the pipe defaulting to using a shell), but it enables more control over how the runner executes commands (or fails the commands). - The exported sh function returns an object instead of a string exposing more detailed information about the command.
- Upgrade to
effection
v2. This is primarily an internal improvement, but will enable future features such as fetching from an endpoint to check if a version of a package was published. It also brings an updated dependency to gracefully shutdown windows processes.
- Include a copy of the license in each package.
- Extract out types into separate package to remove issues with circular dependencies.
- Bump
@effection/node
which fixes and now supports node 16 on Windows. (Other platforms had full support.) - Improve types on generator based shell commands. This won't affect the published assets, but improve use to downstream TS users (and covector).
- This switches to using Typescript project references to build (previously rollup). It should affect the underlying packages or use.
- Pass head branch name into covector for running preview in action Tag gets piped into template in assemble Fix published boolean bug in command
- Mock out full Github Release flow to help in testing the Github Action. Adjust command pipe to function to fix
undefined
being piped to Github Release body.
- Add missing dependencies that likely worked due to hoisting.
- Pull the most recent changelog into the chain of output. This opens up piping it into the Github Release.
- Split up config merge function into two functions, one for version and one for publish, et al. This makes the types easier to reason about.
- Bump effection to stable v1.
- Convert covector to typescript.
- Temporarily use execa to shell for any commands with a pipe,
|
.
- Allow running functions as a command instead of assuming everything runs in a shell. This is mostly for internal use to be used within the Github Action.
- Stream command output instead of waiting for completion. This is particularly helpful when a command hangs unexpectedly (such as when it asks for input in CI).
- Allow multiple publish sequences. Any command beginning with
publish
will invoke the relatedgetPublishedVersion
, e.g.publishNPM
would look for and checkgetPublishedVersionNPM
. This allows separation of concerns and re-run-ability for multiple deploy targets.
- Increase default timeout and allow it to be set from config.
- The
dryRunCommand
strings would never run. Fix that they run in--dry-run
mode. - Allow running commands from the cwd within the config.
- Shift getPublishedVersion check prior to commands running. Without this, postpublished would never run (since packages were just published and are update to date).
- Pull and set git meta information on change files as an array of commits. This can then be piped into changelogs.
- Split out child_process commands into separate package.