Polaris

screenshot of Polaris
react

Shopify’s design system to help us work together to build a great experience for all of our merchants.

Overview

Polaris is a repository created by Shopify that aims to shape the merchant experience for Shopify's core product, the admin. This repository includes NPM packages, VSCode extensions, and websites. Polaris focuses on enhancing the user experience and providing a consistent design language for merchants using Shopify.

Features

  • Monorepo: Polaris is an intergalactic monorepo that consists of NPM packages, VSCode extensions, and websites.
  • Command Line Interface: Polaris provides a CLI tool that allows you to install dependencies, build workspaces, and run commands.
  • React Component Storybook: Polaris offers a command yarn turbo run dev --filter=@shopify/polaris that opens the React component storybook, allowing you to easily develop and test components.
  • NextJS Site: Polaris also provides a command yarn turbo run dev --filter=polaris.shopify.com that opens the Polaris shopify.com NextJS site, allowing you to preview and work with the site.
  • Contribution: Polaris welcomes contributions through pull requests. You can refer to the contribution guidelines for more information.
  • Licensing: The source code of Polaris is under a custom license based on MIT. Usage of Polaris is restricted to applications that integrate or interoperate with Shopify software or services, with additional restrictions for external, stand-alone applications. All icons and images are licensed under the Polaris Design Guidelines License Agreement.
react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

ui-kit
UI Kits & Components

A UI kit provides developers with a set of reusable components that can be easily integrated into a website or application. These components are pre-designed with consistent styling and functionality, allowing developers to save time and effort in the design and development process. UI kits can be either custom-built or third-party, and often include components for buttons, forms, typography, icons, and more.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

rollup
Rollup

RollupJS is a popular and efficient JavaScript module bundler that takes the code from multiple modules and packages them into a single optimized file, minimizing the overall size of the application and improving its performance.

Stylelint

Stylelint is a modern linter for CSS that helps you avoid errors and enforce consistent styling conventions. It provides rules for detecting errors and warnings, and can be configured to match your specific project's requirements.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.