The decision to remove Acorn from composer requirements in Sage 10

I’m not fully understanding the reason why Acorn was removed from Sage 10’s composer requirements. The GitHub Readme includes some information but the following is tripping me up:

If you’re using Bedrock, you only need to require Acorn as a composer dependency in your Bedrock composer.json

I can already install it as a composer dependency without Bedrock tho, why do I need Bedrock?

This is primarily where the confusion comes from. It makes me curious if there’s a plan to cripple it (Acorn) in the future without Bedrock and that worries me a little. I do see it says you can install as an mu-plugin, but then it goes on to suggest using bedrock-autoloader…why would I need an autoloader with an mu-plugin, that’s the whole point of an mu-plugin, no?

I’m also looking at the new package requirements, @roots/bud-eslint, @roots/bud-tailwind, etc. Why do all these packages need to be wrapped as bud extensions? I think as recently as beta 2 you could still manage your own versions of these packages.

When all is said and done, I guess I’m having anxiety that Sage is leaving behind its roots (pun intended?) as a non-judgemental starter theme to some self-contained ecosystem where Bedrock and Bud and whatever else comes folded in and is unremovable, where Bud has complete control over my packages, and Sage itself becomes just another overly opinionated and monolithic codebase. :cold_sweat:

I’m sure I’m overreacting but it’s Sunday and it’s easier to over react on Discourse than clean the garage.

Howdy! You’re early - these changes are part of the next Sage beta we’re announcing tomorrow :slight_smile:

Yes, you can install it as a Composer dependency within the theme. We’re recommending that you don’t, because themes shouldn’t be responsible for handling your dependencies. You don’t need Bedrock.

It’s literally the opposite. Acorn is more flexible now.

To automatically load the mu-plugin if you aren’t using something to load it manually. We’d love to make the instructions easier to understand.

They don’t need to be. Do you really want to maintain all those dependencies yourself, or do you want Bud to do it? It’s up to you. We’re defaulting to not doing that.

Remember, Sage is a starter theme. Fork it and modify it for your needs. That’s the entire point of it.

This is the leanest, least opinionated version of Sage to date. We’re really happy with how it’s looking right now.

4 Likes

You can re-add Acorn to Sage in your non-Bedrock project if you want.

# wp-content/themes/sage
composer require roots/acorn

I know you didn’t mention it, but if there’s also anxiety over the config directory being removed, that’s also just as easy to restore.

wp acorn acorn:init

You can restore all of the config files with another command:

wp acorn vendor:publish --tag=acorn

As @ben said, Acorn is more flexible than ever and restoring the previous structure and behavior can be done in a matter of seconds.

5 Likes

I’m riding that bleeding edge! Mainly it’s just that I ran into an issue with Beta 2 that required merging in some recent commits, so when I started another new project on Friday I went straight to the latest commit. Enabled the theme, got the Acorn is missing error, and down the rabbit hole I went.

That was my biggest concern here, so I’m glad to hear that.

I’ve run into version specific issues with packages before, so yeah, I prefer having control over that. My other concern here stemmed from the fact that there was practically nothing there the last time I looked at Bud’s documentation. I looked again a moment ago and there’s been some major updates, the documentation is dramatically better now. That’s going to be a big help in making the transition less painful.

Sage has always been a great starter theme and I was just worried that it was moving too far away from what I had grown accustomed to. Something something old dogs, new tricks :man_shrugging: I realize 10 is still in beta and I need to temper my opinions around that fact.

Thanks for the response and for all the work you and the roots team have done on this.

1 Like