chore: publish libpkgx to JSR as @pkgx/libpkgx#89
Conversation
Coverage Report for CI Build 29955076666Coverage decreased (-0.1%) to 82.164%Details
Uncovered ChangesNo uncovered changes found. Coverage Regressions3 previously-covered lines in 2 files lost coverage.
Coverage Stats💛 - Coveralls |
There was a problem hiding this comment.
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_whatandoutdentdependencies fromdeno.land/xURLs to npm-backed imports viadeno.jsonimport mappings. - Add JSR package metadata (
name,version,license), anexportsmap (including deep paths), and publish include/exclude rules todeno.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.
| "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" | ||
| }, |
| - 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 |
There was a problem hiding this comment.
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 publishwith--no-check, so a release can be published even if the package no longer typechecks. Add an explicitdeno task typecheckstep (and optionally lint) so CI still blocks on broken types while keeping--no-checkonly 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
There was a problem hiding this comment.
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 rundeno task typecheck/deno task testand allowdeno publishto 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
deno.land/x is read-only; new versions go to JSR.