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
1070
+
1071
+
dev-site: bin-link
1072
+
npm run dev
1065
1073
```
1066
1074
1067
1075
-``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.
1068
-
-``build:packages`` builds all workspace packages in dependency order (e.g., ``frontend-base`` before the app).
1076
+
-``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``.
1069
1077
-``clean:packages`` runs the ``clean`` script in each workspace package.
1070
-
-``dev:site`` is an alias for ``npm run dev`` that turbo uses as a root-only task (``//#dev:site``).
1071
-
-``dev:packages`` builds dependencies, then concurrently watches workspace packages for changes and starts the dev server.
1078
+
-``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``).
1079
+
-``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.
1072
1080
1073
1081
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