• Stars
    star
    130
  • Rank 276,257 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 5 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Framework Maker for JavaScript Applications

Gasket

Framework Maker for JavaScript Applications


License Contributors PRs Welcome Code of Conduct tweet

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.

Guides

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

Commands

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

Lifecycles

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.js app instance before preparing for Express
next Update the Next.js app instance before preparing for Fastify
nextConfig Setup the Next.js config
nextExpress Access the prepared Next.js app and Express instance
nextFastify Access the prepared Next.js app and Fastify instance
nextPreHandling Perform tasks just before Next.js request handling
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 (deprecated) Modify webpack config with partials or by mutating
webpackChain (deprecated) Setup webpack config by chaining
webpackConfig Transform the webpack config, with the help of webpack-merge
workbox Setup Workbox config and options

Structures

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
test/ Test files
app.config.js App configuration with environment overrides
cypress.json Cypress configuration
gasket.config.js Gasket config for an app
jest.config.js Jest configuration
redux/store.js Setup to make Redux store

Presets

Available presets

Name Version Description
@gasket/preset-api 6.39.3 Create Express-based API with Gasket
@gasket/preset-nextjs 6.40.0 Basic NextJS Framework
@gasket/preset-pwa 6.39.3 Turn Gasket apps into Progressive Web Apps

Plugins

Available plugins

Name Version Description
@gasket/plugin-analyze 6.39.3 Gasket Analyzer Plugin
@gasket/plugin-command 6.39.3 Plugin to enable other plugins to inject new gasket commands
@gasket/plugin-config 6.39.3 Supports application-specific (non-Gasket) configuration
@gasket/plugin-cypress 6.39.0 Integrates Cypress based testing into your Gasket application
@gasket/plugin-docs 6.39.3 Centralize doc files from plugins and modules
@gasket/plugin-docs-graphs 6.39.0 Generate mermaid graphs of an applications gasket lifecycles
@gasket/plugin-docsify 6.39.3 View collated docs with Docsify
@gasket/plugin-docusaurus 6.39.3 Gasket plugin for docusaurus
@gasket/plugin-elastic-apm 6.39.3 Adds Elastic APM instrumentation to your application
@gasket/plugin-express 6.39.3 Adds express support to your application
@gasket/plugin-fastify 6.39.3 Adds fastify support to your application
@gasket/plugin-git 6.40.0 Adds git support to your application
@gasket/plugin-happyfeet 6.39.1 A gasket plugin to enable happyfeet healthchecks
@gasket/plugin-https 6.39.3 Create http/s servers with graceful termination
@gasket/plugin-intl 6.39.3 NodeJS script to build localization files.
@gasket/plugin-jest 6.39.0 Integrated jest into your application.
@gasket/plugin-lifecycle 6.39.3 Allows a gasket/ directory to be used for lifecycle hooks in applications.
@gasket/plugin-lint 6.39.0 Adds GoDaddy standard linting to your application
@gasket/plugin-log 6.39.3 Gasket log plugin
@gasket/plugin-manifest 6.39.3 The web app manifest for progressive Gasket applications
@gasket/plugin-metadata 6.39.3 Adds metadata to gasket lifecycles
@gasket/plugin-metrics 6.39.3 Collect metrics for gasket commands
@gasket/plugin-mocha 6.39.0 Integrates mocha based testing in to your Gasket application
@gasket/plugin-morgan 6.39.3 Adds morgan request logger to your app
@gasket/plugin-nextjs 6.40.0 Adds Next support to your application
@gasket/plugin-redux 6.39.3 Gasket Redux Setup
@gasket/plugin-service-worker 6.39.3 Gasket Service Worker Plugin
@gasket/plugin-start 6.39.3 Adds commands for building and starting Gasket apps
@gasket/plugin-swagger 6.39.3 Generate and serve swagger docs
@gasket/plugin-webpack 6.39.3 Adds webpack support to your application
@gasket/plugin-workbox 6.39.3 Gasket Workbox Plugin

Modules

Supporting modules

Name Version Description
@gasket/assets 6.39.0 Gasket assets
@gasket/cli 6.40.0 CLI for rapid application development with gasket
@gasket/data 6.39.0 Helper package for accessing embedded Gasket Data in the browser
@gasket/engine 6.39.3 Plugin engine for gasket
@gasket/fetch 6.39.0 Gasket Fetch API
@gasket/helper-intl 6.39.0 Internal helpers used by loaders to resolve locale file paths
@gasket/log 6.39.0 Gasket client and server logger
@gasket/nextjs 6.40.0 Gasket integrations for Next.js apps
@gasket/react-intl 6.39.0 React component library to enable localization for gasket apps.
@gasket/redux 6.39.0 Gasket Redux Configuration
@gasket/resolve 6.39.3 Essential module resolution & configuration management for gasket plugins & presets.
@gasket/typescript-tests 6.40.0 Not a published package; hosts unit tests to verify TypeScript support
@gasket/utils 6.39.3 Reusable utilities for Gasket internals
create-gasket-app 6.40.0 starter pack for creating a gasket app

Configurations

Available configuration options in the gasket.config.js

Name Description Type Default
bundleAnalyzerConfig Tune both browser and server Webpack analysis reports object
docs Docs config object object
docs.outputDir Output directory for generated docs string .docs
docsify Docsify config object object
docsify.config Docsify configuration properties, excluding functions object
docsify.port Port to serve the docs from number 3000
docsify.scripts Optional additional script files, which can include docsify plugins string[]
docsify.stylesheets Optional additional stylesheet URLs to load string[]
docsify.theme Name of the theme string styles/gasket.css
docusaurus Docusaurus plugin config object
docusaurus.docsDir Sub-directory for the generated markdown from the docs plugin string docs
docusaurus.host Hostname to serve the docs from string localhost
docusaurus.port Port number to serve docs site number 3000
docusaurus.rootDir Root Docusaurus directory string .docs
express Express plugin configuration object
express.compression Automatic compression boolean true
express.excludedRoutesRegex Routes to be excluded based on a regex
fastify Fastify configuration object object
fastify.compression Automatic compression boolean true
fastify.excludedRoutesRegex Routes to be excluded based on a regex RegExp
http HTTP port or config object number object
http2 HTTP2 config object object
https HTTPS config object object
intl Intl config object object
intl.basePath Base URL where locale files are served string
intl.defaultLocale Locale to fallback to when loading files string en
intl.defaultPath Path to endpoint with JSON files string /locales
intl.locales Ordered list of accepted locales string[]
intl.localesDir Path to on-disk directory where locale files exists string ./public/locales
intl.localesMap Mapping of locales to share files object
intl.localesPath URL endpoint where static JSON files are available string
intl.manifestFilename Change the name of the manifest file string locales-manifest.json
intl.modules Enable locale files collation from node modules boolean object
intl.nextRouting Enable Next.js Routing when used with @gasket/plugin-nextjs boolean true
intl.serveStatic Enables ability to serve static locale files boolean string
log Setup and customize logger object
log.prefix Used to set the prefix in the winston format string
manifest Manifest plugin config object
morgan Morgan plugin configuration object
morgan.format Log format to print string tiny
morgan.options Morgan options object
nextConfig Everything that can be configured in next.config.js can be added here. object
redux Redux plugin config object object
redux.initState Initial state to include in the store object
redux.makeStore Relative path to a custom makeStore configuration string store.js
serviceWorker Service worker plugin config object object
serviceWorker.cache Adjust the content cache settings using the lru-cache options object
serviceWorker.cacheKeys Optional cache key functions that accept the request object as argument and return a string function[]
serviceWorker.content The JavaScript content to be served string
serviceWorker.minify Minification options to be used on the composed JavaScript object
serviceWorker.scope From where to intercept requests string /
serviceWorker.staticOutput If true, a static sw.js will be output to the ./public dir string boolean
serviceWorker.url Name of the service worker file string /sw.js
serviceWorker.webpackRegister By default, a service worker registration script will be injected to the webpack entry modules string string[]
swagger Swagger config object object
swagger.apiDocsRoute Route to Swagger UI string /api-docs
swagger.definitionFile Target swagger spec file, either json or yaml string swagger.json
swagger.jsdoc If set, the definitionFile will be generated based on JSDocs in the configured files object
swagger.ui Optional custom UI options object
terminus Terminus config object object
terminus.healthcheck Custom Terminus healthcheck endpoint names string[] /healthcheck,/healthcheck.html
winston Setup and customize winston logger object
workbox Workbox config object object
workbox.basePath Change the default path to /_workbox endpoint by adding a path prefix here string
workbox.config Any initial workbox config options which will be merged with those from any workbox lifecycle hooks object
workbox.outputDir The path to the directory in which the Workbox libraries should be copied string ./build/workbox

License

Gasket is MIT licensed.

More Repositories

1

terminus

Graceful shutdown and Kubernetes readiness / liveness checks for any Node.js HTTP applications
JavaScript
1,831
star
2

kubernetes-client

Simplified Kubernetes API client for Node.js.
JavaScript
961
star
3

tartufo

Searches through git repositories for high entropy strings and secrets, digging deep into commit history
Python
457
star
4

procfilter

A YARA-integrated process denial framework for Windows
C++
397
star
5

compose-color-picker

Jetpack Compose Android Color Picker 🎨
Kotlin
373
star
6

svgs

svgs is a compatiblity layer between svg and react-native-svg
JavaScript
191
star
7

eslint-plugin-i18n-json

Fully extendable eslint plugin for JSON i18n translation files.
JavaScript
177
star
8

node-cluster-service

Turn your single process code into a fault-resilient, multi-process service with built-in REST & CLI support. Restart or hot upgrade your web servers with zero downtime or impact to clients.
JavaScript
166
star
9

godaddy.github.io

Deprecated version of GoDaddy blog. See https://github.com/godaddy/engineering.
HTML
163
star
10

smart-private-npm

An intelligent routing proxy for npm with support for: private, whitelisted, and blacklisted packaged
JavaScript
139
star
11

ekke

Ekke is a test runner for React-Native, it allows you to execute your test code directly on the device enabling you to test in the same environment as your production users.
JavaScript
133
star
12

kubernetes-gated-deployments

Kubernetes Gated Deployments
JavaScript
123
star
13

activerecord-delay_touching

Batch up your ActiveRecord "touch" operations for better performance. ActiveRecord::Base.delay_touching do ... end. When "end" is reached, all accumulated "touch" calls will be consolidated into as few database round trips as possible.
Ruby
111
star
14

engineering

Jekyll website and blog showcasing open source projects by GoDaddy employees
HTML
84
star
15

yara-rules

YARA rules for use with ProcFilter
83
star
16

aws-okta-processor

Okta credential processor for AWS CLI
Python
82
star
17

warehouse.ai

A storage and developer workflow engine for enforcing arbitrary checks on ontologies of npm packages.
JavaScript
82
star
18

javascript

The official GoDaddy JavaScript styleguide.
JavaScript
76
star
19

asherah

Asherah is a multi-language, cross-platform application encryption SDK
C#
75
star
20

wp-reseller-store

Resell hosting, domains, and more right from your WordPress site.
PHP
61
star
21

react-img-carousel

A flexible image carousel built with React.js
JavaScript
60
star
22

jiractl

A command-line tool for managing Jira
JavaScript
56
star
23

lighthouse4u

LH4U provides Google Lighthouse as a service, surfaced by both a friendly UI+API, and backed by various storage clients (S3, ElasticSearch, etc) for all your query and visualization needs
EJS
56
star
24

slay

Rock-solid structured application layout for building APIs and web apps in Node.js.
JavaScript
49
star
25

next-rum

RUM Component for Next.js
JavaScript
48
star
26

timings

NodeJS/Express API to assert performance results during functional testing
JavaScript
45
star
27

addhoc

Handy little helper to create proper React HOC functions complete with hoisted statics and forwarded refs
JavaScript
41
star
28

datastar

A robust and feature rich ODM for Cassandra.
JavaScript
40
star
29

openstack-logstash

Logstash and Kibana configs for OpenStack Havana
JavaScript
37
star
30

node-openstack-wrapper

An OpenStack client for Node.js
JavaScript
33
star
31

gdapi-php

A PHP client for Go Daddy® REST APIs
PHP
31
star
32

opa-lambda-extension-plugin

A plugin for running Open Policy Agent (OPA) in AWS Lambda as a Lambda Extension.
Go
28
star
33

reduxful

Manage request data in Redux state by generating actions, reducers, and selectors automatically.
JavaScript
27
star
34

lazy-social-buttons

A JavaScript plugin to place social buttons on a page on user interaction (mouseover) to spare the initial page load from the 300kb+ download requests for social APIs.
JavaScript
25
star
35

serverless-aws-servicecatalog

An AWS Service Catalog enabling plugin for the popular Serverless project
JavaScript
24
star
36

react-safe-src-doc-iframe

A component which applies guards to srcdoc iframes in order to provide a predictable and safe experience to the user. Complements the sandbox native iframe attribute.
JavaScript
23
star
37

react-markdown-github

React component that renders Markdown similarly to Github's formatting
JavaScript
22
star
38

node-flipr

Feature flipping and configuration using yaml files.
JavaScript
21
star
39

domain-search

React-based domain search widget used for designing and building custom GoDaddy reseller storefronts
JavaScript
21
star
40

pullie

A GitHub bot that makes your PRs better
JavaScript
20
star
41

asset-system

asset-system is a cross platform SVG based asset system for React and React-Native. This mono-repo is the home for all asset-* packages.
JavaScript
20
star
42

docker-machine-godaddy

A Docker Machine driver plugin for GoDaddy Cloud Servers.
Go
19
star
43

carpenterd

Build and compile npm packages to run in the browser.
JavaScript
19
star
44

node-priam

A simple Cassandra driver for NodeJS. It wraps node-cassandra-cql with additional error/retry handling, external .cql file support, and connection option resolution from an external source.
JavaScript
19
star
45

external

Fitting for load React components from an external BigPipe server.
JavaScript
18
star
46

kibana4-backup

JavaScript
17
star
47

django-snow

ServiceNow Ticket Management App for Django based projects
Python
16
star
48

node-redis-ha

Redis high-availability client library for node
JavaScript
15
star
49

sample-size

This python project is a helper package that uses power analysis to calculate required sample size for any experiment
Python
14
star
50

node-config-shield

Safe and easy way for storing and retrieving sensitive data
JavaScript
13
star
51

bucket-service

A service to tag your tests to enable/disable without a code change
JavaScript
10
star
52

breakdancer

A breakpoint tracking utility
JavaScript
10
star
53

centos7-upgrade-scripts

Ansible playbook and supporting scripts for upgrading OpenStack compute/hypervisor hosts from CentOS 6 to 7
Shell
10
star
54

openstack-traffic-shaping

Python
9
star
55

tartufo-action

Searches through git repositories for high entropy strings and secrets, digging deep into commit history
Python
9
star
56

radpack

JavaScript
8
star
57

appetizer-bundle

Creates an uploadable bundle of your React-Native application so it can run on the appetize.io platform.
JavaScript
8
star
58

docker-node

Debian Docker images for Node.js with best practices in mind
Dockerfile
8
star
59

GDRouting

Objective-C
8
star
60

gdapi-python

A Python client for Go Daddy® REST APIs
Python
8
star
61

netmet

NetMet is networking tool that allows you to track and analyze network uptime of multi data centers installations
Python
7
star
62

godaddy-test-tools

gulp tools for testing node libraries with mocha and istanbul as well as linting using godaddy-style.
JavaScript
7
star
63

react-validation-context

Components for providing validation via React context.
JavaScript
7
star
64

openstack-ansible

Ansible playbooks for managing OpenStack infrastructure
7
star
65

out-of-band-cache

A generic cache for API clients with out-of-band refreshing
JavaScript
7
star
66

node-redirect-rules

JavaScript
7
star
67

exemplar

Deprecated: storybook rocket fuel to launch structured examples of React & React Native components
JavaScript
7
star
68

asherah-cobhan

Cobhan bindings for Asherah
Go
7
star
69

vault-cert-finder

Finds, parse and output X509 certificates stored in Hashicorp Vault
TypeScript
7
star
70

eslint-plugin-react-intl

Validation of locale ids used with react-intl functions/components like <FormattedMessage />, formatMessage and defineMessages.
JavaScript
7
star
71

gdapi-csharp

A C# client for Go Daddy® REST APIs
C#
6
star
72

tartufo-node

npm package shim for https://github.com/godaddy/tartufo
JavaScript
6
star
73

aws-liveness

AWS Liveness tools.
JavaScript
6
star
74

cobhan-go

Cobhan FFI is a system for enabling shared code to be written in Rust or Go and consumed from all major languages/platforms in a safe and effective way.
Go
6
star
75

cijtemplate

A template for continuous integration with Jenkins
Shell
6
star
76

lighthouse4u-lambda

Running Lighthouse4u in AWS Lambda
JavaScript
6
star
77

asherah-ruby

Application-layer encryption SDK
Ruby
6
star
78

node-http-cache

An extensible caching interface for HTTP traffic.
JavaScript
6
star
79

abstract-npm-registry

An test suite and interface for you can use to test various functional areas of an npm registry
JavaScript
6
star
80

asherah-python

Python
5
star
81

appetizer

A Node.js REST based API client for Appetize.io.
JavaScript
5
star
82

transform-url

Build URLs by transforming a template with params.
JavaScript
5
star
83

cobhan-python

Python wrapper library for the Cobhan FFI system
Python
5
star
84

node-connect-qos

Connect middleware that helps maintain a high quality of service during heavy traffic
TypeScript
5
star
85

http-interception

Dumps requests and responses as newline delimited JSON that a browser performs when visiting a web page.
JavaScript
4
star
86

feedsme

Triggers appropriate rebuilds in the warehouse.ai system
JavaScript
4
star
87

mssql-pool-party

Extension of node mssql client providing failover, retry, stats, and more
JavaScript
4
star
88

cobhan-rust

Cobhan FFI is a system for enabling shared code to be written in Rust and consumed from all major languages/platforms in a safe and effective way.
Rust
4
star
89

short-css-vars

Optimize CSS variable names
JavaScript
4
star
90

spree_weight_based_shipping_calculator

Spree extension for weight-based shipping calculation
Ruby
4
star
91

joi-of-cql

Create cql type definitions from joi schema validations
JavaScript
4
star
92

hostwriter

API and CLI for querying and manipulating host files.
JavaScript
4
star
93

timings-client-py

Python client for the timings API
Python
4
star
94

gdapi-ui

An in-browser client for Go Daddy® REST APIs
JavaScript
3
star
95

carpenterd-worker

the worker process for carpenterd
JavaScript
3
star
96

node-gd-assets

CSS, JS, and Handlebars combiner, compressor, and server
JavaScript
3
star
97

node-http-cache-cassandra

A Cassandra provider for the extensible HTTP caching library http-cache.
JavaScript
3
star
98

orglinter

A GitHub organization linting tool
JavaScript
3
star
99

cobhan-ruby

Ruby wrapper library for the Cobhan FFI system
Ruby
3
star
100

.github

Default community health files for GoDaddy Open Source
3
star