Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
5d24b76
Move cache policy from per-entry to per-instance
grischaerbe Apr 28, 2026
4d7316a
Rename cacheable() to remember()
grischaerbe Apr 28, 2026
ba0a692
Merge pull request #11 from grischaerbe/grischaerbe/policy-on-instance
grischaerbe Apr 28, 2026
bb4bd4c
Introduce multilayer storage adapter pattern (v4)
grischaerbe Apr 28, 2026
b24dceb
Merge pull request #12 from grischaerbe/grischaerbe/v4-adapters
grischaerbe Apr 28, 2026
37259ec
Make namespace a required Cacheables option
grischaerbe Apr 28, 2026
e7cd88b
Rename Cacheables to Cacheable and storage adapters to buckets
grischaerbe Apr 28, 2026
fbf5393
Merge pull request #14 from grischaerbe/grischaerbe/rename-cacheables
grischaerbe Apr 28, 2026
67ea471
Rename migration section to v2 → v3 in README
grischaerbe Apr 28, 2026
2fedc07
Merge branch 'next' into grischaerbe/require-namespace
grischaerbe Apr 28, 2026
c9d3a6b
Merge pull request #13 from grischaerbe/grischaerbe/require-namespace
grischaerbe Apr 28, 2026
55431ac
Remove the "enabled" option from Cacheable (#15)
grischaerbe Apr 28, 2026
e4c629d
Replace log/logTiming flags with a pluggable ILogger (#16)
grischaerbe Apr 28, 2026
9730cd4
Revise the v2 → v3 migration section in the README (#17)
grischaerbe Apr 28, 2026
034d50d
Add PR CI checks: typecheck, build, lint (#19)
grischaerbe Apr 28, 2026
8e639b7
Remove isCached from the public API (#20)
grischaerbe Apr 28, 2026
0ac855a
Make namespace a positional argument to the Cacheable constructor (#21)
grischaerbe Apr 28, 2026
238b4d6
Tighten README and expand cache policy mechanics (#22)
grischaerbe Apr 28, 2026
bd4e89c
Merge timing and hit-count logs into one HIT/MISS line per call (#23)
grischaerbe Apr 28, 2026
bfb5b73
Add cache.resolve(producer, key) returning bucket meta (#24)
grischaerbe Apr 28, 2026
c0ac95f
Mint cascade write meta in the engine, fan out in parallel (#25)
grischaerbe Apr 29, 2026
a1a7a74
Pass hitMeta through cascade fill instead of reconstructing (#26)
grischaerbe Apr 29, 2026
d773a86
Remove Cacheable.key from the public API (#27)
grischaerbe Apr 29, 2026
c3383e6
Drop README mention of cache key helper (#28)
grischaerbe Apr 29, 2026
9456572
v3 hardening: packaging, NodeNext, SWR dedup, strict-mode resolve, de…
grischaerbe Apr 29, 2026
54b9a03
Switch build pipeline to tsdown and fix attw resolution (#30)
grischaerbe Apr 29, 2026
6b7a86d
Build before publishing in the release workflow (#31)
grischaerbe Apr 29, 2026
43655df
Trim verbose Response-body comments from README (#32)
grischaerbe Apr 29, 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
16 changes: 0 additions & 16 deletions .eslintrc.js

This file was deleted.

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

on:
pull_request:
push:
branches: [master, next]

jobs:
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run typecheck

build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run build

lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run lint
- run: npm run format:check

test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm test

publish-shape:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run build
- run: npm run publint
- run: npm run attw
13 changes: 7 additions & 6 deletions .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,24 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
- run: npm ci
- run: npm test

publish-npm:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
registry-url: https://registry.npmjs.org/
- run: npm ci
- run: npm run build
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -227,4 +227,9 @@ fabric.properties
# https://plugins.jetbrains.com/plugin/12206-codestream
.idea/codestream.xml

# End of https://www.toptal.com/developers/gitignore/api/webstorm,node
# End of https://www.toptal.com/developers/gitignore/api/webstorm,node

.context
.agents
.claude
skills-lock.json
4 changes: 4 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules
dist
package-lock.json
.context
6 changes: 4 additions & 2 deletions .prettierrc.js → .prettierrc.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
module.exports = {
import type { Config } from 'prettier'

export default {
semi: false,
trailingComma: 'all',
singleQuote: true,
printWidth: 80,
tabWidth: 2,
}
} satisfies Config
Loading
Loading