This is maybe a weird, noobish question, but does the Sage 9 working directory need to be located inside the wp-content/theme/theme folder?
In our workflow it might make more sense to have Sage 9 at our project root folder, and have it output the compiled theme to /wp-content/theme/themename/. It would save a lot of typing of paths and make the repo that much cleaner. Something like:
You could also symlink build files from the theme to another directory if you want to run them closer to the root. Might have to tweak other things in the build to account for that.
I don’t think you can git commit the symlinks, though, can you? I thought they resolved to the full path.
It doesn’t have to be there for yarn run build:production, though. I run that command during my deploy process which checks out my repo but doesn’t even install WordPress at all. It then rsyncs the compiled theme to the wp-content/themes/on the production server. But yes the rsync copies more than just the compiled files — it copies app, dist, resources, vendor, and a few files.
I wonder if I can do the reverse of benword’s suggestion? On my local dev, symlink from inside wp-content/themes/ to my working directory outside the WordPress install.
Otherwise I think the better solution would be to run WordPress in the container and user docker volume to mount the local theme folder as the WordPress theme folder. This gives a flatter working directory and git repo, but Lando doesn’t do that by default.
At times on some personal projects I’ve had to use symlinks and can say it’s not the easiest setup but it can work. I’m not too sure but Git may have some “follow symlink” options.