Skip to content

Latest commit

 

History

History
75 lines (64 loc) · 3.09 KB

File metadata and controls

75 lines (64 loc) · 3.09 KB

Implemented

1. Release Hardening

Package metadata

  • Added sideEffects: false in package.json
    • What: Mark package as tree-shakeable.
    • Why: Reduce consumer bundle size and dead code retention.
    • How: Set top-level sideEffects to false.
  • Added runtime metadata (engines, packageManager) in package.json
    • What: Declared expected Bun/Node environments.
    • Why: Better install-time clarity and CI/runtime consistency.
    • How: Added engines and packageManager fields.

Export map and type resolution

  • Fixed root export condition order in package.json
    • What: Moved types before import/require.
    • Why: Improve TypeScript/LSP resolution across tools.
    • How: Reordered conditions under exports['.'].
  • Added subpath exports ./react, ./next, ./tauri
    • What: Exposed explicit entrypoints.
    • Why: Better DX and cleaner environment-specific imports.
    • How: Added subpath mappings to built artifacts in package.json.

Build output shape

  • Added multi-entry build targets in tsup.config.ts
    • What: Build distinct outputs for index, react, next, tauri.
    • Why: Enable real subpath artifacts and smaller import surfaces.
    • How: Changed entry from single file to named entry object.
  • Added entry source files
    • What: Added src/react.ts, src/next.ts, src/tauri.ts.
    • Why: Align public exports with explicit package subpaths.
    • How: Created dedicated re-export files per domain.

2. Tooling and Quality Gates

Lint environment compatibility

  • Added browser/node envs in .oxlintrc.json
    • What: Declared globals for mixed browser/server code.
    • Why: Remove false-positive no-undef errors.
    • How: Added { browser: true, node: true } to linter env.

Catch binding cleanup

  • Replaced unused catch (_) {} with catch {}
    • What: Removed unused catch variables.
    • Why: Eliminate no-unused-vars errors and improve clarity.
    • How: Updated catch blocks in runtime/domain/adapter files.

Formatting pipeline

  • Replaced broken formatter scripts with Prettier CLI checks
    • What: Switched format and format:check scripts.
    • Why: Ensure cross-environment script reliability.
    • How: Added explicit Prettier commands with style flags.
  • Applied formatting to src/**/*.{ts,tsx}
    • What: Normalized style across source files.
    • Why: Pass format gate and reduce diff churn in future.
    • How: Ran bun run format.

3. Documentation and DX

README accuracy

  • Rewrote README.md to match current API
    • What: Updated install/usage/options and subpath imports.
    • Why: Prevent configuration mismatch and onboarding confusion.
    • How: Replaced stale docs with API-aligned content.

Verification completed

  • Quality checks pass locally
    • What: bun run check succeeds.
    • Why: Baseline quality gate for safe release.
    • How: Validated lint, format, type-check, and tests.
  • Build and pack dry run pass
    • What: bun run build and npm.cmd pack --dry-run succeed.
    • Why: Verify publish artifact correctness.
    • How: Confirmed generated dist files and tarball contents.