Shopify / quilt

[⚠️ Deprecated] A loosely related set of packages for JavaScript/TypeScript projects at Shopify
MIT License
1.7k stars 222 forks source link

[!CAUTION] Quilt is no longer maintained. The packages listed below are deprecated.

Functionality can be replaced with more modern and maintained open source projects, or implemented in userland along side the latest versions of koa/react/etc.

Shopifolk, see Shopify/quilt-internal for information on the latest packages available for use internally.

Quilt

License: MIT Build Status Build Status

A loosely related set of packages for JavaScript/TypeScript projects at Shopify.

These libraries compose together to help you create performant modern JS apps that you love to develop and test. These packages are developed primarily to be used on top of the stack we like best for our JS apps; Typescript for the flavor, Koa for the server, React for UI, Apollo for data fetching, and Jest for tests. That said, you can mix and match as you like.

⚠️ Over the past few years, this repo has become a dumping ground for a variety of packages unrelated to the core problems Quilt, and it's stewards - the Admin Web Foundation team - aims to solve. Before submitting a pull request, please speak with the Admin Web Platform team on guidance as to whether a package might belong in Quilt. The Admin Web Platform team's focus is on the web codebase. If you're proposing a package that has not already been widely used in the web codebase then it is unlikely that it would be merged into Quilt.

Usage

The Quilt repo is managed as a monorepo that is composed of 67 npm packages and one Ruby gem. Each package/gem has its own README.md and documentation describing usage.

Package Index

Package Version Status Description
@shopify/address ⚠️ Deprecated Address utilities for formatting addresses
@shopify/address-consts ⚠️ Deprecated Constants and types relating to @shopify/address
@shopify/address-mocks ⚠️ Deprecated Address mocks for @shopify/address
@shopify/admin-graphql-api-utilities ⚠️ Deprecated A set of utilities to use when consuming Shopify’s admin GraphQL API
@shopify/async ⚠️ Deprecated Primitives for loading parts of an application asynchronously
@shopify/browser ⚠️ Deprecated Utilities for extracting browser information from user-agents
@shopify/csrf-token-fetcher ⚠️ Deprecated JavaScript utility function to fetch the CSRF token required to make requests to a Rails server
@shopify/css-utilities ⚠️ Deprecated A set of CSS styling-related utilities
@shopify/dates ⚠️ Deprecated Lightweight date operations library
@shopify/function-enhancers ⚠️ Deprecated A set of helpers to enhance functions
graphql-config-utilities ⚠️ Deprecated Common utilities for graphql-config
graphql-fixtures ⚠️ Deprecated Utilities for generating fixture objects from GraphQL documents.
graphql-mini-transforms ⚠️ Deprecated Transformers for importing .graphql files in various build tools.
@shopify/graphql-testing ⚠️ Deprecated Utilities to create mock GraphQL factories
graphql-tool-utilities ⚠️ Deprecated Common utilities for GraphQL developer tools
graphql-typed ⚠️ Deprecated A more strongly typed version of GraphQL's DocumentNode.
graphql-typescript-definitions ⚠️ Deprecated Generate TypeScript definition files from .graphql documents
@shopify/i18n ⚠️ Deprecated Generic i18n-related utilities
@shopify/jest-dom-mocks ⚠️ Deprecated Jest mocking utilities for working with the DOM
@shopify/jest-koa-mocks ⚠️ Deprecated Utilities to easily stub Koa context and cookies
@shopify/koa-liveness-ping ⚠️ Deprecated A package for creating liveness ping middleware for use with Koa
@shopify/koa-metrics ⚠️ Deprecated Aims to provide standard middleware and instrumentation tooling for metrics in Koa
@shopify/koa-performance ⚠️ Deprecated Creating middleware that sends performance-related data through StatsD
@shopify/koa-shopify-graphql-proxy ⚠️ Deprecated A wrapper around koa-better-http-proxy which allows easy proxying of GraphQL requests from an embedded Shopify app
@shopify/koa-shopify-webhooks ⚠️ Deprecated Receive webhooks from Shopify with ease
@shopify/mime-types ⚠️ Deprecated MIME type consistency
@shopify/name ⚠️ Deprecated Name-related utilities
@shopify/network ⚠️ Deprecated Common values related to dealing with the network
@shopify/performance ⚠️ Deprecated Primitives for collecting browser performance metrics
@shopify/phone ⚠️ Deprecated Phone number utilities for formatting phone numbers
@shopify/polyfills ⚠️ Deprecated Blessed polyfills for web platform features
@shopify/predicates ⚠️ Deprecated A set of common JavaScript predicates
@shopify/react-async ⚠️ Deprecated Tools for creating powerful, asynchronously-loaded React components
@shopify/react-bugsnag ⚠️ Deprecated An opinionated wrapper for Bugsnag's React plugin
@shopify/react-compose ⚠️ Deprecated Cleanly compose multiple component enhancers together with minimal fuss
@shopify/react-cookie ⚠️ Deprecated Cookies in React for the server and client
@shopify/react-csrf ⚠️ Deprecated Share CSRF tokens throughout a React application
@shopify/react-csrf-universal-provider ⚠️ Deprecated A self-serializing/deserializing CSRF token provider that works for isomorphic applications
@shopify/react-effect ⚠️ Deprecated A component and set of utilities for performing effects within a universal React app
@shopify/react-form ⚠️ Deprecated Manage React forms tersely and safely-typed with no magic using React hooks
@shopify/react-form-state ⚠️ Deprecated Manage React forms tersely and type-safely with no magic
@shopify/react-google-analytics ⚠️ Deprecated Allows React apps to easily embed Google Analytics scripts
@shopify/react-graphql ⚠️ Deprecated Tools for creating type-safe and asynchronous GraphQL components for React
@shopify/react-graphql-universal-provider ⚠️ Deprecated A self-serializing/deserializing GraphQL provider that works for isomorphic applications
@shopify/react-hooks ⚠️ Deprecated A collection of primitive React hooks
@shopify/react-html ⚠️ Deprecated A component to render your React app with no static HTML
@shopify/react-hydrate ⚠️ Deprecated Utilities for hydrating server-rendered React apps
@shopify/react-i18n ⚠️ Deprecated i18n utilities for React handling translations, formatting, and more
@shopify/react-i18n-universal-provider ⚠️ Deprecated A self-serializing/deserializing i18n provider that works for isomorphic applications
@shopify/react-idle ⚠️ Deprecated Utilities for working with idle callbacks in React
@shopify/react-import-remote ⚠️ Deprecated Asynchronous script loading for React
@shopify/react-intersection-observer ⚠️ Deprecated A React wrapper around the Intersection Observer API
@shopify/react-network ⚠️ Deprecated A collection of components that allow you to set common HTTP headers from within your React application
@shopify/react-performance ⚠️ Deprecated Primitives to measure your React application's performance using @shopify/performance
@shopify/react-router ⚠️ Deprecated A universal router for React
@shopify/react-server ⚠️ Deprecated Utilities for React server-side rendering
@shopify/react-shortcuts ⚠️ Deprecated Declaratively and efficiently match shortcut combinations in your React application
@shopify/react-testing ⚠️ Deprecated A library for testing React components according to our conventions
@shopify/react-universal-provider ⚠️ Deprecated Factory function and utilities to create self-serializing/deserializing providers that work for isomorphic applications
@shopify/react-web-worker ⚠️ Deprecated A hook for using web workers in React applications
@shopify/semaphore ⚠️ Deprecated Counting semaphore
@shopify/sewing-kit-koa ⚠️ Deprecated Easily access Sewing Kit assets from a Koa server
@shopify/statsd ⚠️ Deprecated An opinionated StatsD client for Shopify Node.js servers and other StatsD utilities
@shopify/storybook-a11y-test ⚠️ Deprecated Test storybook pages with axe and puppeteer
@shopify/useful-types ⚠️ Deprecated A few handy TypeScript types
@shopify/web-worker ⚠️ Deprecated Tools for making web workers fun to use
@shopify/with-env ⚠️ Deprecated A utility for executing code under a specific NODE_ENV

Gem Index

Gem Version Status Description
quilt_rails ⚠️ Deprecated A turn-key solution for integrating server-rendered React into your Rails app using Quilt libraries.

Want to contribute?

Check out our Contributing Guide

Questions?

For Shopifolk, you can reach out to us in Slack in the #help-admin-web-platform channel. For external inquiries, we welcome bug reports, enhancements, and feature requests via GitHub issues.

License

MIT © Shopify, see LICENSE.md for details.

Shopify