Skip to content

v0.1.2

Latest

Choose a tag to compare

@cs3gallery cs3gallery released this 31 Jul 23:06
fcfe4a7

Install: npx -y @zenixsolutions/lumics-mcpon npm (published with provenance).

23.6% smaller. 92 files and 755.5 kB unpacked → 48 files and 577.2 kB. No behaviour changes; the tool surface is identical to 0.1.1.


Changed

  • Source maps are no longer published. dist/**/*.map is excluded from the tarball, cutting it
    from 92 files and 748.7 kB unpacked to 48 files and 573.9 kB — about 23% off every npx
    invocation and every install.

    They were inert. The 44 maps 0.1.0 and 0.1.1 shipped point at ../src/*.ts, carry no
    sourcesContent, and src is not in the package, so nothing existed at the targets on a
    consumer's disk. Every consumer paid 181 kB for debugging support that could not work.

    They are still emitted by npm run build and still work locally, where the sources are present.
    The exclusion is a negated pattern in package.json files, not a build change, so nothing about
    the local development experience changes. Shipping resolvable maps instead would have meant
    publishing src and growing the package to roughly 1.15 MB; that trade-off is recorded in
    #9.

Added

  • The release workflow now verifies the changelog section is finished, not merely present.
    scripts/check-changelog.mjs fails the release on a missing or undated heading, a heading still
    marked Unreleased, an empty section, a missing comparison link, or scaffolding wording left in
    the body. release.yml runs it before npm ci, so a tag that cannot produce a release fails in
    seconds rather than after a full install and test run. Available locally as
    npm run check:changelog -- X.Y.Z.

    The previous check only grepped for the heading, which a section full of scaffolding satisfies —
    and did: 0.1.0 published with "Nothing below has shipped yet; this section is the release note
    under construction and is finalised at tag time" still in it, and CHANGELOG.md ships inside the
    tarball, so the release announced on the registry that it had not happened
    (#10).

    Verified against that exact published text, which the gate rejects on four counts. Be candid
    about the limit: the structural checks are exact, but the scaffolding check is a phrase list and
    only catches wording someone thought to write down.

    Quoted text is excluded from the scaffolding scan — inline code, fenced blocks, blockquotes and
    double-quoted spans, including spans that wrap across lines. That was not foresight. The gate
    failed this very release on its first run, because the entry you are reading quotes the wording
    the gate bans. A changelog documenting a scaffolding phrase is not scaffolding, and a gate that
    cannot tell the difference would push people to reword accurate notes to appease it.

  • tests/installation/package-contents.test.ts asks npm pack what it would publish and asserts
    the answer. It covers both directions in which files fails silently: too broad, which is how the
    maps shipped, and too narrow, which would publish a package that installs and cannot start. It
    also asserts no .env, key or .npmrc is packed, and that nothing outside dist/ and the four
    named documents appears at all. Verified it fails when the map exclusion is removed.