You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: add bin-linking workaround to migration guide
npm skips bin-linking for workspace packages during install, so the
openedx CLI from frontend-base isn't available in node_modules/.bin.
Document the workaround.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
$(TURBO) run watch:build dev:site; rm -f turbo.json
1076
+
1077
+
dev-site: bin-link
1078
+
npm run dev
1071
1079
```
1072
1080
1073
1081
-``watch:build`` uses ``nodemon`` to watch for source changes (as configured in ``nodemon.json``) and re-runs ``npm run build`` on each change. Turbo runs this in each workspace package that defines it.
1074
-
-``build:packages`` builds all workspace packages in dependency order (e.g., ``frontend-base`` before the app).
1082
+
-``build:packages`` builds all workspace packages in dependency order (e.g., ``frontend-base`` before the app), then runs ``make bin-link`` to create missing bin links. This is necessary because npm skips bin-linking for workspace packages during install, so without this step the ``openedx`` CLI won't be available in ``node_modules/.bin``.
1075
1083
-``clean:packages`` runs the ``clean`` script in each workspace package.
1076
-
-``dev:site`` is an alias for ``npm run dev`` that turbo uses as a root-only task (``//#dev:site``).
1077
-
-``dev:packages`` builds dependencies, then concurrently watches workspace packages for changes and starts the dev server.
1084
+
-``dev:site`` is an alias for ``npm run dev`` that also bin-links the frontend-base bin files; turbo uses it as a root-only task (``//#dev:site``).
1085
+
-``dev:packages`` depends on ``build-packages`` so the CLI is available before starting the watch, then concurrently watches workspace packages for changes and starts the dev server.
1078
1086
1079
1087
The Makefile targets copy ``turbo.site.json`` to ``turbo.json`` before invoking turbo, then remove the copy afterward. This ensures turbo finds its expected config when running standalone, without leaving a ``turbo.json`` that would conflict in a workspace context. The ``--dangerously-disable-package-manager-check`` flag and ``TURBO_TELEMETRY_DISABLED=1`` are also set here, keeping turbo invocation details in one place.
0 commit comments