๐Ÿ“ฆ jbolda / covector

Transparent and flexible change management for publishing packages and assets.

โ˜… 86 stars โ‘‚ 13 forks ๐Ÿ‘ 86 watching โš–๏ธ Apache License 2.0
hacktoberfestmonorepopackage-managementpolyglot
๐Ÿ“ฅ Clone https://github.com/jbolda/covector.git
HTTPS git clone https://github.com/jbolda/covector.git
SSH git clone git@github.com:jbolda/covector.git
CLI gh repo clone jbolda/covector
github-actions[bot] github-actions[bot] publish new versions (#359) f9e6c8d 1 years ago ๐Ÿ“ History
๐Ÿ“‚ main View all commits โ†’
๐Ÿ“ __fixtures__
๐Ÿ“ .changes
๐Ÿ“ .github
๐Ÿ“ .scripts
๐Ÿ“ helpers
๐Ÿ“ packages
๐Ÿ“„ .gitattributes
๐Ÿ“„ .gitignore
๐Ÿ“„ Cargo.lock
๐Ÿ“„ Cargo.toml
๐Ÿ“„ CODE_OF_CONDUCT.md
๐Ÿ“„ CONTRIBUTING.md
๐Ÿ“„ LICENSE
๐Ÿ“„ package-lock.json
๐Ÿ“„ package.json
๐Ÿ“„ README.md
๐Ÿ“„ tsconfig.base.json
๐Ÿ“„ README.md

covector

Transparent and flexible change management for publishing packages and assets. Publish and deploy from a single asset repository, monorepos, and even multi-language repositories.

Docs

The documentation can be found in the main covector folder. It is placed there that it will be packaged when publishing to npm.

Packages

Below is a list of all of the packages within this repository. The usage and docs are in the main covector folder.

packageversionchangelog
covectornpm./packages/covector/CHANGELOG.md
actiongit tag, e.g. v0./packages/action/CHANGELOG.md
@covector/applynpm./packages/apply/CHANGELOG.md
@covector/assemblenpm./packages/assemble/CHANGELOG.md
@covector/changelognpm./packages/changelog/CHANGELOG.md
@covector/commandnpm./packages/command/CHANGELOG.md
@covector/filesnpm./packages/files/CHANGELOG.md

Prior Art

We drew on inspiration from changesets which specifically focuses on the npm ecosystem with the expectation to publish to npmjs.com. We had a need for much greater flexibility, primarily around additional languages, which changesets wasn't looking to handle. You may notice some similarities around the markdown based change files, and it begins to diverge from there. Since we started the codebase from scratch, it also opened the door for incredibly flexible and unique publishing schemes, deep changelogs, and the ability to publish to any "target" with any "asset" (such as publishing a website, a github action or a vscode extension even!).

Below we other alternatives that we know about or had considered. Some of these have been released after since covector was created. There are also a fair number in the conventional commit ecosystem. If you feel that covector is not the library for your use case, one of these might be.