Skip to content

OpenForgeProject/ddev-woodoo-buildtools-magento

Repository files navigation

[DDEV] Woodoo Frontend Buildtools for Magento & Hyvä

Codacy Badge tests Last commit date Badge Release-Badge Sponsors Join our Discord


This ddev add-on helps you to manage your theme build processes in Magento easily. You can run a build command to build all your themes or a specific theme. It doesn't matter if the theme is a Magento Standard Theme, a Custom Theme, or a Hyva theme. It automatically takes care of which type of theme you use and builds it for you. If a dependency is missing, Woodoo will install it.

>> Build all your Magento themes at once, with Magic, build with Woodoo!

Supported Versions Status
All Hyvä Versions supported project is maintained
Hyvä Fallback is supported project is maintained
Magento 2 Supported project is maintained
MageOS is supported project is maintained
Avanta B2B is supported project is maintained

Features

  • Automatic Theme Detection: Automatically detects and builds Magento Standard, Custom, and Hyvä themes.
  • Dependency Management: Installs missing dependencies automatically.
  • Theme Configuration: Easily configure theme paths in .ddev/config-themes.yaml.
  • Build Commands: Build all themes or specific themes with simple commands.
  • Watch Mode: Watch for CSS and JS changes in specific themes.
  • Self-Test: Perform a self-check to identify potential problems.
  • Update Notifications: Get notified about new releases and update easily.
  • Developer Preview: Option to use the latest developer preview version.

Getting Started

Installation

1. Get the latest Version with following command in your ddev project root

Latest stable version (recommended)

For DDEV v1.23.5 or above run

ddev add-on get OpenForgeProject/ddev-woodoo-buildtools-magento

For earlier versions of DDEV run

ddev get OpenForgeProject/ddev-woodoo-buildtools-magento
Latest Developer-Preview (Main-Branch - unreleased) - can be unstable!

For DDEV v1.23.5 or above run

ddev add-on get https://github.com/OpenForgeProject/ddev-woodoo-buildtools-magento/archive/refs/heads/main.tar.gz

For earlier versions of DDEV run

ddev get https://github.com/OpenForgeProject/ddev-woodoo-buildtools-magento/archive/refs/heads/main.tar.gz

2. Start Woodoo INIT to update your ./ddev/config.yaml

Automatically connect to your ddev database to list all available themes and add these to .ddev/config-themes.yaml. Add theme path if possible (can be edited later)

ddev frontend init

3. Edit theme path in .ddev/config-themes.yaml Open .ddev/config-themes.yaml and specify relative path to the theme based on your project structure. (E.g. src/themeVendor/theme ... or app/design/frontend/themeVendor/theme/ ...)

Update Woodoo to latest stable Version

If a newer Release is available you will be notified in your CLI about new versions. To update use ddev frontend-update for the latest stable Version.

  ddev frontend-update

Get Developer Preview

If you want to get the latest developer preview (can be unstable) use ddev frontend-update -dev

  ddev frontend-update -dev

Usage

Usage: ddev frontend [command] [option or theme]

Command:
  init, install         Initial Woodoo Setup to read all themes from database and write to .ddev/config-themes.yaml
  help, -help, -h       Displays help page
  version, --version    Show version
  check, selftest       Frontend Self-Test
  frontend-update       Update to the latest Version (stable Version)
  frontend-update -dev  Update to the latest Main-Branch Version (not recommended)
  themes                List all available themes that are configured in .ddev/config-themes.yaml
  build                 Builds all themes that are configured in .ddev/config-themes.yaml
  build -f              Builds all configured themes without yes/no confirmation
  build theme           Build a specific theme
  watch theme           Watch for CSS and JS changes in a specific theme

Option:
  -f                    Force the build command to run without yes/no confirmation

Aliases:
  f, fe

Usage Examples

Here are some usage examples to help you get started:

Building All Themes

To build all themes configured in .ddev/config-themes.yaml, run:

ddev frontend build

Building a Specific Theme

To build a specific theme, use the theme code as an argument:

ddev frontend build <theme_code>

Watching for Changes

To watch for CSS and JS changes in a specific theme, use:

ddev frontend watch <theme_code>

Troubleshooting Tips

  • Ensure that your theme paths in .ddev/config-themes.yaml are correct and relative to your project root.
  • If you encounter any issues, try running ddev frontend selftest to perform a self-check and identify potential problems.

Feature request

Submit your Feature Request by adding a new issue and add a label with feature-request.


Contributing

Contributions are welcome! Please read the Contributing Guidelines first. Feel free to send your improvements as Pull request.


Watch out for our Contributors, Testers & Supporters


License

License | by Mathias Elle