Skip to content

Commit

Permalink
v7 blog post (#934)
Browse files Browse the repository at this point in the history
* v7 blog post

* remove links
  • Loading branch information
mmason2-godaddy authored Sep 26, 2024
1 parent 0426b7f commit 9c4d06f
Show file tree
Hide file tree
Showing 4 changed files with 154 additions and 47 deletions.
94 changes: 47 additions & 47 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ Available lifecycles
| [servers] | Access to the server instances |
| [serviceWorkerCacheKey] | Get cache keys for request based service workers |
| [terminus] | Setup the `terminus` options |
| [webpackConfig] | Transform the webpack config, with the help of webpack-merge |
| [webpackConfig] | Transform the Webpack config |
| [winstonTransports] | Setup Winston log transports |
| [workbox] | Setup Workbox config and options |

Expand All @@ -149,64 +149,64 @@ Available structure

Available presets

| Name | Version | Description |
| ----------------------- | ------------- | ------------------------------------ |
| [@gasket/preset-api] | 7.0.0-next.69 | Create Express-based API with Gasket |
| [@gasket/preset-nextjs] | 7.0.0-next.69 | Basic NextJS Framework |
| Name | Version | Description |
| ----------------------- | ------- | ------------------------------------ |
| [@gasket/preset-api] | 7.0.1 | Create Express-based API with Gasket |
| [@gasket/preset-nextjs] | 7.0.1 | Basic NextJS Framework |

## Plugins

Available plugins

| Name | Version | Description |
| ------------------------------- | ------------- | ------------------------------------------------------------------------- |
| [@gasket/plugin-analyze] | 7.0.0-next.69 | Gasket Analyzer Plugin |
| [@gasket/plugin-command] | 7.0.0-next.69 | Plugin to enable other plugins to inject new gasket commands |
| [@gasket/plugin-cypress] | 7.0.0-next.69 | Integrates Cypress based testing into your Gasket application |
| [@gasket/plugin-data] | 7.0.0-next.69 | Supports application-specific settings and configurations |
| [@gasket/plugin-docs] | 7.0.0-next.69 | Centralize doc files from plugins and modules |
| [@gasket/plugin-docs-graphs] | 7.0.0-next.69 | Generate mermaid graphs of an applications gasket lifecycles |
| [@gasket/plugin-docusaurus] | 7.0.0-next.69 | Gasket plugin for docusaurus |
| [@gasket/plugin-elastic-apm] | 7.0.0-next.69 | Adds Elastic APM instrumentation to your application |
| [@gasket/plugin-express] | 7.0.0-next.69 | Adds express support to your application |
| [@gasket/plugin-fastify] | 7.0.0-next.69 | Adds fastify support to your application |
| [@gasket/plugin-git] | 7.0.0-next.69 | Adds git support to your application |
| [@gasket/plugin-happyfeet] | 7.0.0-next.69 | A gasket plugin to enable happyfeet healthchecks |
| [@gasket/plugin-https] | 7.0.0-next.69 | Create http/s servers with graceful termination |
| [@gasket/plugin-intl] | 7.0.0-next.69 | NodeJS script to build localization files. |
| [@gasket/plugin-jest] | 7.0.0-next.69 | Integrated jest into your application. |
| [@gasket/plugin-lint] | 7.0.0-next.69 | Adds GoDaddy standard linting to your application |
| [@gasket/plugin-logger] | 7.0.0-next.69 | Gasket plugin for logging |
| [@gasket/plugin-manifest] | 7.0.0-next.69 | The web app manifest for progressive Gasket applications |
| [@gasket/plugin-metadata] | 7.0.0-next.69 | Adds metadata to gasket lifecycles |
| [@gasket/plugin-middleware] | 7.0.0-next.69 | Handles common server engine setups for routing and executing lifecycles. |
| [@gasket/plugin-mocha] | 7.0.0-next.69 | Integrates mocha based testing in to your Gasket application |
| [@gasket/plugin-morgan] | 7.0.0-next.69 | Adds morgan request logger to your app |
| [@gasket/plugin-nextjs] | 7.0.0-next.69 | Adds Next support to your application |
| [@gasket/plugin-redux] | 7.0.0-next.69 | Gasket Redux Setup |
| [@gasket/plugin-service-worker] | 7.0.0-next.69 | Gasket Service Worker Plugin |
| [@gasket/plugin-swagger] | 7.0.0-next.69 | Generate and serve swagger docs |
| [@gasket/plugin-typescript] | 7.0.0-next.69 | Gasket plugin for TypeScript support |
| [@gasket/plugin-webpack] | 7.0.0-next.69 | Adds webpack support to your application |
| [@gasket/plugin-winston] | 7.0.0-next.69 | Gasket logger based on Winston |
| [@gasket/plugin-workbox] | 7.0.0-next.69 | Gasket Workbox Plugin |
| Name | Version | Description |
| ------------------------------- | ------- | ------------------------------------------------------------------------- |
| [@gasket/plugin-analyze] | 7.0.1 | Gasket Analyzer Plugin |
| [@gasket/plugin-command] | 7.0.1 | Plugin to enable other plugins to inject new gasket commands |
| [@gasket/plugin-cypress] | 7.0.1 | Integrates Cypress based testing into your Gasket application |
| [@gasket/plugin-data] | 7.0.1 | Supports application-specific settings and configurations |
| [@gasket/plugin-docs] | 7.0.1 | Centralize doc files from plugins and modules |
| [@gasket/plugin-docs-graphs] | 7.0.1 | Generate mermaid graphs of an applications gasket lifecycles |
| [@gasket/plugin-docusaurus] | 7.0.1 | Gasket plugin for docusaurus |
| [@gasket/plugin-elastic-apm] | 7.0.1 | Adds Elastic APM instrumentation to your application |
| [@gasket/plugin-express] | 7.0.1 | Adds express support to your application |
| [@gasket/plugin-fastify] | 7.0.1 | Adds fastify support to your application |
| [@gasket/plugin-git] | 7.0.1 | Adds git support to your application |
| [@gasket/plugin-happyfeet] | 7.0.1 | A gasket plugin to enable happyfeet healthchecks |
| [@gasket/plugin-https] | 7.0.1 | Create http/s servers with graceful termination |
| [@gasket/plugin-intl] | 7.0.1 | NodeJS script to build localization files. |
| [@gasket/plugin-jest] | 7.0.1 | Integrated jest into your application. |
| [@gasket/plugin-lint] | 7.0.1 | Adds GoDaddy standard linting to your application |
| [@gasket/plugin-logger] | 7.0.1 | Gasket plugin for logging |
| [@gasket/plugin-manifest] | 7.0.1 | The web app manifest for progressive Gasket applications |
| [@gasket/plugin-metadata] | 7.0.1 | Adds metadata to gasket lifecycles |
| [@gasket/plugin-middleware] | 7.0.1 | Handles common server engine setups for routing and executing lifecycles. |
| [@gasket/plugin-mocha] | 7.0.1 | Integrates mocha based testing in to your Gasket application |
| [@gasket/plugin-morgan] | 7.0.1 | Adds morgan request logger to your app |
| [@gasket/plugin-nextjs] | 7.0.1 | Adds Next support to your application |
| [@gasket/plugin-redux] | 7.0.1 | Gasket Redux Setup |
| [@gasket/plugin-service-worker] | 7.0.1 | Gasket Service Worker Plugin |
| [@gasket/plugin-swagger] | 7.0.1 | Generate and serve swagger docs |
| [@gasket/plugin-typescript] | 7.0.1 | Gasket plugin for TypeScript support |
| [@gasket/plugin-webpack] | 7.0.1 | Adds webpack support to your application |
| [@gasket/plugin-winston] | 7.0.1 | Gasket logger based on Winston |
| [@gasket/plugin-workbox] | 7.0.1 | Gasket Workbox Plugin |



## Modules

Supporting modules

| Name | Version | Description |
| -------------------- | ------------- | ------------------------------------------------------------------------ |
| [@gasket/assets] | 7.0.0-next.69 | Gasket assets |
| [@gasket/core] | 7.0.0-next.69 | Entry point to setting up Gasket instances |
| [@gasket/data] | 7.0.0-next.69 | Helper package for accessing embedded Gasket Data in the browser |
| [@gasket/intl] | 7.0.0-next.69 | Internationalization managers for translation files and locale handling. |
| [@gasket/nextjs] | 7.0.0-next.69 | Gasket integrations for Next.js apps |
| [@gasket/react-intl] | 7.0.0-next.69 | React component library to enable localization for gasket apps. |
| [@gasket/redux] | 7.0.0-next.69 | Gasket Redux Configuration |
| [@gasket/utils] | 7.0.0-next.69 | Reusable utilities for Gasket internals |
| Name | Version | Description |
| -------------------- | ------- | ------------------------------------------------------------------------ |
| [@gasket/assets] | 7.0.1 | Gasket assets |
| [@gasket/core] | 7.0.1 | Entry point to setting up Gasket instances |
| [@gasket/data] | 7.0.1 | Helper package for accessing embedded Gasket Data in the browser |
| [@gasket/intl] | 7.0.1 | Internationalization managers for translation files and locale handling. |
| [@gasket/nextjs] | 7.0.1 | Gasket integrations for Next.js apps |
| [@gasket/react-intl] | 7.0.1 | React component library to enable localization for gasket apps. |
| [@gasket/redux] | 7.0.1 | Gasket Redux Configuration |
| [@gasket/utils] | 7.0.1 | Reusable utilities for Gasket internals |

## Configurations

Expand Down
101 changes: 101 additions & 0 deletions site/blog/2024-9-26-gasket-v7.md
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
6 changes: 6 additions & 0 deletions site/blog/authors.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,9 @@ kquerna:
url: https://github.com/kquerna-godaddy
image_url: /img/authors/kquerna.png
bio: Kirsten is a senior product manager at Godaddy. She is passionate about open source and the web.

mmason:
name: Michael Mason
title: Senior Engineer
url: https://github.com/mmason2-godaddy
image_url: /img/authors/mmason.jpeg
Binary file added site/static/img/authors/mmason.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 9c4d06f

Please sign in to comment.