Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
7bdf392
feat: harden library for v1.0.0
arzafran Jun 5, 2026
5913fa2
refactor(use-window-size): consolidate width/height/dpr into one stat…
arzafran Jun 5, 2026
67cdae2
ci: set least-privilege permissions on the CI workflow
arzafran Jun 5, 2026
45a3416
refactor(use-debounce): rename private useEffectEvent to useStableCal…
arzafran Jun 8, 2026
222e083
chore: ignore plans directory
arzafran Jun 8, 2026
4dfd7f2
chore: stop tracking local Claude settings
arzafran Jun 8, 2026
f22fa19
chore(deps): bump happy-dom to ^20 (fixes critical VM context-escape …
arzafran Jun 8, 2026
acaac51
chore(deps): clear remaining Dependabot advisories in playground
arzafran Jun 8, 2026
c8c6c6a
fix(playground): restore green build
arzafran Jun 8, 2026
652fcb5
fix(playground): link hamo locally and align React 19
arzafran Jun 8, 2026
fd179ad
chore(playground): drop dead lorem-ipsum dep, bump TypeScript to 6
arzafran Jun 8, 2026
eb6e4c2
refactor: restructure library into packages/hamo monorepo
arzafran Jun 8, 2026
8fb3243
chore: remove dead docs/ directory
arzafran Jun 8, 2026
428de5e
feat: add useScrollTrigger, useTransform, useEffectEvent (port of #11…
arzafran Jun 8, 2026
75c2132
refactor(hamo): simplify hook internals from whole-codebase review
arzafran Jun 8, 2026
b4710f9
chore(release): clear playground audit drift and finalize v1 changelog
arzafran Jun 19, 2026
1e28687
chore(release): drop published sourcemaps, bump hamo to TypeScript 6
arzafran Jun 19, 2026
6b3236e
ci(publish): switch npm publish to trusted publishing (OIDC, tokenless)
arzafran Jun 19, 2026
d6b6100
refactor(build): ship v1 ESM-only, drop speculative CJS surface
arzafran Jun 19, 2026
c375363
fix(scroll-trigger): make lenis a required peer dependency
arzafran Jun 19, 2026
01bd546
fix(hooks): address cross-model review nits (NaN anchor, userData ali…
arzafran Jun 19, 2026
916457b
chore(playground): update astro to v7 and @astrojs/react to v6
arzafran Jun 22, 2026
38c503b
chore(playground): stay on astro 6.4.8 — astro 7 breaks dev hydration
arzafran Jun 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 0 additions & 13 deletions .claude/settings.local.json

This file was deleted.

18 changes: 0 additions & 18 deletions .eslintrc.json

This file was deleted.

39 changes: 39 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: CI

on:
push:
branches: [main]
pull_request:

permissions:
contents: read

jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- run: bun install --frozen-lockfile
- run: bun run typecheck
- run: bun run lint
- run: bun run build

test:
Comment thread
github-advanced-security[bot] marked this conversation as resolved.
Fixed
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
react: [18, 19]
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- run: bun install --frozen-lockfile
- name: Pin React ${{ matrix.react }}
if: matrix.react == 18
run: bun add --cwd packages/hamo -d react@18 react-dom@18 @types/react@18 @types/react-dom@18
- run: bun run test
47 changes: 28 additions & 19 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,38 @@
name: Publish to NPM
name: Publish to npm

on:
release:
types: [created]

permissions:
contents: read
id-token: write # required for npm provenance + trusted publishing (OIDC)

jobs:
build:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v3
- uses: oven-sh/setup-bun@v2
with:
node-version: 16
registry-url: 'https://registry.npmjs.org'
bun-version: latest

- name: Install pnpm
uses: pnpm/action-setup@v2
- uses: actions/setup-node@v4
with:
version: 7
run_install: false

- name: Install dependencies and build
run: pnpm i --frozen-lockfile
- name: Publish package on NPM
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
node-version: 20
registry-url: 'https://registry.npmjs.org'

- run: bun install --frozen-lockfile
- run: bun run typecheck
- run: bun run lint
- run: bun run test
- run: bun run build

# Trusted publishing (OIDC) needs npm >= 11.5.1; node 20 ships npm 10.
- run: npm install -g npm@latest

# No NODE_AUTH_TOKEN: npm authenticates to the registry via the OIDC
# token from `id-token: write`, using the trusted publisher configured
# on the hamo package settings. Provenance is attached automatically.
- run: cd packages/hamo && npm publish --provenance --access public
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ node_modules
.DS_Store
dist
bundled
bun.lock
plans
.claude/settings.local.json
44 changes: 0 additions & 44 deletions README.md

This file was deleted.

92 changes: 0 additions & 92 deletions biome.json

This file was deleted.

Loading
Loading