Our great sponsors
-
tsParticles
tsParticles - Easily create highly customizable JavaScript particles effects, confetti explosions and fireworks animations and use them as animated backgrounds for your website. Ready to use components available for React.js, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Inferno, Solid, Riot and Web Components.
I'm working on a new version of a npm library and the v2 changelog is huge, with a lot of breaking changes (removed some old code to decrease the bundle size, split some features to plugin libraries).
-
Codemods - providing automated tooling to change old patterns to new ones can go a long way in helping drive adoption of the new version. The most notable example of doing this is react-codemod (many other examples exist)
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
Codemods - providing automated tooling to change old patterns to new ones can go a long way in helping drive adoption of the new version. The most notable example of doing this is react-codemod (many other examples exist)
-
Codemods are basically babel scripts that transform source code. The most commonly used tool for doing them is called jscodeshift
-
RFCs. Stands for "request for comments" and is basically means writing a design document proposing and explaining changes before implementing them. The idea is to document rationale, etc to get community feedback early on, before any code is even written. This also doubles as a heads up regarding what changes are coming in the pipeline. The TC39 proposals, and Vue RFCs are examples of this. They might not help with the retroactive breaking changes that are already implemented, but they could help informing design decisions going forward - as you might be realizing by now, solid semantics are very very important, and RFCs can help immensely in getting them right from the beginning
-
Release candidates. This means releasing v2 early using semver prerelease suffixes (see https://semver.org/, bullet 9). The idea is to provide your power users with a way to test the waters with the new codebase and get feedback to fix bugs and inform your migration strategy, before you roll out the official breaking change release. Another similar way of doing this is having a canary channel. Node.js "latest" releases are one example.
-
I went through a v1 -> v2 full rewrite transition w/ mithril.js and while I did some of the things I listed above, there were still other things that I could've done better. Doing a smooth transition is hard, but don't get discouraged, try your best, and I guarantee you'll learn a ton of very valuable stuff that will help you later in your career. Good luck!
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.