← Back to issue list

feat(extensions): handle ExpressJS build steps and bare bases

View original Github issue

Metadata

Project
rockcraft
Number
#1319
Type
pull request
State
closed
Author
alithethird
Labels
—
Created
Updated
Closed

Current evaluation

Closed unmerged as a duplicate: ExpressJS build-step support landed in #1315 (commit b640dccd); the bare-base portion moved to follow-up #1320, which was merged.

Resolution: closed superseded

Reason: Maintainer @alithethird closed it as duplicating the existing ExpressJS PR. #1315 (commit b640dccd) delivered the package.json build-step feature, and #1320 was merged for bare-base support in the other V2 frameworks.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Add support for ExpressJS projects that define a `build` script in `package.json`, including flexible source-root handling. Add spread and unit coverage, update the extension documentation, and route bare rocks by build-base so Ubuntu 26.04 selects the V2 extension while older build-bases remain on V1. Depends on #1310. Native stacked PRs are not enabled for this repository. --- - [x] I've followed the [contribution guidelines](https://github.com/canonical/rockcraft/blob/main/CONTRIBUTING.md). - [x] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/). - [ ] I've successfully run `make lint && make test`. - [x] I've added or updated any relevant documentation. - [ ] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing. - [ ] I've updated the relevant release notes. Tested with `uv run pytest -q tests/unit/extensions/test_expressjs.py` (22 passed).

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed superseded Closed unmerged as a duplicate: ExpressJS build-step support landed in #1315 (commit b640dccd); the bare-base portion moved to follow-up #1320, which was merged.
stealth/space-bunny-alpha — closed superseded Closed unmerged as a duplicate of canonical/rockcraft#1315 (commit b640dccd), which added Express.js package.json build-step support; bare-base support moved to #1320.
qwen/qwen3.6-35b-a3b — — Closed by the author as a duplicate of an existing ExpressJS pull request. The contributor will address bare-base support for other frameworks in a separate follow-up PR.
qwen/qwen3.6-35b-a3b — — Closed as a duplicate of an existing ExpressJS pull request. The author will address bare-base support for other frameworks in a separate follow-up PR.
qwen/qwen3.6-35b-a3b
Staleness: 10
Complexity: 45
Confidence: 85
needs review Adds ExpressJS build step handling and bare base routing for Ubuntu 26.04 versus older bases. Includes tests, docs, and coverage. Currently awaiting maintainer review with CI mostly passing.

Update history

Date Change
closed
created

Related work

  • Duplicate Of: canonical/rockcraft#1315 (confidence 95%)

    Merged PR adding package.json build-step support to the ExpressJS extension (commit b640dccd), the core of this PR.

  • Superseded By: canonical/rockcraft#1320 (confidence 90%)

    Merged follow-up covering bare-base support for the other V2 frameworks (FastAPI, Go, Flask, Django, Spring Boot).

  • Blocked By: canonical/rockcraft#1310 (confidence 75%)

    Declared prerequisite; merged to use get_project_base() in Extension.validate() for bare bases.

Related issues

Issue Project State Summary Similarity
#1309 feat: enable support for Node.js projects requiring `build` step rockcraft closed Closed unmerged; Express/Node package.json build-step support was delivered instead by merged PR #1315 in commit b640dccd.
79%
#1315 feat(extensions): handle build step for expressjs framework rockcraft merged Merged in canonical/rockcraft#1315 (commit b640dccd), adding support for a package.json-defined `build` step (TypeScript, Vite, etc.) in the NodeJS/Express.js extension; prerequisite PR #1310 was also merged.
74%