Discourse recently started requiring building a ember-cli/yarn javascript project as part of building the assets.
I started a PR to upgrade Discourse but it seems that I cannot skip the ember-cli build even though there is an option to skip it, because when I skip it the Discourse admin console does not show the latest version is installed.
But I don’t know how to set up an environment where I can run that ember build command.
Every time I try to package something in the Javascript ecosystem I find myself getting stuck. I’m looking for someone who knows Nix Javascript tools to do a screenshare call with me to help me figure this out.
I see your pain. We had to resort to dream2nix to build some of our more complicated node packages, it seems to handle most of the stuff we throw at it.
I must agree that the node ecosystem is spinning out of control. Maybe the only way to keep this thing building is imperative docker containers!! The horror!
The issue is there is a sub yarn project at app/assets/javascripts. I tried using the new dream2nix lib2 to enable project discovery (by just swapping lib with lib2 in the flake.nix), but I got an error:
> nix run .#resolve
error: attribute 'readDreamLock' missing
at /nix/store/ngy44gqr8frj0wvzbhkpja888h9aihs6-source/src/default.nix:545:25:
544| dreamLockPath = getDreamLockPath project;
545| dreamLock = dlib.readDreamLock dreamLockPath;
| ^
546| impure = isImpure project translator;
(use '--show-trace' to show detailed location information)
Don’t make use of .#resolve yet. That is still work in progress. But you should be able to build all the packages that contain a lock file or are part of a workspace with a lock-file.