n8n/packages/modules
2026-10-09 13:12:49 +00:00
..
insights feat(core): Report insights billable executions as the daily instance metric (no-changelog) (#40536) 2026-10-09 06:57:43 +00:00
instance-registry/frontend 🚀 Release 2.43.0 (#40376) 2026-10-06 07:10:16 +00:00
mcp/frontend feat(editor): Add order to settings sidebar links (#40505) 2026-10-08 20:48:14 +00:00
otel/frontend 🚀 Release 2.43.0 (#40376) 2026-10-06 07:10:16 +00:00
type-availability-policies/frontend fix(editor): Place the restricted node popover per host, keep one open, and stack the admin dialog (#40678) 2026-10-09 13:12:49 +00:00
README.md refactor(core): Extract Insights backend module package (#40261) 2026-10-06 13:05:38 +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.

Backend modules can be built workspace packages at <name>/backend. Add each packaged backend module to packages/cli/src/modules/modules.manifest.ts. The manifest uses lazy imports so a disabled module does not load its package. Backend modules that have not moved to a package still load from packages/cli/src/modules/<name>.

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.