Framework Maker for JavaScript Applications
Gasket helps developers make frameworks to power their apps. There are several presets and plugins available with which to make frameworks and construct apps. The various commands, lifecycles, and structures are all enabled by different plugins you can choose to use.
If you are new to Gasket, you might want to first give it a spin following the Quick Start Guide. From there, reference the guides to start developing your apps and making your frameworks.
The tables of contents below are generated by the docs command enabled by @gasket/plugin-docs, which is recommended to view app docs. Links will load the docs for the plugin or package that implements the feature.
Help and explanations docs
Name | Description |
---|---|
Quick Start Guide | Get up and running on Gasket |
Upgrades Guide | Steps necessary to upgrade major versions |
Lifecycle Flowchart | A flowchart detailing how lifecycles are interrelated. |
Configuration Guide | Configuring Gasket apps |
Plugins Guide | How to use and author plugins |
Presets Guide | How to use and author presets |
Package Management Guide | Managing dependencies in Gasket apps |
Common "Gotchas" | Tips and tricks to be aware of |
Progressive Web Apps Guide | Making Progressive Web Apps (PWA) with Gasket |
Express Setup Guide | Adding middleware and routes for Express |
Next.js Routing Guide | Basic and advance routing for Next.js |
Next.js Deployment Guide | Steps to deploy a Next.js Gasket app |
Next.js Redux Guide | Using Redux with Next.js Gasket apps |
Webpack Configuration Guide | Configuring Webpack in Gasket apps |
Available commands
Name | Description |
---|---|
analyze | Generate analysis report of webpack bundles |
build | Prepare the app to be started |
create | Create a new Gasket app |
docs | Generate docs for the app |
help | Get usage details for Gasket commands |
local | Build and start the app in development mode |
start | Run the prepared app |
Available lifecycles
Name | Description |
---|---|
appEnvConfig | Adjust app level config after merged for the env |
appRequestConfig | Adjust app level config for each request |
build | Prepare the app to be started |
composeServiceWorker | Update the service worker script |
configure | Allows plugins to adjust config before command is run |
create | App level plugins |
createServers | Setup the create-servers options |
docsGenerate | Generate graphs for display in documation |
docsSetup | Set up what docs are captured and how to transform them |
docsView | View the collated documentation |
errorMiddleware | Add Express style middleware for handling errors with Fastify |
errorMiddleware | Add Express style middleware for handling errors |
express | Modify the Express instance to for adding endpoints |
fastify | Modify the Fastify instance to for adding endpoints |
getCommands | Allows plugins to add CLI commands |
init | Signals the start of any Gasket command before it is run |
initReduxState | Initializes state of the Redux store |
initReduxStore | Plugin access to Redux store instance |
initWebpack | Create a webpack config |
intlLocale | Set the language for which locale files to load |
logTransports | Setup Winston log transports |
manifest | Modify the the web manifest for a request |
metadata | Allows plugins to adjust their metadata |
metrics | Collect metrics for an app |
middleware | Add Express style middleware for Fastify |
middleware | Add Express style middleware |
next | Update the next app instance before prepare |
nextConfig | Setup the next config |
nextExpress | Access the prepared next app and express instance |
postCreate | App level plugins |
preboot | Any setup before the app starts |
prompt | Gasket config for an app |
servers | Access to the server instances |
serviceWorkerCacheKey | Get cache keys for request based service workers |
start | Run the prepared app |
terminus | Setup the terminus options |
webpack | Modify webpack config with partials or by mutating |
webpackChain | Setup webpack config by chaining |
webpackConfig | Transform the webpack config, with the help of webpack-merge |
workbox | Setup Workbox config and options |
Available structure
Name | Description |
---|---|
.docs/ | Output of the docs command |
config/ | App configuration using environment files |
lifecycles/ | JavaScript files to hook lifecycles with matching name |
pages/ | NextJS routing |
plugins/ | One-off plugins for apps |
public/ | NextJS static files |
public/locales/ | Locale JSON files with translation strings |
test/ | Test files |
app.config.js | App configuration with environment overrides |
gasket.config.js | Gasket config for an app |
jest.config.js | Jest configuration |
redux/store.js | Setup to make Redux store |
Available presets
Name | Version | Description |
---|---|---|
@gasket/preset-api | 6.7.0 | Create Express-based API with Gasket |
@gasket/preset-nextjs | 6.8.2 | Basic NextJS Framework |
@gasket/preset-pwa | 6.0.12 | Turn Gasket apps into Progressive Web Apps |
Available plugins
Name | Version | Description |
---|---|---|
@gasket/plugin-analyze | 6.0.12 | Gasket Analyzer Plugin |
@gasket/plugin-command | 6.2.0 | Plugin to enable other plugins to inject new gasket commands |
@gasket/plugin-config | 6.2.0 | Supports application-specific (non-Gasket) configuration |
@gasket/plugin-docs | 6.0.12 | Centralize doc files from plugins and modules |
@gasket/plugin-docs-graphs | 6.0.12 | Generate mermaid graphs of an applications gasket lifecycles |
@gasket/plugin-docsify | 6.0.12 | View collated docs with Docsify |
@gasket/plugin-elastic-apm | 6.0.12 | Adds Elastic APM instrumentation to your application |
@gasket/plugin-express | 6.5.0 | Adds express support to your application |
@gasket/plugin-fastify | 6.0.12 | Adds fastify support to your application |
@gasket/plugin-git | 6.2.0 | Adds git support to your application |
@gasket/plugin-https | 6.5.1 | Create http/s servers with graceful termination |
@gasket/plugin-intl | 6.8.2 | NodeJS script to build localization files. |
@gasket/plugin-jest | 6.0.12 | Integrated jest into your application. |
@gasket/plugin-lifecycle | 6.8.1 | Allows a gasket/ directory to be used for lifecycle hooks in applications. |
@gasket/plugin-lint | 6.3.0 | Adds GoDaddy standard linting to your application |
@gasket/plugin-log | 6.1.0 | Gasket log plugin |
@gasket/plugin-manifest | 6.0.12 | The web app manifest for progressive Gasket applications |
@gasket/plugin-metadata | 6.3.0 | Adds metadata to gasket lifecycles |
@gasket/plugin-metrics | 6.0.12 | Collect metrics for gasket commands |
@gasket/plugin-mocha | 6.0.12 | Integrates mocha based testing in to your Gasket application |
@gasket/plugin-nextjs | 6.8.2 | Adds Next support to your application |
@gasket/plugin-redux | 6.1.0 | Gasket Redux Setup |
@gasket/plugin-service-worker | 6.0.12 | Gasket Service Worker Plugin |
@gasket/plugin-start | 6.0.12 | Adds commands for building and starting Gasket apps |
@gasket/plugin-swagger | 6.7.0 | Generate and serve swagger docs |
@gasket/plugin-webpack | 6.8.2 | Adds webpack support to your application |
@gasket/plugin-workbox | 6.0.12 | Gasket Workbox Plugin |
Supporting modules
Name | Version | Description |
---|---|---|
@gasket/assets | 6.0.12 | Gasket assets |
@gasket/cli | 6.8.1 | CLI for rapid application development with gasket |
@gasket/data | 6.0.12 | Helper package for accessing embedded Gasket Data in the browser |
@gasket/engine | 6.7.3 | Plugin engine for gasket |
@gasket/fetch | 6.0.12 | Gasket Fetch API |
@gasket/helper-intl | 6.8.0 | Internal helpers used by loaders to resolve locale file paths |
@gasket/log | 6.1.0 | Gasket client and server logger |
@gasket/nextjs | 6.8.0 | Gasket integrations for Next.js apps |
@gasket/react-intl | 6.8.0 | React component library to enable localization for gasket apps. |
@gasket/redux | 6.1.0 | Gasket Redux Configuration |
@gasket/resolve | 6.3.0 | Essential module resolution & configuration management for gasket plugins & presets. |
@gasket/utils | 6.2.0 | Reusable utilities for Gasket internals |
create-gasket-app | 6.8.1 | starter pack for creating a gasket app |
Gasket is MIT licensed.