Skip to content

chore: publish libpkgx to JSR as @pkgx/libpkgx#89

Merged
jhheider merged 1 commit into
mainfrom
jsr-publish
Jul 22, 2026
Merged

chore: publish libpkgx to JSR as @pkgx/libpkgx#89
jhheider merged 1 commit into
mainfrom
jsr-publish

Conversation

@jhheider

Copy link
Copy Markdown
Contributor

deno.land/x is read-only; new versions go to JSR.

  • deno.json: name, version 0.23.0, exports (mod + deep paths brewkit needs)
  • deps: npm:is-what@4.1.15, npm:outdent@0.8.0 (no deno.land/x deps)
  • CI: publish-jsr.yml on release (OIDC)
  • README: JSR import example

Copilot AI review requested due to automatic review settings July 22, 2026 20:25
@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 29955076666

Coverage decreased (-0.1%) to 82.164%

Details

  • Coverage decreased (-0.1%) from the base build.
  • Patch coverage: 2 of 2 lines across 1 file are fully covered (100%).
  • 3 coverage regressions across 2 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

3 previously-covered lines in 2 files lost coverage.

File Lines Losing Coverage Coverage
src/plumbing/which.ts 2 70.0%
src/hooks/usePantry.ts 1 68.16%

Coverage Stats

Coverage Status
Relevant Lines: 3054
Covered Lines: 2565
Line Coverage: 83.99%
Relevant Branches: 781
Covered Branches: 586
Branch Coverage: 75.03%
Branches in Coverage %: Yes
Coverage Strength: 3115.86 hits per line

💛 - Coveralls

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates libpkgx distribution from the now read-only deno.land/x registry to JSR, publishing as @pkgx/libpkgx, and adjusts dependencies/configuration to support JSR publishing and downstream deep imports (eg for brewkit).

Changes:

  • Switch is_what and outdent dependencies from deno.land/x URLs to npm-backed imports via deno.json import mappings.
  • Add JSR package metadata (name, version, license), an exports map (including deep paths), and publish include/exclude rules to deno.json.
  • Add a GitHub Actions workflow to publish to JSR on releases (OIDC) and update README with the new JSR import path.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
src/deps.ts Updates dependency specifiers to use import-map-resolved npm packages instead of deno.land/x URLs.
README.md Documents the new JSR-based Deno import and notes deno.land/x is frozen.
deno.json Defines JSR package metadata, exports (including deep paths), publish filters, tasks, and npm import mappings.
.github/workflows/publish-jsr.yml Adds a release-driven workflow to deno publish to JSR using OIDC.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread deno.json
Comment on lines +5 to +14
"exports": {
".": "./mod.ts",
"./hooks/useConfig.ts": "./src/hooks/useConfig.ts",
"./hooks/usePantry.ts": "./src/hooks/usePantry.ts",
"./utils/error.ts": "./src/utils/error.ts",
"./utils/host.ts": "./src/utils/host.ts",
"./utils/read-lines.ts": "./src/utils/read-lines.ts",
"./utils/semver.ts": "./src/utils/semver.ts",
"./plumbing/hydrate.ts": "./src/plumbing/hydrate.ts"
},
Comment on lines +24 to +28
- name: dry-run
run: deno publish --dry-run --allow-slow-types --no-check --unstable-fs --unstable-ffi
- name: publish
if: github.event_name == 'release' || github.event_name == 'workflow_dispatch'
run: deno publish --allow-slow-types --no-check --unstable-fs --unstable-ffi
Copilot AI review requested due to automatic review settings July 22, 2026 20:33

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 29 out of 35 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

.github/workflows/publish-jsr.yml:25

  • The publish workflow runs deno publish with --no-check, so a release can be published even if the package no longer typechecks. Add an explicit deno task typecheck step (and optionally lint) so CI still blocks on broken types while keeping --no-check only for the publish command if needed.
      - uses: denoland/setup-deno@v2
        with:
          deno-version: v2.x
      - name: dry-run
        run: deno publish --dry-run --allow-slow-types --no-check --unstable-fs --unstable-ffi

deno.land/x is read-only; new versions go to JSR.

- deno.json: name, version 0.23.0, exports (mod + deep paths)
- deps via import map (npm:is-what, npm:outdent, jsr:@std/*)
- explicit public API return types for JSR slow-type rules
- CI: publish-jsr.yml on release (OIDC, --allow-slow-types)
- lint: waive no-slow-types for remaining declare global
  prototype extensions (follow-up)
- README: JSR import example
Copilot AI review requested due to automatic review settings July 22, 2026 20:40

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 30 out of 36 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

.github/workflows/publish-jsr.yml:28

  • The publish workflow uses deno publish --no-check, which skips type-checking entirely. For a shared runtime library, this makes it easy to publish a release that has broken types or runtime import graph errors; it’d be safer to run deno task typecheck/deno task test and allow deno publish to check as well (drop --no-check).
      - name: dry-run
        run: deno publish --dry-run --allow-slow-types --no-check --unstable-fs --unstable-ffi
      - name: publish
        if: github.event_name == 'release' || github.event_name == 'workflow_dispatch'
        run: deno publish --allow-slow-types --no-check --unstable-fs --unstable-ffi

@jhheider
jhheider merged commit 5aaf5ed into main Jul 22, 2026
24 of 34 checks passed
@jhheider
jhheider deleted the jsr-publish branch July 22, 2026 20:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants