Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.

fix: add sass + sass-loader to devDeps + use placeholders for info.xml marketing copy#28

Merged
rubenvdlinde merged 1 commit into
developmentfrom
fix/scss-support-and-cleaner-placeholders
May 11, 2026
Merged

fix: add sass + sass-loader to devDeps + use placeholders for info.xml marketing copy#28
rubenvdlinde merged 1 commit into
developmentfrom
fix/scss-support-and-cleaner-placeholders

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Summary

  • package.json: add sass ^1.99.0 + sass-loader ^16.0.8 to devDependencies (matching the versions opencatalogi + decidesk already pin). The SCSS webpack rule was added in commit 209224e but the actual loader packages were never installed — fresh clones fail npm run build whenever an aliased @conduction/nextcloud-vue component ships <style lang="scss">.
  • appinfo/info.xml: replace template marketing copy with {APP_NAME}, {APP_SUMMARY}, {APP_DESCRIPTION} placeholders so /app-create can auto-substitute from openspec/app-config.json during scaffolding.

Why

Two issues we hit bootstrapping ConductionNL/scholiq from /app-create:

  1. HTTP 500 on first hit because webpack aborted at nextcloud-vue/src/components/CnCard/CnCard.vue — Module parse failed for SCSS. The rule was there, the loader wasn't.
  2. The freshly-bootstrapped app's info.xml summary still said "A template for creating new Nextcloud apps" — it survives the substitution phase because Phase 7 only rewrites identifier-shaped tokens (app-template{APP_ID}, AppTemplate{APP_NAMESPACE}).

Companion PR

ConductionNL/market-intelligence updates .claude/skills/app-create/references/placeholder-replacement-guide.md so {APP_NAME}, {APP_SUMMARY}, {APP_DESCRIPTION} get auto-substituted from openspec/app-config.json during scaffolding.

Test plan

  • `npm install` resolves cleanly with the two new devDependencies
  • info.xml well-formed XML verified (no xmllint in container; visual check)
  • CI green
  • Manual: run `/app-create test-app` against this branch and confirm the resulting `info.xml` has substituted prose, not literal `{APP_SUMMARY}`

@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/nextcloud-app-template @ d61305e

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm
PHPUnit ⏭️
Newman ⏭️
Playwright ⏭️

Quality workflow — 2026-05-11 10:00 UTC

Download the full PDF report from the workflow artifacts.

…copy with placeholders

The SCSS webpack rule was added to webpack.config.js in a prior PR
(commit 209224e "chore: bump nextcloud-vue + router, add axios alias"),
but the actual sass + sass-loader packages were never added to
devDependencies. Result: running 'npm run build' on a fresh clone of
the development branch produces a 'Module parse failed: Unexpected
token' error whenever nextcloud-vue components ship <style lang=scss>
blocks.

Fix:
- package.json devDependencies: add sass ^1.99.0, sass-loader ^16.0.8
  (matching the versions already in opencatalogi + decidesk)
- package-lock.json regenerated via 'npm install --package-lock-only'

Separately, appinfo/info.xml currently ships marketing copy for the
template itself (Nextcloud App Template, A template for creating new
Nextcloud apps, plus a 13-line feature-list description). This copy
survives '/app-create' scaffolding because the placeholder substitution
phase only rewrites identifier-shaped tokens (app-template ->
{APP_ID}, AppTemplate -> {APP_NAMESPACE}). Result: every newly
scaffolded app ships with the template's own description until a human
remembers to rewrite it.

Fix:
- appinfo/info.xml: replace summary + description content with
  {APP_NAME}, {APP_SUMMARY}, {APP_DESCRIPTION} placeholders so the
  /app-create skill can auto-substitute them from openspec/app-config.json
  during scaffolding.

Companion PR in ConductionNL/market-intelligence updates the
.claude/skills/app-create placeholder-replacement-guide.md so the new
placeholders get processed automatically.
@rubenvdlinde rubenvdlinde force-pushed the fix/scss-support-and-cleaner-placeholders branch from ea28593 to 034301e Compare May 11, 2026 10:56
@rubenvdlinde rubenvdlinde merged commit 4601d2c into development May 11, 2026
15 of 20 checks passed
@rubenvdlinde rubenvdlinde deleted the fix/scss-support-and-cleaner-placeholders branch May 11, 2026 10:57
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/nextcloud-app-template @ eb55ba5

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm
PHPUnit ⏭️
Newman ⏭️
Playwright ⏭️

Quality workflow — 2026-05-11 10:57 UTC

Download the full PDF report from the workflow artifacts.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant