Skip to content

Idea: a webpack → Vite port step for apps init refuses #404

Closed

Description

@QuinnsCode

5 self-hostable webpack apps were ported to Vite in a scratch experiment. All built and served in vite preview; 0-4 source lines changed each:

app from source edits config
Flame Create React App 0 ~20 lines, renders in headless Chrome
AdGuard Home UI custom webpack, 3 pages 0 (+1 script tag per page) ~25 lines
Yacht Vue CLI 4, Vue 2 0 ~50 lines, vue 2.6 → 2.7
CyberChef webpack + Grunt 4 one-line deletions 112 lines (loader shims, polyfills)
jellyfin-web big custom webpack 0 (+1 script tag) 189 lines, 6 small plugins

The mechanical part repeats: move index.html and add the module script, %PUBLIC_URL%/<%= BASE_URL %>, REACT_APP_*/VUE_APP_* → define via loadEnv, DefinePlugin → define, @ alias, .vue extensions, worker-loader! → ?worker, ~ in Sass imports, ProvidePlugin → inject. CRA and Vue CLI are near-zero effort; custom webpack loaders are where the config grows.

Pitfalls seen: a build that passes with require() left in the bundle (Yacht, fixed by commonjsOptions), dynamic imports with no extension that build but break navigation (Jellyfin), smart-TV/ES5 targets need plugin-legacy.

None was run against its backend or deployed. An init hint ("this is CRA / Vue CLI: here's a vite.config") would cover the easy cases.

🤖 Generated with Claude Code

Activity

  1. QuinnsCode commented on Oct 11, 2026

    @QuinnsCode
    OwnerAuthor

    Folded into #741, which bundles it with related work for one agent. The details here still apply.

    🤖 Generated with Claude Code

  2. QuinnsCode commented on Oct 12, 2026

    @QuinnsCode
    OwnerAuthor

    Reopened, split back out of #741 so it can be worked on its own. fit now names Create React App, Vue CLI and plain webpack apps and links them here, and init refuses them with this link.

    🤖 Generated with Claude Code

  3. self-assigned this
    on Oct 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions