Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
eed3986
Initial v3 commit stripping out element stuff
fynyky Aug 15, 2025
fec4503
gitignoring notes file
fynyky Aug 15, 2025
99a2cc6
rename test.js
fynyky Aug 15, 2025
0c5eb77
Strip out docker dev environment stuff since it no longer works
fynyky Aug 15, 2025
1637d96
Added more testability for observers
fynyky Aug 15, 2025
7e39ee3
Minor change to signal constructor to just use write directly. Semant…
fynyky Aug 15, 2025
8a98837
Initial Signal tests
fynyky Aug 15, 2025
48c8516
Changing behaviour so that write calls to a signal return reactor wra…
fynyky Aug 15, 2025
5023dd0
Synchronized the reactor rejection function to a common isObject
fynyky Aug 15, 2025
8d8ba2a
Minor test name fix
fynyky Aug 15, 2025
910f09f
Added input validation for Signals
fynyky Aug 15, 2025
13d7879
Cleaned up signal tests and added check for too many args
fynyky Aug 15, 2025
8520ff4
Added Reactor initialization tests
fynyky Aug 15, 2025
d6ed693
Cleaned up Signal and Reactor tests
fynyky Aug 15, 2025
a2642ae
Added error for Reactor constructor being called with multiple arguments
fynyky Aug 15, 2025
252db25
Refined check on native object call error
fynyky Aug 15, 2025
9b39954
Cleaned up basic observer tests
fynyky Aug 15, 2025
ce8338d
Fixed inheritance when an observer is used as a constructor
fynyky Aug 15, 2025
67befd4
Updated basic Reactivity tests
fynyky Aug 16, 2025
4ea8fde
Added tests for array methods
fynyky Aug 16, 2025
7f3a32f
Added tests for rebuilding dependencies and single triggering
fynyky Aug 16, 2025
5b4cbf3
Added tests for avoiding redundant triggers on identical values
fynyky Aug 16, 2025
67ec2fe
Cleaned up tests for batching and hiding
fynyky Aug 16, 2025
9770c6a
Cleaned up error handling tests
fynyky Aug 16, 2025
2188b89
Finished first pass of test cleanup
fynyky Aug 16, 2025
fb938fe
Commented trivial infinite loop test
fynyky Aug 16, 2025
ee6f9fc
Added infinite loop test for a 3 part loop
fynyky Aug 16, 2025
0a3015a
Made batch work to consolidate downstream observer triggers as well
fynyky Aug 16, 2025
6c7d15d
Batch now triggers the dependent oberservers if there was an error
fynyky Aug 16, 2025
f881f6d
Automatic batching for signals for consistency
fynyky Aug 17, 2025
a80328a
Added test for reactor write batching
fynyky Aug 17, 2025
3d08f92
Refactor signal dependency handling in batch processing to improve cl…
fynyky Aug 17, 2025
9f84ca0
Split tests out into separate files for easier handling
fynyky Aug 17, 2025
e43d5fa
Cleaned up wording for some tests
fynyky Aug 18, 2025
179867b
Cleaned up reactivity tests
fynyky Aug 18, 2025
ed7652c
Added parameter validation for batch and updated batching tests
fynyky Aug 18, 2025
fe57c82
Added parameter vaildation to hide and updates test naming
fynyky Aug 18, 2025
8a874dd
Updated error handling test naming
fynyky Aug 18, 2025
97987c6
Updated the features tests
fynyky Aug 18, 2025
559e867
updated complex test names
fynyky Aug 18, 2025
4b6c41c
Cleaned up context tests and an outdated comment
fynyky Aug 19, 2025
3a5a75e
Can shuck observers to retrieve internal function
fynyky Aug 20, 2025
fd8b0e5
Reverted README
fynyky Aug 26, 2025
0e225fb
Removed redundant index.js file
fynyky Aug 26, 2025
c6e9f90
removed parcel
fynyky Aug 26, 2025
96bc97c
Updated dependencies
fynyky Aug 26, 2025
93bdd65
Updated github action node versions
fynyky Aug 26, 2025
5630262
Cleaned up readme
fynyky Aug 26, 2025
298761e
Removed README reference to ob since it is no longer there
fynyky Aug 26, 2025
ddff5d8
Fixed more readme problems
fynyky Aug 26, 2025
6382da1
More readme fixes
fynyky Aug 26, 2025
088eae5
readme consistency cleanup
fynyky Aug 27, 2025
87eca49
Removed documentation of access to the execute property
fynyky Aug 27, 2025
083aeff
Removed the execute property and redefining
fynyky Aug 27, 2025
3c58d70
Merge branch 'master' into v3
fynyky Aug 27, 2025
cac0c01
Cleaned up package.json
fynyky Aug 27, 2025
905ea41
Updated version number
fynyky Aug 27, 2025
00ff9d8
Changed structure to removed redundant src folder
fynyky Aug 27, 2025
077457f
Removed unused tests
fynyky Aug 27, 2025
0bd6d69
Added a devcontainer config
fynyky May 25, 2026
c48e7c8
Merge pull request #47 from fynyky/devcontainer
fynyky May 25, 2026
f9fc6dc
Add serialize-javascript override to fix npm audit vulnerabilities
fynyky May 25, 2026
2684b91
Update dependencies to latest versions
fynyky May 25, 2026
3e19981
Merge pull request #48 from fynyky/package-updates
fynyky May 25, 2026
55a5b0a
Minor cleanups
fynyky May 25, 2026
00d5a5c
Test fixes
fynyky May 25, 2026
c4b00dc
Fixed array flat
fynyky May 25, 2026
2f580bf
Merge pull request #49 from fynyky/array-flat-fix
fynyky May 25, 2026
d9905ff
Optimise Reactor array performance for sort, forEach, and map
fynyky May 25, 2026
d11523b
Five targeted micro-optimisations across the hot paths
fynyky May 25, 2026
7c898c2
Merge master into optimize, resolving conflicts
fynyky May 26, 2026
1433dab
Flatten nested try into try-catch-finally
fynyky May 26, 2026
d2b428e
Merge pull request #50 from fynyky/optimize
fynyky May 26, 2026
49234ef
Replace mocha with node:test built-in test runner
fynyky May 26, 2026
ee5b69b
Update CI workflows and add project instructions
fynyky May 26, 2026
c84aec1
Merge pull request #51 from fynyky/tooling
fynyky May 26, 2026
6e90fa6
Fix stale expected outputs, missing declarations, and typos in docs a…
fynyky May 26, 2026
5cf05ee
Merge pull request #52 from fynyky/claude/fix-docs-and-comments
fynyky May 26, 2026
4296301
Bump version to 3.1.1
fynyky May 26, 2026
c40cfae
Merge pull request #53 from fynyky/claude/version-bump-3.1.1
fynyky May 26, 2026
78ab649
Merge remote-tracking branch 'origin/release' into claude/sync-releas…
fynyky May 26, 2026
3723fea
Merge pull request #55 from fynyky/claude/sync-release-to-master
fynyky May 26, 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: 16 additions & 0 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Git Workflow

Always work on a feature branch. Never commit or push directly to
master, main, or any release branch.

Branch naming: `claude/<short-description>`
e.g. `claude/fix-login-bug`, `claude/add-payment-endpoint`

Workflow for every task:
1. `git checkout master && git pull`
2. `git checkout -b claude/<description>`
3. Make changes and commit
4. `git push -u origin claude/<description>`
5. `gh pr create`

Never force push. Never delete branches. Never merge your own PRs.
19 changes: 19 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"name": "Dev",
"image": "mcr.microsoft.com/devcontainers/javascript-node:22",
"forwardPorts": [3000],
"portsAttributes": {
"3000": {
"label": "App",
"onAutoForward": "openPreview"
}
},
"postCreateCommand": "npm install && npm install -g @anthropic-ai/claude-code",
"customizations": {
"vscode": {
"extensions": [
"anthropic.claude-code"
]
}
}
}
58 changes: 58 additions & 0 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Claude Code

on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]

jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
actions: read # Required for Claude to read CI results on PRs
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 1

- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

# Optional: Customize the trigger phrase (default: @claude)
# trigger_phrase: "/claude"

# Optional: Trigger when specific user is assigned to an issue
# assignee_trigger: "claude-bot"

# Optional: Configure Claude's behavior with CLI arguments
# claude_args: |
# --model claude-opus-4-1-20250805
# --max-turns 10
# --allowedTools "Bash(npm install),Bash(npm run build),Bash(npm run test:*),Bash(npm run lint:*)"
# --system-prompt "Follow our coding standards. Ensure all new code has tests. Use TypeScript for new files."

# Optional: Advanced settings configuration
# settings: |
# {
# "env": {
# "NODE_ENV": "test"
# }
# }
19 changes: 0 additions & 19 deletions .github/workflows/npm-publish.yml

This file was deleted.

22 changes: 22 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Publish
on:
push:
branches: release

permissions:
id-token: write
contents: read

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
registry-url: 'https://registry.npmjs.org'
package-manager-cache: false
- run: npm ci
- run: npm test
- run: npm publish
27 changes: 0 additions & 27 deletions .github/workflows/pull-request-test.yml

This file was deleted.

17 changes: 17 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Test
on:
push:
branches: master
pull_request:
branches: master

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
- run: npm ci
- run: npm test
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
.DS_Store
.parcel-cache
dist
node_modules
node_modules
Loading