• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

accordproject / concerto / 33875945377
98%

Build:
DEFAULT BRANCH: main
Ran 04 Sep 2026 01:05PM UTC
Jobs 3
Files 86
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

04 Sep 2026 01:03PM UTC coverage: 97.926% (-0.08%) from 98.007%
33875945377

push

github

web-flow
feat(concerto)!: native ESM migration for per-export tree-shaking (v5.0.0) (#1306)

* feat(concerto): add tree-shakeable package entrypoints

Signed-off-by: Rishabh Jain <rishabhj2005@email.com>

* fix(concerto-core): remove ESM entrypoint from sideEffects to enable package-level tree shaking

Listing `./dist/esm/index.mjs` in sideEffects prevented bundlers from
skipping concerto-core entirely when nothing from it is imported.

Instead, emit `dist/esm/dayjs-setup.js` as a separate file and reference
that in sideEffects — keeping the real side effect (dayjs.extend() calls)
declared while allowing the main ESM bundle to be tree-shaken at the
package boundary.

Verified: importing only concerto-util produces a 59 KB bundle;
adding concerto-core jumps to 1.46 MB, confirming the package is
correctly excluded when unused.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Matt Roberts <code@rbrts.uk>

* fix(concerto-core): emit dayjs-setup as .mjs and document build order

The ESM dayjs-setup output lived at dist/esm/dayjs-setup.js. Since the
package is not "type": "module", Node parses a .js file as CommonJS, so
an ESM file with that extension is ambiguous. Emit it as .mjs and point
the sideEffects entry at the .mjs path so the dayjs.extend() side effect
stays correctly declared.

Also document in DEVELOPERS.md that the monorepo must be built in
dependency order (npm run build), because each package's exports.import
now resolves to dist/esm/index.mjs.

Addresses review feedback on PR #1263.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Matt Roberts <code@rbrts.uk>

* fix(concerto): address Copilot review on ESM tree-shaking PR

- e2e: import Page as a type-only import (it is used only as a type),
  avoiding a runtime named-import mismatch under some TS transpile modes.
- build-esm: gate the createRequire shim banner to the Node-only build.
  Browser-targeted .mjs outputs no longer carry a Node-only
  `import... (continued)

2199 of 2292 branches covered (95.94%)

Branch coverage included in aggregate %.

520 of 521 new or added lines in 81 files covered. (99.81%)

4035 of 4074 relevant lines covered (99.04%)

128160.26 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
94.88
-1.17% packages/concerto-core/src/basemodelmanager.ts
Jobs
ID Job ID Ran Files Coverage
1 windows-latest - 33875945377.1 04 Sep 2026 01:07PM UTC 172
97.93
GitHub Action Run
2 ubuntu-latest - 33875945377.2 04 Sep 2026 01:05PM UTC 172
97.93
GitHub Action Run
3 macos-latest - 33875945377.3 04 Sep 2026 01:05PM UTC 172
97.93
GitHub Action Run
Source Files on build 33875945377
  • Tree
  • List 86
  • Changed 80
  • Source Changed 80
  • Coverage Changed 78
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #33875945377
  • af4366c8 on github
  • Prev Build on main (#33740930050)
  • Next Build on main (#33877532189)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc