Skip to content

Reconcile master: bring DX (#4) and pnpm (#5) changes onto master#6

Merged
jamoy merged 3 commits into
masterfrom
claude/gifted-cannon-gfy802-pnpm
Jun 22, 2026
Merged

Reconcile master: bring DX (#4) and pnpm (#5) changes onto master#6
jamoy merged 3 commits into
masterfrom
claude/gifted-cannon-gfy802-pnpm

Conversation

@jamoy

@jamoy jamoy commented Jun 22, 2026

Copy link
Copy Markdown
Owner

Why this PR exists

PRs #3, #4, and #5 were a stack, but the merge order stranded #4 and #5:

PR Head → Base Result
#3 …gfy802master ✅ landed on master
#4 (DX) …gfy802-dx…gfy802 ⚠️ merged into the feature branch, not master
#5 (pnpm) …gfy802-pnpm…gfy802-dx ⚠️ merged into the feature branch, not master

Because #3 was merged into master before #4 and #5 were merged into their intermediate branches, master only ever received #3's content. GitHub marks #4 and #5 as "merged", but their changes never propagated up to master.

This PR merges the top of the stack directly into master to reconcile it. The merge base is the #3 branch tip, master has no divergence beyond it, and a dry-run merge is conflict-free.

What this brings to master (3 commits, 16 files)

  • b390703 — ergonomic API + footgun fixes (backwards compatible): startExecution resolves to final output, non-mutating getExecutionResult(), bare-ASL constructor
  • 97f63d1 — dual ESM/CJS packaging, index.d.mts types, npm audit → 0 advisories
  • 12c5f54 — npm → pnpm dev workflow (pnpm-lock.yaml, .npmrc, CI on pnpm)

New files that are currently missing from master: index.mjs, index.d.mts, pnpm-lock.yaml, .npmrc, test/smoke.mjs (and package-lock.json is removed in favor of the pnpm lockfile).

🤖 Generated with Claude Code

https://claude.ai/code/session_013D5eGpjUUFCkfiucRJz166


Generated by Claude Code

jamoy and others added 3 commits June 22, 2026 07:41
- startExecution now resolves to the final output, so callers can write
  `const out = await sm.startExecution(input)` without a separate call
- getExecutionResult is non-mutating (was popping the steps array, so a second
  call returned a different value); repeated calls now return the same result
- the constructor accepts a bare Amazon States Language definition
  (`new Sfn({ StartAt, States })`) in addition to `new Sfn({ StateMachine })`

All three are additive; the previous usage continues to work.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QznGWnSQuwvNRAcYinsZiG
- ship both entry points: index.js (CJS) and index.mjs (ESM) behind an
  `exports` map with per-condition `types`, plus a `module` field
- add index.d.mts (ESM types) alongside index.d.ts (CJS); both type-check
  under node16 module resolution; constructor/return types updated for the
  new ergonomics
- clear all npm audit advisories via overrides: underscore ^1.13.8 (fixes the
  jsonpath -> underscore high advisory that reaches consumers) and js-yaml
  ^4.2.0 (the dev-only istanbul advisory); `npm audit` now reports 0
- add a dual-loading smoke test (test/smoke.mjs) wired into CI on every Node
  version, and run CI on all pull requests (so PRs stacked on feature
  branches are covered)
- lint index.mjs (ESM) and document ESM/CJS usage in the README

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QznGWnSQuwvNRAcYinsZiG
- pin pnpm via the `packageManager` field (Corepack) and commit pnpm-lock.yaml
  (replacing package-lock.json)
- move the dependency `overrides` to `pnpm.overrides` (pnpm doesn't read npm's
  top-level overrides), keeping `npm audit` / `pnpm audit` at 0 advisories
- add .npmrc `auto-install-peers=false` so the optional `serverless` peer (and
  its large tree) is not pulled into the dev install, matching npm's behavior
- acknowledge jest's optional native resolver (unrs-resolver) as an ignored
  build dependency; jest uses its JS fallback, which keeps installs robust on
  brand-new Node releases
- CI: install pnpm via pnpm/action-setup, cache the pnpm store, and run
  `pnpm install --frozen-lockfile` + pnpm lint/test/test:smoke
- husky pre-commit now runs `pnpm exec lint-staged`
- README: document pnpm install/usage

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QznGWnSQuwvNRAcYinsZiG
@jamoy jamoy merged commit 03816c6 into master Jun 22, 2026
6 checks passed
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.

1 participant