Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Preparing a theme update creates folders in the live project

Open Beginner friendly
#171 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
javascript
Domain
backend

Research direction

Read packages/builder-server/src/utils/templateHelpers.js and packages/builder-server/src/services/themeUpdateService.js, focusing on applyThemeUpdateToDir and processTemplatesRecursive. Add a test that a failed prepare leaves pages/ unchanged, then run the relevant test. Done means preparing an update computes target paths without creating live folders.

Written by the indexing model from the issue text.

Description

bug

Getting a theme update ready creates empty page folders in the site, which stay behind if the update then fails.


applyThemeUpdateToDir documents its prepare phase as touching nothing the project uses, but it walks the theme's templates with processTemplatesRecursive (templateHelpers.js), which calls fs.ensureDir on each target under the project's pages/ (including subfolders such as pages/el/). A prepare that then fails leaves those empty folders behind, and the update plan does not name them. Found by Codex while reviewing GH153; not reproduced.

Done when: Preparing an update computes the target paths without creating live folders, with a test that a failed prepare leaves pages/ as it was.

Start: templateHelpers.js, themeUpdateService.js.

Dominant language
JavaScript
Stars
162
Forks
6
Avg merge
12h 55m
Merged PRs (30d)
2

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • No pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from tsiger/widgetizer

All issues in tsiger/widgetizer

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.