Release It! π
large-monorepo
Release It! π | large-monorepo | |
---|---|---|
9 | 12 | |
7,551 | 415 | |
1.3% | - | |
8.3 | 4.2 | |
9 days ago | 2 months ago | |
JavaScript | TypeScript | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Release It! π
-
Nx - Highlights of 2023
Open source libraries and frameworks share a common necessity: the need to develop multiple packages cohesively and efficiently while managing their versioning and publishing to NPM. Nx has emerged as a go-to choice for handling such open source monorepos (as we'll explore further in the next section of this blog post). Until recently, one area Nx did not address directly was versioning and release management. Traditionally, this gap has been filled with tools like release-it, changesets, or custom Node scripts, similar to our approach in the Nx repository.
- automatic changelog generation with CI
-
How does the typescript-eslint project generate its changelogs?
Hi. I'm maintaining a small monorepo and I'd like to learn techniques from large, mature projects like typescript-eslint. I assume they automate changelogs from commit logs and/or PRs, but I can't figure out how they do it by looking at their source code. I do know of tools like release-it that helps automate the process; do the typescript-eslint maintainers use such a tool, or use a homegrown one?
-
Quickly start developing your own npm package library with NestJS.
This is a quick start guide for setting up a NestJS project for creating your own package library with automated versioning and package publishing. https://github.com/Emgevorgyan/nestjs-package-quick-start
-
Package Publishing Reading & Resources
Release It! - This seems promising. A CLI tool that can be used in interactive or continuous integration mode. The big appeal for me is a Yarn workspaces specific plugin.
-
Monorepo is so frustrating...
Fine, but I need a package release tool and release-it tools looks good. I install, configure and on the last step - publishing - I find out that this lib does not support monorepo... https://github.com/release-it/release-it/issues/831 and the release-it-yarn-workspaces lib does not support the latest version of release-it https://github.com/rwjblue/release-it-yarn-workspaces/issues/68
-
My ideal Rust workflow
May be less relevant for your particular workflow (because npm-specific and because everything is internal for you), but Iβm a big fan of an alternative in the auto-release-generation space: the combo of release-it and release-it-lerna-changelog, which give you the same kind of automation but donβt require specific git commit messages, because instead the combo uses the GH API and labels to generate the changelog. This is a muuuuuch nicer experience for external contributors, because it puts the responsibility for that back on maintainers instead.
-
DynamoDB GUI with Electron, React & Typescript
Release It - To create tags, bump the versions, manage release betas and detect merged changes.
-
Writing a High Quality README! π₯
Release It
large-monorepo
-
Monorepos - Why Speed Matters
The Nx daemon has seen significant enhancements, notably through the use of Rust to calculate file hashes behind the scenes. This improvement not only speeds up the start-up times but also optimizes performance even without the daemon, especially on CI environments where the daemon isn't used. The benchmark results at this repo showcase the remarkable speed improvements, making Nx competitive with native code solutions while maintaining the accessibility and flexibility of Node.js. Nx is still Node-first, so contributions are easier and only the most performance-critical parts of Nx are native code.
-
Nx - Highlights of 2023
At Nx, weβve heavily embraced Typescript from the beginning and weβve been very happy with that decision. Nx also stands as the fastest JS monorepo tool available, demonstrating that adopting TypeScript does not necessarily compromise speed. However, we don't stop here. To push the boundaries further, we started to rewrite the most performance critical and computationally intensive parts of the Nx core in Rust.
-
Nx 16.5 Release!!
You can see our results and the details of the benchmark - and even run the benchmarks for yourself in this repo.
-
Nx 15.8 - Rust Hasher, Nx Console for IntelliJ, Deno, Node and Storybook
Performance is at the core of what we do at Nx. Hence it isn't surprising that Nx is the fastest JS-based monorepo solution out there. We've shown that a couple of times. But every millisecond counts! As such, we decided to experiment with Rust to see whether we could further optimize our project graph creation as well as the hasher function that is used for the computation cache.
-
Reflecting on 2022 - The Year in Review
Speed - we drastically improved the speed of Nx, making it the fastest monorepo solution in the frontend space.
-
Lerna reborn - What's new in v6?
Up until Lerna v4, either the p-map or p-queue npm packages have been used to delegate the task scheduling. With v5.1 we introduced nx as an additional mechanism to schedule tasks. The advantage? Nx has caching built-in, which also gives Lerna caching support, making it lightning fast. A recent benchmark test resulted in Lerna being 2.5x faster than Lage and around 4x faster than Turbo (as of Oct 2022; test it out by yourself).
-
Nx - The fastest growing monorepo solution in the JS ecosystem
Nx is faster than most of the current available alternatives. See the corresponding benchmark repository
-
Lerna 5.1 - New website, new guides, new Lerna example repo, distributed caching support and speed!
Delegating task scheduling to Nx allows to speed up any Lerna workspace in the range of 2-10 times. Check out our public benchmark which compares Lerna with other popular JS based monorepo tools.
-
Nx 14.2 - Angular v14, Storybook update, lightweight Nx and more!
(as always, feel free to reproduce it here)
-
Lerna used to walk, now it can fly!
But let's do some more real "apples-to-apples" comparison of Lerna's speed with useNx enabled. For benchmarking Nx we have set up a repo in the past which we regularly use to measure the speed of new Nx releases with other similar tools on the market such as Lage and Turborepo: https://github.com/vsavkin/large-monorepo. We now added Lerna+Nx (Lerna with useNx enabled) to that repo to measure the impact.
What are some alternatives?
semantic-release - :package::rocket: Fully automated version management and package publishing
nx - Smart Monorepos Β· Fast CI
autochecker - β»οΈ Test your libraries in many different versions of NodeJS, Ruby, Java and many other languages
lage - Task runner in JS monorepos
iProxy - π Cross platform Web debugging proxyοΌfork of LightProxyγLinux & ε€η½ε‘ζ―ζοΌ
nx-cloud
conventional-changelog - Generate changelogs and release notes from a project's commit messages and metadata.
nx-recipes - π§βπ³ Common recipes to productively use Nx with various technologies and in different setups. Made with β€οΈ by the Nx Team
prop-sets - Generate and test every possible instance of a component in React
monorepo.tools - Your defacto guide on monorepos, and in depth feature comparisons of tooling solutions.
lightproxy - π Cross platform Web debugging proxy
form - π€ Powerful and type-safe form state management for the web. TS/JS, React Form, Solid Form, Lit Form and Vue Form.