Skip to content

Run ordinary browser-compatible web frameworks without Flect-specific adapters #9

Description

@robinbraemer

Outcome

Run ordinary browser-compatible web projects through one standard Flect workspace and preview contract. Vue and Svelte are proof that the contract is generic, not separate products with framework-specific Flect adapters.

Dependencies

Builds on the persistent incremental workspace in #33, package import in #5, and the standard browser build contract in #8.

Required behavior

  • Inspect imported projects inertly before execution and detect their package manager metadata, browser entry point, HTML shell, assets, styles, and module graph.
  • Resolve browser-compatible dependencies through the standard package and build pipeline.
  • Preserve normal source files, framework conventions, CSS, static assets, source maps, and ordinary Git history.
  • Feed every supported project through the same live-canvas, HMR, diagnostics, capabilities, recovery, and export contracts.
  • Keep any framework-specific knowledge as thin detection or configuration data. It must not create a separate security boundary, runtime, history model, or editing UX.
  • Report unsupported Node, SSR, native, plugin, or lifecycle assumptions before execution with an actionable source location and fallback.
  • Work offline after dependencies and compiler artifacts are cached.

Acceptance criteria

  • Representative vanilla, React, Vue, and Svelte repositories import, build, run, edit incrementally, recover, and export through the same core pipeline.
  • Text, style, and component edits preserve running state where each framework's normal HMR semantics allow it.
  • Build and runtime failures map back to original source files with useful diagnostics for the same agent.
  • Adding one additional lightweight browser framework fixture requires no core workspace, history, capability, or preview code change.
  • Package resolution, assets, source maps, CSS, dynamic imports, and framework runtime errors are covered in production Chromium.
  • The same fixtures pass after an offline reopen with a warmed cache.
  • Unsupported SSR or Node-only projects fail explicitly before untrusted code runs.
  • The UI never asks users to choose a Flect framework mode.

Non-goals

  • Full Node.js, server-side rendering, native addons, postinstall scripts, or arbitrary bundler-plugin compatibility.
  • Reimplementing framework compilers inside Flect.
  • Creating proprietary Vue or Svelte project formats.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:authoringBrowser authoring, building, and source importarea:ecosystemInstallation, sharing, provenance, and framework ecosystemenhancementNew feature or requestpriority:P1Next after the core live-editing loop is provenstatus:implementedImplemented and locally verified; awaiting publication workflow

    Type

    No type

    Projects

    Status
    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions