react-liquid-theme
TypeScript icon, indicating that this package has built-in type declarations

0.11.2 โ€ข Public โ€ข Published

React Liquid Theme

A tool for building Shopify themes using React components.


๐Ÿ“ฆ Installation

npm install react-liquid-theme

๐Ÿš€ Usage

โš ๏ธ Note: This package only supports ESM (ECMAScript Modules). It will not work with CommonJS.

Include this in a definition file (e.g., src/declarations.d.ts).

/// <reference types="react-liquid-theme/declarations" />

Then Run this command to generate the Shopify theme files:

# Generate liquid files from React components
npx react-liquid-theme generate

Setting up an example project

mkdir my-theme
cd my-theme
npm install react-liquid-theme
npx react-liquid-theme setup

react-liquid-theme generate Options

Option Alias Type Default Description
--source -s string src Source directory for React components
--dist -d string .react-liquid Intermediate JS output dir (add to .gitignore)
--theme -t string theme Shopify theme output directory
--watch -w boolean false Watch mode for development
--env string .env Environment file
--css string main.css Output CSS file name
--js string main.js Output JS file name

๐Ÿ“ File Types

Use file suffixes to automatically route to Shopify theme folders, the .client.extension.ts files will be compiled to a single main.js file in the assets directory.

File Pattern Output Directory
*.snippet.tsx theme/snippets
*.section.tsx theme/sections
*.template.tsx theme/templates
*.{section,template,snippet}.client.ts assets/main.js

๐ŸŽจ Style Support

React Liquid Theme supports:

  • CSS
  • SCSS
  • CSS/SCSS Modules

Import styles into React components, and they will be bundled into main.css in the theme/assets directory.


๐Ÿงน Built-in Components

These React components map to Liquid tags or control flow logic:

Component Description
LiquidAssign {% assign %}
LiquidBreak {% break %}
LiquidCapture {% capture %}
LiquidContinue {% continue %}
LiquidFor {% for %}
LiquidIf {% if %}
LiquidUnless {% unless %}
LiquidStatement {% liquid %}
LiquidExpression {{ expression }}
LiquidTag Can create any tag

๐Ÿงช Requirements

  • Node.js โ‰ฅ 20
  • Peer dependencies:
    • react โ‰ฅ 19
    • react-dom โ‰ฅ 19
    • typescript โ‰ฅ 5.8
    • sass >= 1

๐Ÿ“ License

MIT

/react-liquid-theme/

    Package Sidebar

    Install

    npm i react-liquid-theme

    Weekly Downloads

    45

    Version

    0.11.2

    License

    MIT

    Unpacked Size

    58 kB

    Total Files

    86

    Last publish

    Collaborators

    • pooya.badiee