-
Notifications
You must be signed in to change notification settings - Fork 77
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
4 changed files
with
154 additions
and
47 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
--- | ||
title: Gasket v7.0 | ||
date: 2024-09-26 11:00:00 -0700 | ||
description: We have released Gasket 7! | ||
slug: version-7 | ||
authors: mmason | ||
tags: [Node.js, Gasket, Next.js, Javascript] | ||
hide_table_of_contents: false | ||
--- | ||
|
||
|
||
**Announcing Gasket v7: Simplified, Flexible, and Fully Integrated** | ||
|
||
We are thrilled to announce the next major release of Gasket, packed with | ||
powerful new features, improvements, and optimizations that make building | ||
applications with Gasket easier and more flexible than ever before. This release introduces a range of enhancements that help launch your development | ||
experience to new heights. | ||
|
||
## Key Updates in Gasket v7 | ||
|
||
### **Less Magic, More Transparency** | ||
In Gasket v7, we’ve taken significant steps to reduce the magic and increase | ||
transparency, providing developers with a more intuitive and straightforward | ||
development experience. One of the key changes is the removal of "magic files" | ||
in the `lifecycles` directory. This reduces the complexity around Gasket | ||
lifecycles and makes it easier to understand and customize the behavior of your | ||
Gasket applications. | ||
|
||
### **Framework-First Approach: No More Gasket CLI** | ||
|
||
Gasket v7 no longer relies on the Gasket CLI for core tasks. Instead, we now | ||
delegate responsibilities such as transpilation, bundling, and other | ||
optimizations to the primary framework in use. This shift allows the core | ||
framework to handle crucial tasks, making your Gasket apps lighter, faster, | ||
and better aligned with the ecosystem you’re already using. | ||
|
||
### **ESM-Ready** | ||
|
||
Gasket apps are now fully aligned with ECMAScript Modules (ESM), bringing modern | ||
JavaScript standards to the forefront of the development process. This allows | ||
for more modular, future-proof codebases and better integration with modern | ||
build systems. | ||
|
||
### **Full TypeScript Support** | ||
|
||
Whether you’re building Gasket apps or in-app plugins, Gasket v7 now offers | ||
full support for TypeScript. This update improves both development speed and | ||
reliability, with enhanced type checking, better tooling, and internal JSDoc | ||
typings for a smoother TypeScript experience across the board. | ||
|
||
### **Next.js 14 Support** | ||
|
||
We’re proud to announce full support for Next.js 14, with both the App Router | ||
and Page Router, as well as a custom server option for more advanced routing | ||
needs. This unlocks using React Server Components and other potential future | ||
features of Next.js. | ||
|
||
While Gasket v7 unblocks App Router with React Server Components, using it to | ||
meet our app requirements at GoDaddy is still ongoing. | ||
If you want to get involved, chime in on the [github repo]. | ||
|
||
### **Introducing Gasket Actions** | ||
|
||
A major new feature in v7 is **Gasket Actions** — a powerful new pattern for | ||
accessing and setting data on demand in Gasket applications. This feature | ||
reduces the need to decorate `req`/`res` objects or rely on middleware, | ||
offering a cleaner, more flexible method to manage application data. | ||
Gasket Actions provide a reliable and intuitive way to work with dynamic data | ||
without adding complexity to your app’s architecture. | ||
|
||
### **Increased Flexibility and Portability** | ||
|
||
Gasket v7 is now more flexible and portable, taking a less opinionated approach | ||
to app development. By eliminating the need for the Gasket CLI, you can simply | ||
import Gasket wherever you need it. Additionally, users now have the ability to | ||
create multiple Gasket instances, offering greater versatility and control in | ||
how you structure your applications. We've made it easier than ever to integrate | ||
Gasket with the frameworks and tools you already know and love. | ||
|
||
### **Easier Contributions** | ||
|
||
We’ve aligned our testing framework with Jest, one of the most widely used | ||
testing libraries in the JavaScript ecosystem. | ||
We have refined our TypeScript types and connected them with the code using | ||
JSDoc imports to assist in better code completion and type checking, | ||
without sacrificing the debug ability of JavaScript. | ||
|
||
### What’s Next? | ||
|
||
The release of Gasket v7 marks a significant milestone in our journey to provide | ||
a powerful, flexible, and developer-friendly framework. Whether you're working | ||
with JavaScript or TypeScript, server-side or client-side rendering, Gasket v7 | ||
gives you the tools you need to build applications faster and with more | ||
flexibility than ever before. | ||
|
||
Follow the [Upgrade Guide] today and explore the new features and improvements | ||
that make Gasket v7 the best version yet. Happy coding! | ||
|
||
[releases]: releases.md | ||
[Upgrade Guide]: upgrade-to-7.md | ||
[github repo]: https://github.com/godaddy/gasket |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.