Skip to content

feat: support external frontend modules#58

Merged
guenhter merged 1 commit intomainfrom
external-tools
Apr 7, 2026
Merged

feat: support external frontend modules#58
guenhter merged 1 commit intomainfrom
external-tools

Conversation

@guenhter
Copy link
Copy Markdown
Contributor

@guenhter guenhter commented Apr 7, 2026

No description provided.

@guenhter guenhter requested a review from Copilot April 7, 2026 10:13
@guenhter guenhter changed the title feat: support external modules feat: support external frontend modules Apr 7, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for “external” frontend modules (dropped under frontend/omni/src/modules/external-*) that can bring their own npm dependencies via pnpm workspace package discovery, and validates it with a light e2e test fixture.

Changes:

  • Introduce a pnpm-workspace.yaml so src/modules/external-* can be discovered as workspace packages, plus .gitignore/.npmrc adjustments to keep external modules out of git and avoid updating the root lockfile.
  • Add a Playwright light e2e test that copies in an external module fixture with its own package.json dependency and asserts it executes at runtime.
  • Update Biome schema references to 2.4.10 in frontend and full e2e configs and document the new workflow in README/CHANGELOG.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
frontend/omni/README.md Documents how external modules are discovered and how dependency installation works.
frontend/omni/pnpm-workspace.yaml Declares src/modules/external-* as workspace packages.
frontend/omni/CHANGELOG.md Notes the new external-module dependency capability.
frontend/omni/biome.json Updates Biome schema URL.
frontend/omni/.npmrc Sets shared-workspace-lockfile=false to avoid root lockfile changes from external packages.
frontend/omni/.gitignore Ignores src/modules/external-* directories.
e2e_tests/tests_omni_light/playwright.config.ts Switches frontend startup to a dedicated script.
e2e_tests/tests_omni_light/scripts/run-frontend.sh Copies the external module fixture, extends the manifest, installs/builds, and starts preview.
e2e_tests/tests_omni_light/scripts/extend-light-modules-json.mjs Generates public/modules.json by extending the browser-only manifest with fixture module entries.
e2e_tests/tests_omni_light/src/external-module-dependency.spec.ts New e2e assertion that an external module dependency is installed and executed.
e2e_tests/tests_omni_light/fixtures/external-module-test/package.json External module fixture with its own dependency.
e2e_tests/tests_omni_light/fixtures/external-module-test/ExternalTestSidebarItem.svelte Fixture UI module that triggers the service factory.
e2e_tests/tests_omni_light/fixtures/external-module-test/externalTestService.svelte.ts Fixture service factory importing an external npm dependency.
e2e_tests/tests_omni_full/biome.json Updates Biome schema URL.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@guenhter guenhter merged commit dfaee36 into main Apr 7, 2026
8 checks passed
@guenhter guenhter deleted the external-tools branch April 7, 2026 11:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants