Skip to content

feat!: migrate to Bun, publish ESM-only exports, add framework integr… - #32

Merged
dschewchenko merged 1 commit into
mainfrom
v-3
Dec 19, 2025
Merged

dschewchenko merged 1 commit into
mainfrom
v-3

Conversation

@dschewchenko

Copy link
Copy Markdown
Owner

…ations (#30)

  • Tooling: switch scripts/CI to Bun

  • Packaging: ESM-only build, modern exports map + wildcard subpath exports for integrations (permask/)

  • Integrations: express, fastify, h3, nitro, nestjs, hono, koa, itty-router, elysia (thin adapters)

  • Core: add PermaskError, base64 helpers, portable packBitmasks/unpackBitmasks, add formatBitmask

    BREAKING CHANGE: package is ESM-only (CJS/UMD entry points removed)
    BREAKING CHANGE: unpackBitmasks now throws PermaskError on invalid input
    BREAKING CHANGE: createPermask().create now throws PermaskError for unknown groups

…ations (#30)

- Tooling: switch scripts/CI to Bun
- Packaging: ESM-only build, modern exports map + wildcard subpath exports for integrations (permask/<integration>)
- Integrations: express, fastify, h3, nitro, nestjs, hono, koa, itty-router, elysia (thin adapters)
- Core: add PermaskError, base64 helpers, portable packBitmasks/unpackBitmasks, add formatBitmask

  BREAKING CHANGE: package is ESM-only (CJS/UMD entry points removed)
  BREAKING CHANGE: unpackBitmasks now throws PermaskError on invalid input
  BREAKING CHANGE: createPermask().create now throws PermaskError for unknown groups
@github-actions

Copy link
Copy Markdown

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 92.59% 275 / 297
🔵 Statements 92.87% 300 / 323
🔵 Functions 95.95% 95 / 99
🔵 Branches 87.02% 114 / 131
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
src/errors.ts 100% 100% 100% 100%
src/index.ts 100% 100% 100% 100%
src/permask.ts 100% 100% 100% 100%
src/constants/permission.ts 100% 100% 100% 100%
src/integrations/elysia/index.ts 100% 100% 100% 100%
src/integrations/elysia/options.ts 100% 100% 100% 100%
src/integrations/express/index.ts 100% 87.5% 100% 100%
src/integrations/express/options.ts 100% 100% 100% 100%
src/integrations/fastify/index.ts 100% 100% 100% 100%
src/integrations/fastify/options.ts 100% 100% 100% 100%
src/integrations/h3/index.ts 100% 100% 100% 100%
src/integrations/h3/options.ts 100% 100% 100% 100%
src/integrations/hono/index.ts 100% 100% 100% 100%
src/integrations/hono/options.ts 100% 100% 100% 100%
src/integrations/itty-router/index.ts 100% 100% 100% 100%
src/integrations/itty-router/options.ts 100% 100% 100% 100%
src/integrations/koa/index.ts 100% 100% 100% 100%
src/integrations/koa/options.ts 100% 100% 100% 100%
src/integrations/nestjs/index.ts 97.22% 81.81% 100% 96.96% 228
src/integrations/nestjs/options.ts 100% 100% 100% 100%
src/integrations/nitro/index.ts 100% 100% 100% 100%
src/utils/base64.ts 51.61% 30% 100% 50% 16-28, 44-54
src/utils/bitmask.ts 84.84% 100% 80% 82.14% 31-45, 88-89
src/utils/format.ts 100% 93.33% 100% 100%
src/utils/pack.ts 96.29% 86.66% 100% 95.91% 57-59, 93
Generated in workflow #70 for commit 547be2a by the Vitest Coverage Report Action

@dschewchenko
dschewchenko merged commit 31df744 into main Dec 19, 2025
1 check passed
@dschewchenko
dschewchenko deleted the v-3 branch December 19, 2025 16:28
github-actions Bot pushed a commit that referenced this pull request Dec 19, 2025
# [3.0.0](v2.1.1...v3.0.0) (2025-12-19)

* feat!: migrate to Bun, publish ESM-only exports, add framework integrations ([#30](#30)) ([#32](#32)) ([31df744](31df744))

### BREAKING CHANGES

* package is ESM-only (CJS/UMD entry points removed)
* unpackBitmasks now throws PermaskError on invalid input
* createPermask().create now throws PermaskError for unknown groups
github-actions Bot pushed a commit that referenced this pull request Jul 16, 2026
# [3.0.0](v2.1.1...v3.0.0) (2026-07-16)

* feat!: migrate to Bun, publish ESM-only exports, add framework integrations ([#30](#30)) ([#32](#32)) ([31df744](31df744))

### BREAKING CHANGES

* package is ESM-only (CJS/UMD entry points removed)
* unpackBitmasks now throws PermaskError on invalid input
* createPermask().create now throws PermaskError for unknown groups
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 3.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant