roots / bud

High-performance build system that supports SWC, esbuild, and Babel
https://bud.js.org/
MIT License
336 stars 37 forks source link

[bug] Failed to compile with bud-sass (name is a required property for extensions) #1351

Closed bchabirand closed 2 years ago

bchabirand commented 2 years ago

Agreement

Expected Behavior

Hello,

I would like to build width bud/sass but it doesn't work.

Actual Behavior

I have this issue when i'm trying to build:

Capture d’écran 2022-05-11 à 19 01 00

Can you help me ?

Thank you.

Steps To Reproduce

  1. composer create-project roots/sage project
  2. cd project && yarn
  3. yarn add @roots/bud-sass --dev
  4. yarn remove @roots/bud-tailwindcss && rm tailwind.config.js
  5. Create app.scss file in resources/styles and delete app.css
  6. Configure bud.config.js
  7. yarn build

version

5.7.6

What package manager are you using?

yarn classic

version

1.22.17

Are you using pnpm?

Logs

$ bud build
✖  Error: name is a required property for extensions
    at new Controller ([secure]/node_modules/@roots/bud-extensions/lib/cjs/Controller/controller.service.js:46:19)
    at Extensions.makeController ([secure]/node_modules/@roots/bud-extensions/lib/cjs/Extensions/extensions.service.js:60:28)
    at Extensions.setController ([secure]/node_modules/@roots/bud-extensions/lib/cjs/Extensions/extensions.service.js:64:33)
    at Extensions.importExtension ([secure]/node_modules/@roots/bud-extensions/lib/cjs/Extensions/extensions.service.js:122:20)
    at async [secure]/node_modules/@roots/bud-extensions/lib/cjs/Extensions/extensions.service.js:99:17
    at async Promise.all (index 0)
    at async Extensions.injectExtensions ([secure]/node_modules/@roots/bud-extensions/lib/cjs/Extensions/extensions.service.js:98:13)
    at async Extensions.booted ([secure]/node_modules/@roots/bud-extensions/lib/cjs/Extensions/extensions.service.js:81:9)
    at async [secure]/node_modules/@roots/bud-framework/lib/cjs/Framework/lifecycle/index.js:57:13
    at async Promise.all (index 0)

Configuration

/**
 * @typedef {import('@roots/bud').Bud} bud
 *
 * @param {bud} app
 */
module.exports = async (app) => {
    app
        /**
         * Application entrypoints
         *
         * Paths are relative to your resources directory
         */
        .entry({
            app: ['@scripts/app', '@styles/app']
        })

        /**
         * These files should be processed as part of the build
         * even if they are not explicitly imported in application assets.
         */
        .assets('images')

        /**
         * These files will trigger a full page reload
         * when modified.
         */
        .watch('resources/views/**/*', 'app/**/*', 'resources/scripts/*', 'resources/styles/*')

        /**
         * Target URL to be proxied by the dev server.
         *
         * This should be the URL you use to visit your local development server.
         */
        .proxy('http://sage.local')

        /**
         * Development URL to be used in the browser.
         */
        .serve('http://127.0.0.1:8000');
};

Relevant .budfiles

Profile.json

{
  "version": null,
  "config": {
    "development": {},
    "production": {},
    "base": {
      ".editorconfig": {
        "name": ".editorconfig",
        "path": "/Users/thomas/dev/sage/web/app/themes/sage/.editorconfig",
        "module": {}
      },
      "bud.config.js": {
        "name": "bud.config.js",
        "path": "/Users/thomas/dev/sage/web/app/themes/sage/bud.config.js"
      },
      "package.json": {
        "name": "package.json",
        "path": "/Users/thomas/dev/sage/web/app/themes/sage/package.json",
        "module": {
          "name": "sage",
          "private": true,
          "browserslist": [
            "extends @wordpress/browserslist-config"
          ],
          "engines": {
            "node": ">=16.0.0"
          },
          "scripts": {
            "dev": "bud dev",
            "build": "bud build",
            "translate": "npm run translate:pot && npm run translate:js",
            "translate:pot": "wp i18n make-pot . ./resources/lang/sage.pot --ignore-domain --include=\"app,resources\"",
            "translate:js": "wp i18n make-json ./resources/lang --pretty-print"
          },
          "devDependencies": {
            "@roots/bud": "5.7.6",
            "@roots/bud-sass": "^5.8.0",
            "@roots/sage": "5.7.6",
            "rfs": "^9.0.6"
          }
        }
      },
      "composer.json": {
        "name": "composer.json",
        "path": "/Users/thomas/dev/sage/web/app/themes/sage/composer.json",
        "module": {
          "name": "roots/sage",
          "type": "wordpress-theme",
          "license": "MIT",
          "description": "WordPress starter theme with a modern development workflow",
          "homepage": "https://roots.io/sage/",
          "authors": [
            {
              "name": "Ben Word",
              "email": "ben@benword.com",
              "homepage": "https://github.com/retlehs"
            },
            {
              "name": "Scott Walkinshaw",
              "email": "scott.walkinshaw@gmail.com",
              "homepage": "https://github.com/swalkinshaw"
            },
            {
              "name": "QWp6t",
              "email": "hi@qwp6t.me",
              "homepage": "https://github.com/qwp6t"
            },
            {
              "name": "Brandon Nifong",
              "email": "brandon@tendency.me",
              "homepage": "https://github.com/log1x"
            }
          ],
          "keywords": [
            "wordpress"
          ],
          "support": {
            "issues": "https://github.com/roots/sage/issues",
            "forum": "https://discourse.roots.io/"
          },
          "autoload": {
            "psr-4": {
              "App\\": "app/"
            }
          },
          "require": {
            "php": "^7.4|^8.0"
          },
          "require-dev": {
            "squizlabs/php_codesniffer": "^3.6"
          },
          "suggest": {
            "log1x/sage-directives": "A collection of useful Blade directives for WordPress and Sage (^1.0).",
            "log1x/sage-svg": "A useful SVG directive for inlining SVG's within Blade views (^1.0)."
          },
          "config": {
            "optimize-autoloader": true,
            "preferred-install": "dist",
            "sort-packages": true
          },
          "minimum-stability": "dev",
          "prefer-stable": true,
          "scripts": {
            "lint": [
              "phpcs --extensions=php --standard=PSR12 app"
            ]
          },
          "extra": {
            "acorn": {
              "providers": [
                "App\\Providers\\ThemeServiceProvider"
              ]
            }
          }
        }
      },
      "jsconfig.json": {
        "name": "jsconfig.json",
        "path": "/Users/thomas/dev/sage/web/app/themes/sage/jsconfig.json",
        "module": {
          "compilerOptions": {
            "allowSyntheticDefaultImports": true,
            "jsx": "preserve",
            "lib": [
              "dom",
              "dom.iterable",
              "esnext"
            ],
            "module": "commonjs",
            "moduleResolution": "node",
            "paths": {
              "@scripts/*": [
                "./resources/scripts/*"
              ],
              "@styles/*": [
                "./resources/styles/*"
              ]
            }
          },
          "exclude": [
            "./public",
            "./node_modules"
          ]
        }
      },
      "theme.json": {
        "name": "theme.json",
        "path": "/Users/thomas/dev/sage/web/app/themes/sage/theme.json",
        "module": {
          "$schema": "https://schemas.wp.org/trunk/theme.json",
          "version": 2,
          "settings": {
            "color": {
              "palette": [
                {
                  "slug": "primary",
                  "color": "#525ddc",
                  "name": "Primary"
                }
              ],
              "custom": false,
              "customGradient": false,
              "defaultPalette": false,
              "defaultGradients": false
            },
            "custom": {
              "spacing": {},
              "typography": {
                "font-size": {},
                "line-height": {}
              }
            },
            "spacing": {
              "padding": true,
              "units": [
                "px",
                "%",
                "em",
                "rem",
                "vw",
                "vh"
              ]
            },
            "typography": {
              "customFontSize": false
            }
          }
        }
      }
    }
  },
  "manifest": {
    "name": "sage",
    "private": true,
    "browserslist": [
      "extends @wordpress/browserslist-config"
    ],
    "engines": {
      "node": ">=16.0.0"
    },
    "scripts": {
      "dev": "bud dev",
      "build": "bud build",
      "translate": "npm run translate:pot && npm run translate:js",
      "translate:pot": "wp i18n make-pot . ./resources/lang/sage.pot --ignore-domain --include=\"app,resources\"",
      "translate:js": "wp i18n make-json ./resources/lang --pretty-print"
    },
    "devDependencies": {
      "@roots/bud": "5.7.6",
      "@roots/bud-sass": "^5.8.0",
      "@roots/sage": "5.7.6",
      "rfs": "^9.0.6"
    }
  },
  "installed": {
    "@roots/bud": "5.7.6",
    "@roots/bud-sass": "^5.8.0",
    "@roots/sage": "5.7.6",
    "rfs": "^9.0.6"
  },
  "context": {
    "name": "bud",
    "cwd": "/Users/thomas/dev/sage/web/app/themes/sage",
    "projectDir": "/Users/thomas/dev/sage/web/app/themes/sage",
    "manifest": {
      "name": "sage",
      "private": true,
      "browserslist": [
        "extends @wordpress/browserslist-config"
      ],
      "engines": {
        "node": ">=16.0.0"
      },
      "scripts": {
        "dev": "bud dev",
        "build": "bud build",
        "translate": "npm run translate:pot && npm run translate:js",
        "translate:pot": "wp i18n make-pot . ./resources/lang/sage.pot --ignore-domain --include=\"app,resources\"",
        "translate:js": "wp i18n make-json ./resources/lang --pretty-print"
      },
      "devDependencies": {
        "@roots/bud": "5.7.6",
        "@roots/bud-sass": "^5.8.0",
        "@roots/sage": "5.7.6",
        "rfs": "^9.0.6"
      }
    },
    "disk": {
      "projectDir": "/Users/thomas/dev/sage/web/app/themes/sage",
      "config": {
        "package.json": "/Users/thomas/dev/sage/web/app/themes/sage/package.json",
        ".editorconfig": "/Users/thomas/dev/sage/web/app/themes/sage/.editorconfig",
        "bud.config.js": "/Users/thomas/dev/sage/web/app/themes/sage/bud.config.js",
        "composer.json": "/Users/thomas/dev/sage/web/app/themes/sage/composer.json",
        "jsconfig.json": "/Users/thomas/dev/sage/web/app/themes/sage/jsconfig.json",
        "theme.json": "/Users/thomas/dev/sage/web/app/themes/sage/theme.json"
      }
    },
    "application": {
      "dir": "/Users/thomas/dev/sage/web/app/themes/sage/node_modules/@roots/bud",
      "name": "@roots/bud",
      "version": "5.7.6",
      "description": "Frontend build tools combining the best parts of Symfony Encore and Laravel Mix",
      "homepage": "https://roots.io/bud",
      "repository": {
        "type": "git",
        "url": "https://github.com/roots/bud.git",
        "directory": "sources/@roots/bud"
      },
      "contributors": [
        {
          "name": "kellymears",
          "url": "https://github.com/kellymears"
        },
        {
          "name": "QWp6t",
          "url": "https://github.com/QWp6t"
        },
        {
          "name": "clayrisser",
          "url": "https://github.com/clayrisser"
        }
      ],
      "license": "MIT",
      "bugs": {
        "url": "https://github.com/roots/bud/issues"
      },
      "funding": {
        "type": "github sponsors",
        "url": "https://github.com/sponsors/roots"
      },
      "keywords": [
        "bud",
        "roots",
        "webpack"
      ],
      "engines": {
        "node": ">=14"
      },
      "bin": "./bin/bud.js",
      "files": [
        "assets/",
        "bin/",
        "lib/",
        "types/",
        "vendor/"
      ],
      "main": "./lib/cjs/index.js",
      "module": "./lib/esm/index.js",
      "exports": {
        ".": {
          "require": "./lib/cjs/index.js",
          "import": "./lib/esm/index.js"
        }
      },
      "types": "./types/index.d.ts",
      "devDependencies": {
        "@skypack/package-check": "0.2.2",
        "@types/braces": "3.0.1",
        "@types/fs-extra": "9.0.13",
        "@types/lodash": "4.14.180",
        "@types/mini-css-extract-plugin": "2.5.0",
        "@types/node": "16.11.26",
        "@types/node-notifier": "8.0.2"
      },
      "dependencies": {
        "@roots/bud-api": "5.7.6",
        "@roots/bud-build": "5.7.6",
        "@roots/bud-cache": "5.7.6",
        "@roots/bud-compiler": "5.7.6",
        "@roots/bud-dashboard": "5.7.6",
        "@roots/bud-extensions": "5.7.6",
        "@roots/bud-framework": "5.7.6",
        "@roots/bud-hooks": "5.7.6",
        "@roots/bud-server": "5.7.6",
        "@roots/bud-support": "5.7.6",
        "@roots/container": "5.7.6",
        "@roots/dependencies": "5.7.6",
        "clean-webpack-plugin": "^4.0.0",
        "clipanion": "3.2.0-rc.10",
        "copy-webpack-plugin": "^10.0.0",
        "html-webpack-plugin": "^5.5.0",
        "mini-css-extract-plugin": "^2.4.5",
        "node-notifier": "10.0.1",
        "schema-utils": "4.0.0",
        "tslib": "^2.3.1",
        "typanion": "3.7.1",
        "type-fest": "^2.5.4",
        "webpack": "5.70.0",
        "webpack-cli": "^4.9.1",
        "webpack-manifest-plugin": "^5.0.0"
      }
    },
    "env": {
      "NVM_INC": "/Users/thomas/.nvm/versions/node/v16.15.0/include/node",
      "TERM_PROGRAM": "iTerm.app",
      "NODE": "/Users/thomas/.nvm/versions/node/v16.15.0/bin/node",
      "INIT_CWD": "/Users/thomas/dev/sage/web/app/themes/sage",
      "NVM_CD_FLAGS": "-q",
      "npm_config_version_git_tag": "true",
      "TERM": "xterm-256color",
      "SHELL": "/bin/zsh",
      "TMPDIR": "/var/folders/wy/kddrcf1n0q12pf7kzlfggv8r0000gn/T/",
      "npm_package_scripts_translate": "npm run translate:pot && npm run translate:js",
      "npm_config_init_license": "MIT",
      "TERM_PROGRAM_VERSION": "3.2.9",
      "npm_package_scripts_dev": "bud dev",
      "TERM_SESSION_ID": "w0t0p3:5377C56A-789A-4BE8-AB25-66542AA9A271",
      "npm_package_scripts_translate_js": "wp i18n make-json ./resources/lang --pretty-print",
      "npm_package_private": "true",
      "npm_config_registry": "https://registry.yarnpkg.com",
      "ZSH": "/Users/thomas/.oh-my-zsh",
      "npm_package_readmeFilename": "README.md",
      "NVM_DIR": "/Users/thomas/.nvm",
      "USER": "thomas",
      "npm_package_description": "**Sage** is an open source project and completely free to use.",
      "npm_package_devDependencies__roots_sage": "5.7.6",
      "npm_package_license": "MIT",
      "COMMAND_MODE": "unix2003",
      "SSH_AUTH_SOCK": "/private/tmp/com.apple.launchd.kGprguvOon/Listeners",
      "__CF_USER_TEXT_ENCODING": "0x1F5:0x0:0x1",
      "npm_execpath": "/usr/local/Cellar/yarn/1.22.17_2/libexec/bin/yarn.js",
      "PAGER": "less",
      "LSCOLORS": "Gxfxcxdxbxegedabagacad",
      "PATH": "/var/folders/wy/kddrcf1n0q12pf7kzlfggv8r0000gn/T/yarn--1652288395573-0.18162147659071204:/Users/thomas/dev/sage/web/app/themes/sage/node_modules/.bin:/Users/thomas/.config/yarn/link/node_modules/.bin:/Users/thomas/.nvm/versions/node/v16.15.0/libexec/lib/node_modules/npm/bin/node-gyp-bin:/Users/thomas/.nvm/versions/node/v16.15.0/lib/node_modules/npm/bin/node-gyp-bin:/Users/thomas/.nvm/versions/node/v16.15.0/bin/node_modules/npm/bin/node-gyp-bin:/usr/local/bin/php:/usr/local/opt/node@10/bin:/Users/thomas/.nvm/versions/node/v16.15.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Frameworks/Mono.framework/Versions/Current/Commands",
      "npm_config_argv": "{\"remain\":[],\"cooked\":[\"run\",\"dev\"],\"original\":[\"dev\"]}",
      "_": "/Users/thomas/dev/sage/web/app/themes/sage/node_modules/.bin/bud",
      "LaunchInstanceID": "384D037B-7F10-4363-82E2-39A3AF2D8259",
      "PWD": "/Users/thomas/dev/sage/web/app/themes/sage",
      "npm_lifecycle_event": "dev",
      "LANG": "fr_FR.UTF-8",
      "npm_package_name": "sage",
      "ITERM_PROFILE": "Default",
      "npm_package_scripts_build": "bud build",
      "npm_config_version_commit_hooks": "true",
      "XPC_FLAGS": "0x0",
      "npm_package_devDependencies_rfs": "^9.0.6",
      "npm_package_devDependencies__roots_bud_sass": "^5.8.0",
      "npm_config_bin_links": "true",
      "npm_package_engines_node": ">=16.0.0",
      "XPC_SERVICE_NAME": "0",
      "npm_package_version": "",
      "SHLVL": "2",
      "HOME": "/Users/thomas",
      "COLORFGBG": "7;0",
      "npm_package_devDependencies__roots_bud": "5.7.6",
      "npm_config_save_prefix": "^",
      "npm_config_strict_ssl": "true",
      "npm_config_version_git_message": "v%s",
      "ITERM_SESSION_ID": "w0t0p3:5377C56A-789A-4BE8-AB25-66542AA9A271",
      "LESS": "-R",
      "LOGNAME": "thomas",
      "YARN_WRAP_OUTPUT": "false",
      "npm_package_browserslist_0": "extends @wordpress/browserslist-config",
      "PREFIX": "/usr/local",
      "npm_lifecycle_script": "bud dev",
      "npm_package_scripts_translate_pot": "wp i18n make-pot . ./resources/lang/sage.pot --ignore-domain --include=\"app,resources\"",
      "NVM_BIN": "/Users/thomas/.nvm/versions/node/v16.15.0/bin",
      "npm_config_version_git_sign": "",
      "npm_config_ignore_scripts": "",
      "npm_config_user_agent": "yarn/1.22.17 npm/? node/v16.15.0 darwin x64",
      "npm_config_init_version": "1.0.0",
      "npm_config_ignore_optional": "",
      "SECURITYSESSIONID": "186a6",
      "npm_config_unsafe_perm": "true",
      "COLORTERM": "truecolor",
      "npm_node_execpath": "/Users/thomas/.nvm/versions/node/v16.15.0/bin/node",
      "npm_config_version_tag_prefix": "v",
      "DB_NAME": "sage",
      "DB_USER": "thomas",
      "DB_PASSWORD": "",
      "WP_ENV": "development",
      "WP_HOME": "http://sage.local",
      "WP_SITEURL": "http://sage.local/wp",
      "AUTH_KEY": "generateme",
      "SECURE_AUTH_KEY": "generateme",
      "LOGGED_IN_KEY": "generateme",
      "NONCE_KEY": "generateme",
      "AUTH_SALT": "generateme",
      "SECURE_AUTH_SALT": "generateme",
      "LOGGED_IN_SALT": "generateme",
      "NONCE_SALT": "generateme"
    },
    "colorDepth": 256,
    "args": {
      "debug": false,
      "indicator": true,
      "mode": "development",
      "notify": true,
      "overlay": true,
      "verbose": false
    }
  },
  "publicEnv": {},
  "modules": {
    "root": {
      "name": "root",
      "private": true,
      "browserslist": [
        "extends @wordpress/browserslist-config"
      ],
      "engines": {
        "node": ">=16.0.0"
      },
      "scripts": {
        "dev": "bud dev",
        "build": "bud build",
        "translate": "npm run translate:pot && npm run translate:js",
        "translate:pot": "wp i18n make-pot . ./resources/lang/sage.pot --ignore-domain --include=\"app,resources\"",
        "translate:js": "wp i18n make-json ./resources/lang --pretty-print"
      },
      "devDependencies": {
        "@roots/bud": "5.7.6",
        "@roots/bud-sass": "^5.8.0",
        "@roots/sage": "5.7.6",
        "rfs": "^9.0.6"
      },
      "version": "0.0.0",
      "bud": null,
      "resolvable": true,
      "requires": [
        [
          "@roots/bud",
          "5.7.6"
        ],
        [
          "@roots/bud-sass",
          "^5.8.0"
        ],
        [
          "@roots/sage",
          "5.7.6"
        ],
        [
          "rfs",
          "^9.0.6"
        ]
      ]
    },
    "@roots/bud-sass": {
      "name": "@roots/bud-sass",
      "version": "5.8.0",
      "bud": {
        "type": "extension"
      },
      "resolvable": true,
      "peerDependencies": {
        "postcss": "*",
        "postcss-scss": "*",
        "sass": "*",
        "sass-loader": "*",
        "stylelint-config-recommended-scss": "*"
      },
      "requires": []
    },
    "@roots/sage": {
      "name": "@roots/sage",
      "version": "5.7.6",
      "bud": {
        "type": "extension",
        "peers": [
          "@roots/bud-preset-wordpress"
        ]
      },
      "resolvable": true,
      "peerDependencies": {},
      "requires": [
        [
          "@roots/bud-preset-wordpress",
          "5.7.6"
        ]
      ]
    },
    "@roots/bud-preset-wordpress": {
      "name": "@roots/bud-preset-wordpress",
      "version": "5.7.6",
      "bud": {
        "type": "extension",
        "peers": [
          "@roots/bud-babel",
          "@roots/bud-entrypoints",
          "@roots/bud-postcss",
          "@roots/bud-preset-recommend",
          "@roots/bud-react",
          "@roots/bud-wordpress-externals",
          "@roots/bud-wordpress-dependencies",
          "@roots/bud-wordpress-manifests"
        ]
      },
      "resolvable": true,
      "peerDependencies": {
        "@wordpress/browserslist-config": "^4.1.0"
      },
      "requires": [
        [
          "@roots/bud-babel",
          "5.7.6"
        ],
        [
          "@roots/bud-entrypoints",
          "5.7.6"
        ],
        [
          "@roots/bud-postcss",
          "5.7.6"
        ],
        [
          "@roots/bud-preset-recommend",
          "5.7.6"
        ],
        [
          "@roots/bud-react",
          "5.7.6"
        ],
        [
          "@roots/bud-wordpress-externals",
          "5.7.6"
        ],
        [
          "@roots/bud-wordpress-dependencies",
          "5.7.6"
        ],
        [
          "@roots/bud-wordpress-manifests",
          "5.7.6"
        ]
      ]
    },
    "@roots/bud-preset-recommend": {
      "name": "@roots/bud-preset-recommend",
      "version": "5.7.6",
      "bud": {
        "type": "extension",
        "peers": [
          "@roots/bud-babel",
          "@roots/bud-entrypoints",
          "@roots/bud-postcss"
        ]
      },
      "resolvable": true,
      "peerDependencies": {},
      "requires": [
        [
          "@roots/bud-babel",
          "5.7.6"
        ],
        [
          "@roots/bud-entrypoints",
          "5.7.6"
        ],
        [
          "@roots/bud-postcss",
          "5.7.6"
        ]
      ]
    },
    "@roots/bud-entrypoints": {
      "name": "@roots/bud-entrypoints",
      "version": "5.7.6",
      "bud": {
        "type": "extension"
      },
      "resolvable": true,
      "peerDependencies": {},
      "requires": []
    },
    "@roots/bud-babel": {
      "name": "@roots/bud-babel",
      "version": "5.7.6",
      "bud": {
        "type": "extension"
      },
      "resolvable": true,
      "peerDependencies": {
        "@babel/core": "^7.16.10",
        "@babel/plugin-proposal-class-properties": "^7.16.0",
        "@babel/plugin-proposal-object-rest-spread": "^7.16.0",
        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
        "@babel/plugin-transform-runtime": "^7.16.4",
        "@babel/preset-env": "^7.16.4",
        "babel-loader": "^8.2.3",
        "babel-plugin-add-module-exports": "^1.0.4"
      },
      "requires": []
    },
    "@roots/bud-postcss": {
      "name": "@roots/bud-postcss",
      "version": "5.8.0",
      "bud": {
        "type": "extension"
      },
      "resolvable": true,
      "peerDependencies": {
        "postcss": "*",
        "postcss-import": "*",
        "postcss-loader": "*",
        "postcss-nested": "*",
        "postcss-preset-env": "*"
      },
      "requires": []
    },
    "@roots/bud-wordpress-externals": {
      "name": "@roots/bud-wordpress-externals",
      "version": "5.7.6",
      "bud": {
        "type": "extension"
      },
      "resolvable": true,
      "peerDependencies": {},
      "requires": []
    },
    "@roots/bud-react": {
      "name": "@roots/bud-react",
      "version": "5.7.6",
      "bud": {
        "type": "extension",
        "peers": [
          "@roots/bud-babel"
        ]
      },
      "resolvable": true,
      "peerDependencies": {
        "react": "^17.0.2",
        "react-dom": "^17.0.2"
      },
      "requires": [
        [
          "@roots/bud-babel",
          "5.7.6"
        ]
      ]
    },
    "@roots/bud-wordpress-dependencies": {
      "name": "@roots/bud-wordpress-dependencies",
      "version": "5.7.6",
      "bud": {
        "type": "extension"
      },
      "resolvable": true,
      "peerDependencies": {},
      "requires": []
    },
    "@roots/bud-wordpress-manifests": {
      "name": "@roots/bud-wordpress-manifests",
      "version": "5.7.6",
      "bud": {
        "type": "extension"
      },
      "resolvable": true,
      "peerDependencies": {},
      "requires": []
    }
  },
  "adjacents": [
    {
      "name": "@roots/bud-wordpress-manifests",
      "version": "5.7.6",
      "bud": {
        "type": "extension"
      },
      "resolvable": true,
      "peerDependencies": {},
      "requires": []
    },
    {
      "name": "@roots/bud-wordpress-dependencies",
      "version": "5.7.6",
      "bud": {
        "type": "extension"
      },
      "resolvable": true,
      "peerDependencies": {},
      "requires": []
    },
    {
      "name": "@roots/bud-wordpress-externals",
      "version": "5.7.6",
      "bud": {
        "type": "extension"
      },
      "resolvable": true,
      "peerDependencies": {},
      "requires": []
    },
    {
      "name": "@roots/bud-react",
      "version": "5.7.6",
      "bud": {
        "type": "extension",
        "peers": [
          "@roots/bud-babel"
        ]
      },
      "resolvable": true,
      "peerDependencies": {
        "react": "^17.0.2",
        "react-dom": "^17.0.2"
      },
      "requires": [
        [
          "@roots/bud-babel",
          "5.7.6"
        ]
      ]
    },
    {
      "name": "@roots/bud-preset-recommend",
      "version": "5.7.6",
      "bud": {
        "type": "extension",
        "peers": [
          "@roots/bud-babel",
          "@roots/bud-entrypoints",
          "@roots/bud-postcss"
        ]
      },
      "resolvable": true,
      "peerDependencies": {},
      "requires": [
        [
          "@roots/bud-babel",
          "5.7.6"
        ],
        [
          "@roots/bud-entrypoints",
          "5.7.6"
        ],
        [
          "@roots/bud-postcss",
          "5.7.6"
        ]
      ]
    },
    {
      "name": "@roots/bud-postcss",
      "version": "5.8.0",
      "bud": {
        "type": "extension"
      },
      "resolvable": true,
      "peerDependencies": {
        "postcss": "*",
        "postcss-import": "*",
        "postcss-loader": "*",
        "postcss-nested": "*",
        "postcss-preset-env": "*"
      },
      "requires": []
    },
    {
      "name": "@roots/bud-entrypoints",
      "version": "5.7.6",
      "bud": {
        "type": "extension"
      },
      "resolvable": true,
      "peerDependencies": {},
      "requires": []
    },
    {
      "name": "@roots/bud-babel",
      "version": "5.7.6",
      "bud": {
        "type": "extension"
      },
      "resolvable": true,
      "peerDependencies": {
        "@babel/core": "^7.16.10",
        "@babel/plugin-proposal-class-properties": "^7.16.0",
        "@babel/plugin-proposal-object-rest-spread": "^7.16.0",
        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
        "@babel/plugin-transform-runtime": "^7.16.4",
        "@babel/preset-env": "^7.16.4",
        "babel-loader": "^8.2.3",
        "babel-plugin-add-module-exports": "^1.0.4"
      },
      "requires": []
    },
    {
      "name": "@roots/bud-preset-wordpress",
      "version": "5.7.6",
      "bud": {
        "type": "extension",
        "peers": [
          "@roots/bud-babel",
          "@roots/bud-entrypoints",
          "@roots/bud-postcss",
          "@roots/bud-preset-recommend",
          "@roots/bud-react",
          "@roots/bud-wordpress-externals",
          "@roots/bud-wordpress-dependencies",
          "@roots/bud-wordpress-manifests"
        ]
      },
      "resolvable": true,
      "peerDependencies": {
        "@wordpress/browserslist-config": "^4.1.0"
      },
      "requires": [
        [
          "@roots/bud-babel",
          "5.7.6"
        ],
        [
          "@roots/bud-entrypoints",
          "5.7.6"
        ],
        [
          "@roots/bud-postcss",
          "5.7.6"
        ],
        [
          "@roots/bud-preset-recommend",
          "5.7.6"
        ],
        [
          "@roots/bud-react",
          "5.7.6"
        ],
        [
          "@roots/bud-wordpress-externals",
          "5.7.6"
        ],
        [
          "@roots/bud-wordpress-dependencies",
          "5.7.6"
        ],
        [
          "@roots/bud-wordpress-manifests",
          "5.7.6"
        ]
      ]
    },
    {
      "name": "@roots/sage",
      "version": "5.7.6",
      "bud": {
        "type": "extension",
        "peers": [
          "@roots/bud-preset-wordpress"
        ]
      },
      "resolvable": true,
      "peerDependencies": {},
      "requires": [
        [
          "@roots/bud-preset-wordpress",
          "5.7.6"
        ]
      ]
    },
    {
      "name": "@roots/bud-sass",
      "version": "5.8.0",
      "bud": {
        "type": "extension"
      },
      "resolvable": true,
      "peerDependencies": {
        "postcss": "*",
        "postcss-scss": "*",
        "sass": "*",
        "sass-loader": "*",
        "stylelint-config-recommended-scss": "*"
      },
      "requires": []
    }
  ]
}

webpack.config.js

module.exports = {
  "bail": false,
  "cache": {
    "name": "bud.development",
    "type": "filesystem",
    "version": "_arlxkxq7wktyddh4xg7qosmwpy_",
    "cacheDirectory": "/Users/thomas/dev/sage/web/app/themes/sage/.budfiles/cache/webpack",
    "managedPaths": [
      "/Users/thomas/dev/sage/web/app/themes/sage/node_modules"
    ],
    "buildDependencies": {
      "bud": [
        "/Users/thomas/dev/sage/web/app/themes/sage/package.json",
        "/Users/thomas/dev/sage/web/app/themes/sage/.editorconfig",
        "/Users/thomas/dev/sage/web/app/themes/sage/bud.config.js",
        "/Users/thomas/dev/sage/web/app/themes/sage/composer.json",
        "/Users/thomas/dev/sage/web/app/themes/sage/jsconfig.json",
        "/Users/thomas/dev/sage/web/app/themes/sage/theme.json"
      ]
    }
  },
  "context": "/Users/thomas/dev/sage/web/app/themes/sage",
  "infrastructureLogging": {
    "console": {
      "Console": {}
    }
  },
  "mode": "development",
  "module": {
    "noParse": {},
    "rules": [
      {
        "test": {},
        "include": [
          "/Users/thomas/dev/sage/web/app/themes/sage/src"
        ],
        "parser": {
          "requireEnsure": false
        }
      },
      {
        "oneOf": [
          {
            "test": {},
            "use": [],
            "include": [
              "/Users/thomas/dev/sage/web/app/themes/sage/src"
            ]
          },
          {
            "test": {},
            "use": [
              {
                "loader": "/Users/thomas/dev/sage/web/app/themes/sage/node_modules/style-loader/dist/cjs.js"
              },
              {
                "loader": "/Users/thomas/dev/sage/web/app/themes/sage/node_modules/css-loader/dist/cjs.js",
                "options": {
                  "importLoaders": 1,
                  "sourceMap": false
                }
              }
            ],
            "include": [
              "/Users/thomas/dev/sage/web/app/themes/sage/src"
            ]
          },
          {
            "test": {},
            "use": [
              {
                "loader": "/Users/thomas/dev/sage/web/app/themes/sage/node_modules/style-loader/dist/cjs.js"
              },
              {
                "loader": "/Users/thomas/dev/sage/web/app/themes/sage/node_modules/css-loader/dist/cjs.js",
                "options": {
                  "importLoaders": 1,
                  "localIdentName": "[name]__[local]___[hash:base64:5]",
                  "modules": true,
                  "sourceMap": false
                }
              }
            ],
            "include": [
              "/Users/thomas/dev/sage/web/app/themes/sage/src"
            ]
          },
          {
            "test": {},
            "include": [
              "/Users/thomas/dev/sage/web/app/themes/sage/src"
            ],
            "type": "asset/resource",
            "generator": {
              "filename": "images/[name][ext]"
            }
          },
          {
            "test": {},
            "include": [
              "/Users/thomas/dev/sage/web/app/themes/sage/src"
            ],
            "type": "asset/resource",
            "generator": {
              "filename": "images/[name][ext]"
            }
          },
          {
            "test": {},
            "include": [
              "/Users/thomas/dev/sage/web/app/themes/sage/src"
            ],
            "type": "asset/resource",
            "generator": {
              "filename": "svg/[name][ext]"
            }
          },
          {
            "test": {},
            "include": [
              "/Users/thomas/dev/sage/web/app/themes/sage/src"
            ],
            "type": "asset",
            "generator": {
              "filename": "fonts/[name][ext]"
            }
          },
          {
            "test": {},
            "include": [
              "/Users/thomas/dev/sage/web/app/themes/sage/src"
            ],
            "type": "json",
            "parser": {}
          },
          {
            "test": {},
            "include": [
              "/Users/thomas/dev/sage/web/app/themes/sage/src"
            ],
            "type": "json",
            "parser": {}
          },
          {
            "test": {},
            "use": [
              {
                "loader": "/Users/thomas/dev/sage/web/app/themes/sage/node_modules/html-loader/dist/cjs.js"
              }
            ],
            "include": [
              "/Users/thomas/dev/sage/web/app/themes/sage/src"
            ]
          },
          {
            "test": {},
            "use": [
              {
                "loader": "/Users/thomas/dev/sage/web/app/themes/sage/node_modules/csv-loader/index.js"
              }
            ],
            "include": [
              "/Users/thomas/dev/sage/web/app/themes/sage/src"
            ]
          },
          {
            "test": {},
            "use": [
              {
                "loader": "/Users/thomas/dev/sage/web/app/themes/sage/node_modules/xml-loader/index.js"
              }
            ],
            "include": [
              "/Users/thomas/dev/sage/web/app/themes/sage/src"
            ]
          },
          {
            "test": {},
            "include": [
              "/Users/thomas/dev/sage/web/app/themes/sage/src"
            ],
            "type": "json",
            "parser": {}
          }
        ]
      }
    ],
    "unsafeCache": false
  },
  "name": "bud",
  "node": false,
  "output": {
    "assetModuleFilename": "[name][ext]",
    "chunkFilename": "[name].js",
    "filename": "[name].js",
    "path": "/Users/thomas/dev/sage/web/app/themes/sage/dist",
    "pathinfo": false,
    "publicPath": ""
  },
  "optimization": {
    "emitOnErrors": false,
    "minimize": false,
    "minimizer": [
      "..."
    ]
  },
  "parallelism": 7,
  "performance": {
    "hints": false
  },
  "recordsPath": "/Users/thomas/dev/sage/web/app/themes/sage/.budfiles/bud/modules.json",
  "stats": "normal",
  "target": "browserslist:/Users/thomas/dev/sage/web/app/themes/sage/package.json",
  "plugins": [
    {
      "patterns": [
        {
          "from": "images/**/*",
          "context": "/Users/thomas/dev/sage/web/app/themes/sage/src",
          "noErrorOnMissing": true
        }
      ],
      "options": {}
    },
    {
      "options": {}
    },
    {
      "options": {
        "assetHookStage": null,
        "basePath": "",
        "fileName": "manifest.json",
        "filter": null,
        "map": null,
        "publicPath": "",
        "removeKeyHash": {},
        "sort": null,
        "transformExtensions": {},
        "useEntryKeys": false,
        "useLegacyEmit": false,
        "writeToFileEmit": true
      }
    },
    {
      "options": {
        "emitHtml": false
      },
      "plugin": {
        "name": "EntrypointsManifestPlugin",
        "stage": null
      },
      "name": "entrypoints.json"
    },
    {
      "name": "WordPressExternalsWebpackPlugin",
      "stage": null,
      "externals": {
        "type": "window"
      }
    },
    {
      "plugin": {
        "name": "WordPressDependenciesWebpackPlugin",
        "stage": null
      },
      "manifest": {},
      "usedDependencies": {},
      "fileName": "wordpress.json"
    },
    {
      "plugin": {
        "name": "MergedManifestPlugin"
      },
      "file": "entrypoints.json",
      "entrypointsName": "entrypoints.json",
      "wordpressName": "wordpress.json"
    }
  ],
  "entry": {
    "app": {
      "import": [
        "@roots/bud-server/client/index.js?name=bud&bud.overlay=true&bud.indicator=true&path=__hmr",
        "@roots/bud-server/client/proxy-click-interceptor.js",
        "@scripts/app",
        "@styles/app"
      ]
    }
  },
  "resolve": {
    "alias": {
      "@src": "/Users/thomas/dev/sage/web/app/themes/sage/src",
      "@dist": "/Users/thomas/dev/sage/web/app/themes/sage/dist"
    },
    "extensions": [
      ".wasm",
      ".mjs",
      ".js",
      ".jsx",
      ".css",
      ".json",
      ".toml",
      ".yml"
    ],
    "modules": [
      "src",
      "node_modules"
    ]
  }
}
kellymears commented 2 years ago

you're using @roots/bud-sass@5.8.0 but @roots/bud and @roots/sage are at 5.7.6.

{
      "@roots/bud": "5.7.6",
      "@roots/bud-sass": "^5.8.0",
      "@roots/sage": "5.7.6",
 }

upgrade everything to 5.8.0.