Jest 29 is here, just a few short months after Jest 28. As mentioned in the Jest 28 blog post, this version contains just a couple of breaking changes, in order to make the upgrade as smooth as possible.
Jest joins OpenJS Foundation
Today we're excited to announce that Jest is joining the OpenJS Foundation!
This change transfers ownership of the project from Meta to the Jest Core team via the OpenJS Foundation as an Impact Project. We’re grateful to Meta for creating Jest and all of their support over the years, and we look forward to the future of Jest as a project owned by the Jest community!
Check out the Meta Engineering blog and OpenJS Foundation blog announcements for more info.
Jest 28: Shedding weight and improving compatibility 🫶
Jest 28 is finally here, and it comes with some long requested features such as support for sharding a test run across multiple machines, package exports
and the ability to customize the behavior of fake timers. These are just some personal highlights, and we'll be highlighting more in this blog post.
Additionally, as announced in the Jest 27 blog post last year, we have removed some packages that no longer are used by default from the default installation. As a result the installation size has dropped by about 1/3.
Jest 27: New Defaults for Jest, 2021 edition ⏩
In the Jest 26 blog post about a year ago, we announced that after two major releases with few breaking changes, Jest 27 will flip some switches to set better defaults for projects that are new or can migrate smoothly. This gives us the opportunity to remove some packages from the default distribution of Jest 28 and publish them as separately installable and pluggable modules instead. Everyone on the new defaults can benefit from a smaller install size, while people needing these packages can still install them separately.
With the first major change of defaults since the New Defaults for Jest that came with the seminal version 15, Jest 27 is now here, to keep Jest fast, lean, and relevant in the future. We will explain those changes of defaults and other notable breaking changes in this post, but first, let's get into some exciting new features!
Оновлення вебсайту Jest
We are excited to present the new Jest website!
The Jest site was upgraded from Docusaurus 1 to Docusaurus 2, and is an early adopter of the newly released Docusaurus 2 i18n support.
So, what's new exactly?
Jest 26: Tick Tock
When we started rebuilding Jest five years ago our goal was to provide a batteries-included zero-configuration test runner that is approachable for beginners, extensible for almost all testing use cases and scalable to large projects. One of the instrumental releases was Jest 15 which tied everything together and provided good defaults that allowed people to run Jest often without any setup. However, this approach has a big downside as Jest installs a lot of dependencies into your projects that you may not need.
We are now beginning to address this shortcoming and are working on reducing Jest’s install size while keeping it approachable and extensible. We have made the following breaking changes in Jest 26:
Jest 25: 🚀 Вибудовуємо основу майбутнього
Jest 25 закладає основу для багатьох великих змін у майбутньому. As such, we kept breaking changes to a minimum, but internal architecture changes may require attention during the upgrade. The main changes are an upgrade of JSDOM from v11 to v15, 10-15% faster test runs, a new diff view for outdated snapshots and dropped Node 6 support.
There has been more than 200 commits since Jest 24.9 by more than 80 different contributors, so as always, take a look at the changelog for a full list of changes.
Jest 24: 💅 Оновлений, Відшліфований, Сумісний з TypeScript
Сьогодні ми з радістю повідомляємо про наступний великий реліз Jest - версія 24! Минуло 4 місяці з моменту останнього мінорного релізу та 8 місяців після виходу Jest 23, так що це велике оновлення буде корисне для кожного! Основні моменти містять в собі вбудовану підтримку TypeScript шляхом оновлення внутрішньої начинки Jest до Babel 7, виправлення деяких давніх проблем із відсутнім виводом консолі та проблемами продуктивності при обчисленні великих відмінностей, а також новісінький сайт. ✨
Для повного списку змін дивіться журнал змін.
Підтримка відкритого вихідного коду Jest
Jest підтримується спільнотою відкритого вихідного коду та робітниками Facebook.
Наші дописувачі вихідного коду працюють над створенням нового функціоналу, виправленням помилок та підтримувати список завдань. Співробітники Facebook роблять те саме, зосереджуючись на специфічних проблемах масштабування, і запускають усі запропоновані релізи на величезному тестовому комплекті Facebook перед публікацією.
Усі ми робимо свою частину, щоб зробити тестування приємним.
На саміті Jest ми оголосили про Jest Open Collective. Це наш спосіб допомогти підтримати зусилля спільноти з відкритим вихідним кодом Jest. Одразу зазначимо: співробітники Facebook не можуть отримувати вигоду від Jest Open Collective. Єдина мета ініціативи - підтримати спільноту Jest.
В цьому повідомленні ми опишемо те, що собою являє Jest Open Collective, структуру та наявні цілі.
Jest 23: 🔥 Неймовірно Швидке Приємне Тестування
Сьогодні ми з радістю анонсуємо Jest 23, наш найбільший великий реліз станом на сьогодні! Разом із понад 100 учасниками, ми публікуємо купу оновлень та виправлень помилок. Дякуємо всім у спільноті за допомогу в Покращенні JavaScript Тестування.
Ми також хотіли б привітати Babel і webpack з вступом до спільноти Jest! Після переходу з Mocha на Jest 23 Beta, webpack отримав зменшення загального часу виконання тестових наборів в 6 разів, з 13 хвилин до 2 хв 20 секунд. #blazingmeansgood
Ось деякі з Jest 23 новинок і принципових змін.