All Projects → Shopify → Web Configs

Shopify / Web Configs

Licence: mit
Common configurations for building web apps at Shopify

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Web Configs

Mostly
They mostly come at night; mostly.
Stars: ✭ 78 (-74.17%)
Mutual labels:  eslint, prettier, babel
Barebones
A barebones boilerplate for getting started on a bespoke front end.
Stars: ✭ 127 (-57.95%)
Mutual labels:  eslint, stylelint, babel
React Redux Saucepan
A minimal and universal react redux starter project. With hot reloading, linting and server-side rendering
Stars: ✭ 86 (-71.52%)
Mutual labels:  eslint, prettier, babel
Budgeting
Budgeting - React + Redux + Webpack (tree shaking) Sample App
Stars: ✭ 971 (+221.52%)
Mutual labels:  eslint, prettier, babel
figma-plugin-typescript-boilerplate
Figma plugin TypeScript boilerplate to start developing right away
Stars: ✭ 43 (-85.76%)
Mutual labels:  stylelint, eslint, prettier
Starter React Flux
Generate your React PWA project with TypeScript or JavaScript
Stars: ✭ 65 (-78.48%)
Mutual labels:  eslint, prettier, babel
Static Site Boilerplate
A better workflow for building modern static websites.
Stars: ✭ 1,633 (+440.73%)
Mutual labels:  eslint, stylelint, babel
Serverless Typescript Starter
🗄🙅‍♀️ Deploy your next serverless JavaScript function in seconds
Stars: ✭ 653 (+116.23%)
Mutual labels:  eslint, prettier, babel
React Starter Kit
React, Redux, Webpack, Material UI, Boostrap 4, Code Splitting, HMR
Stars: ✭ 229 (-24.17%)
Mutual labels:  eslint, prettier, babel
Front End Guide
📚 Study guide and introduction to the modern front end stack.
Stars: ✭ 14,073 (+4559.93%)
Mutual labels:  eslint, stylelint, babel
Express React Boilerplate
🚀🚀🚀 This is a tool that helps programmers create Express & React projects easily base on react-cool-starter.
Stars: ✭ 32 (-89.4%)
Mutual labels:  eslint, prettier, babel
react-component-library-lerna
Build your own React component library managed with lerna, presented with storybook and published in private npm registry.
Stars: ✭ 55 (-81.79%)
Mutual labels:  stylelint, eslint, prettier
React Ssr Starter
All have been introduced React environment
Stars: ✭ 20 (-93.38%)
Mutual labels:  eslint, prettier, stylelint
Vue Web Extension
🛠️ A Vue CLI 3+ preset (previously a Vue CLI 2 boilerplate) for quickly starting a web extension with Vue, Babel, ESLint and more!
Stars: ✭ 1,147 (+279.8%)
Mutual labels:  eslint, prettier, babel
React Ssr Setup
React Starter Project with Webpack 4, Babel 7, TypeScript, CSS Modules, Server Side Rendering, i18n and some more niceties
Stars: ✭ 678 (+124.5%)
Mutual labels:  eslint, prettier, babel
Lecture Frontend Dev Env
"[인프런] 프론트엔드 개발환경의 이해와 실습" 강의 실습 자료입니다.
Stars: ✭ 108 (-64.24%)
Mutual labels:  eslint, prettier, babel
Apollo Upload Examples
A full stack demo of file uploads via GraphQL mutations using Apollo Server and apollo-upload-client.
Stars: ✭ 358 (+18.54%)
Mutual labels:  eslint, prettier, babel
React 2048 Game
🎮 A fancy 2048 game build with react, redux best practices.
Stars: ✭ 401 (+32.78%)
Mutual labels:  eslint, prettier, stylelint
Express Webpack React Redux Typescript Boilerplate
🎉 A full-stack boilerplate that using express with webpack, react and typescirpt!
Stars: ✭ 156 (-48.34%)
Mutual labels:  eslint, stylelint, babel
dva-typescript-antd-starter-kit
A admin dashboard application demo based on antd by typescript and dva
Stars: ✭ 61 (-79.8%)
Mutual labels:  stylelint, eslint, prettier

Web Configs

License: MIT lerna

This repository contains common configurations for building web apps at Shopify.

Usage

This repo is managed as a monorepo that is composed of many npm packages, where each package has its own README and documentation describing usage.

Package Index

Name NPM Size
babel-preset npm version npm bundle size (minified + gzip)
browserslist-config npm version npm bundle size (minified + gzip)
eslint-plugin npm version npm bundle size (minified + gzip)
images npm version npm bundle size (minified + gzip)
postcss-plugin npm version npm bundle size (minified + gzip)
prettier-config npm version npm bundle size (minified + gzip)
stylelint-plugin npm version npm bundle size (minified + gzip)
typescript-configs npm version npm bundle size (minified + gzip)

Contribution

This repository has a CLA-Bot running which will ask contributors to sign a Contributor License Agreement (CLA).

Shopify has also adopted a Code of Conduct that we expect contributors to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.

Ways to contribute

There are many ways to contribute, some of which are:

  • Filing bug reports
  • Requesting new features or packages via an issue
  • Improving the existing codebase by picking up an issue, improving tests, or furthering documentation

Development

Getting Started

# Shopify Employee
dev clone web-configs
dev up

# External Contributor - To start working on the codebase, first fork the repo, then clone it
git clone [email protected]:{your-username}/web-configs.git # replace {your-username} with your GitHub handle
yarn # install project dependencies
yarn lerna bootstrap
What is dev?

dev is a tool to standardize a small set of common tasks across all projects at Shopify. If you're wondering how to execute the dev commands as an external contributor, you can see where they are defined in this project's dev.yml file.

Testing your changes in a local project

To try out your changes in another locally cloned project, you can use yarn tophat <[email protected]> <relative-path-to-project>. Using this command rather than yarn link will set up a watcher let you make changes without needing to rerun any commands.

Example: To test my changes to @shopify/react-form-state in my local project named my-project, I would run yarn tophat react-form-state ../path/to/my-project.

More usage instructions on the tophat command can be found here.

Documentation

If your change affects the public API of any packages within this repository (i.e. adding or changing arguments to a function, adding a new function, changing the return value, etc), please ensure the documentation is updated, and a changelog is added to reflect this. Documentation is in the README.md files of each package. If further documentation is needed please communicate via a GitHub issue.

Testing

The packages in this repository are used in mission-critical production scenarios. As such, we do not merge any untested code.

To run the full test suite, simply run dev test or yarn test.

Releasing

The release process currently involves some manual steps to complete. Once your PR has been merged, our team will orchestrate when to cut a new release.

Note Version numbers in package.json files should never be altered manually. This will be done via scripts as part of the release process.

License

MIT © Shopify, see LICENSE.md for details.

Shopify

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].