Skip to content

npm run build broken on development: duplicate .css webpack rule yields css-loader!style-loader!css-loader chain (96 errors) #337

Description

@rubenvdlinde

Found during fleet audit item 21 (nc-vue pin bump to 1.0.0-beta.155). npm run build on origin/development (bcc0f5b) fails with 96 identical SyntaxError errors — one per CSS asset in the graph (src/assets/app.css, @nextcloud/vue dist assets, splitpanes, etc.):

ERROR in ./src/assets/app.css (./node_modules/css-loader/dist/cjs.js!./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./src/assets/app.css)
SyntaxError (2:7) Unknown word import

Every CSS file is processed by the doubled loader chain css-loader!style-loader!css-loader — style-loader JS runtime output is fed back into css-loader/postcss.

Cause: webpack.config.js pushes its own { test: /\.css$/, use: ["style-loader", "css-loader"] } rule on top of @nextcloud/webpack-vue-config, which already ships a CSS rule. Both rules match, so CSS is processed twice. Fix: drop the app-local CSS rule (and probably the duplicate vue-loader rule push too — the base config also handles .vue).

Attribution verified: identical 96 errors with the committed lockfile via npm ci (nc-vue ^1.0.0-beta.66) and with nc-vue 1.0.0-beta.155 — pre-existing, not pin-related.

This blocks the audit-21 pin bump for planix (bump requires a green build); re-run the bump to 1.0.0-beta.155 once the build is fixed.


Gemigreerd van Codeberg — oorspronkelijk Conduction/planix#21, geopend door rubenvdlinde op 2026-07-06.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

triageAwaiting triage

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions