n8n/packages/modules
2026-10-05 16:45:27 +01:00
..
insights/frontend Complete button migration and align component snapshots 2026-10-05 16:45:27 +01:00
instance-registry/frontend 🚀 Release 2.42.0 (#39826) 2026-09-29 07:11:00 +00:00
otel/frontend Complete button migration and align component snapshots 2026-10-05 16:45:27 +01:00
type-availability-policies/frontend Complete button migration and align component snapshots 2026-10-05 16:45:27 +01:00
README.md refactor(core): Load packaged modules from a static manifest (no-changelog) (#40037) 2026-10-02 13:42:01 +00:00

Modules

Feature modules carved out of packages/frontend/editor-ui. Each one is a workspace package at <name>/frontend: source-only (main: "src/index.ts", no dist), consumed by the editor-ui shell through Vite aliases.

<name>/backend is a reserved path rather than a workspace package — the backend runtime discovers modules under packages/cli/src/modules/<name>. The extra nesting level is what lets both halves of a module sit together later. Add packaged backend modules to packages/cli/src/modules/modules.manifest.ts.

packages/modules itself stays tracked even when it holds nothing: turbo rejects a --filter whose directory does not exist.

CI splits the two halves by path. The frontend jobs select packages/modules/*/frontend. The backend jobs exclude that same path instead of all of packages/modules, so a <name>/backend package gets backend CI on the day it appears. Both filters live in the root test:ci:* scripts and in the two backend jobs in .github/workflows/test-unit-reusable.yml.