Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
4bf56c2
Upgrade to Feathers v5 (dove) compatibility with TypeScript
marshallswain Sep 5, 2025
9078d96
Refactor and improve code quality
marshallswain Sep 30, 2025
2d9a652
feat: add comprehensive security features
marshallswain Nov 3, 2025
9288c04
chore: modernize ESLint config to ES modules
marshallswain Nov 3, 2025
ceacbc6
refactor: improve type safety throughout codebase
marshallswain Nov 3, 2025
add5aed
style: remove semicolons from codebase
marshallswain Nov 3, 2025
e2aa6aa
docs: add comprehensive performance analysis and optimization guide
marshallswain Nov 3, 2025
32eac95
Add content-based query caching
marshallswain Nov 3, 2025
6b12896
Add lean mode for bulk operations
marshallswain Nov 3, 2025
f47695f
Add configurable refresh per operation
marshallswain Nov 3, 2025
d838210
Add query complexity budgeting
marshallswain Nov 3, 2025
4aa810c
Add performance optimization documentation
marshallswain Nov 3, 2025
752dafd
fix: remove incompatible ESLint packages for CI
marshallswain Nov 3, 2025
338426a
fix: resolve query cache collision and bulk refresh issues
marshallswain Nov 3, 2025
b20d483
fix: handle NaN and function types in query cache normalization
marshallswain Nov 3, 2025
babc567
chore: add Prettier configuration for code formatting
marshallswain Nov 3, 2025
385b2f2
docs: update README with current badges and installation
marshallswain Nov 3, 2025
90d39a3
docs: enhance TESTING.md with troubleshooting section and remove CLAU…
marshallswain Nov 3, 2025
2d0b922
Update Node versions
daffl Nov 4, 2025
7c470ed
Update infrastructure
daffl Nov 4, 2025
e2f25c3
Change module type
daffl Nov 4, 2025
3f7d4ee
refactor: simplify Docker configuration for local development
marshallswain Nov 6, 2025
9416bbd
refactor: convert project to ES modules (ESM)
marshallswain Nov 6, 2025
4f969df
fix: update ESLint configuration for TypeScript test files
marshallswain Nov 6, 2025
b0b403f
chore: add @types/chai for TypeScript test files
marshallswain Nov 6, 2025
c99473a
fix: resolve TypeScript spread argument error in raw.ts
marshallswain Nov 6, 2025
a017b64
fix: add explicit any type for simplified test data in mapBulk tests
marshallswain Nov 6, 2025
68b2549
fix: make parseQuery parameters optional with defaults
marshallswain Nov 6, 2025
b344459
fix: update test imports and adapterTests usage for ESM
marshallswain Nov 6, 2025
85773db
refactor: switch from tsc to tsup for building
marshallswain Nov 6, 2025
b1bf095
fix: correct type exports for ESM compatibility
marshallswain Nov 6, 2025
6816244
fix: update test database connection to use port 9200
marshallswain Nov 6, 2025
2dba2a5
fix: add events option to ElasticsearchServiceOptions and restore tes…
marshallswain Nov 6, 2025
641e99f
fix: add multi-operation checks to adapter methods
marshallswain Nov 6, 2025
2d8bf8f
fix: add support to find method for _source filtering
marshallswain Nov 7, 2025
738ee5d
feat: complete adapter test suite and improve test configuration
marshallswain Nov 7, 2025
2eca2b8
feat: add complete adapter test suite with organized failing tests
marshallswain Nov 7, 2025
c65781d
fix: apply paginate:false correctly in bulk operations
marshallswain Nov 7, 2025
7159799
fix: correct create handling and find limit calculation
marshallswain Nov 7, 2025
9257743
docs: organize documentation into docs/ folder
marshallswain Nov 7, 2025
3241124
docs: reorganize documentation with topic-based guides
marshallswain Nov 7, 2025
5926f65
chore: remove unused Docker-related files and scripts
marshallswain Nov 7, 2025
5b8ee83
remove duplicate changelog
marshallswain Nov 7, 2025
4fd4ae8
chore: Some minor cleanup for v5 release (#119)
daffl Nov 8, 2025
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
2 changes: 0 additions & 2 deletions .eslintignore

This file was deleted.

3 changes: 0 additions & 3 deletions .eslintrc.js

This file was deleted.

79 changes: 79 additions & 0 deletions .github/workflows/test-matrix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: Test Matrix

on:
push:
branches: [main, master, dove]
pull_request:
branches: [main, master, dove]

jobs:
test:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [22]
elasticsearch-version: ['8.15.0', '9.0.0']

name: Node ${{ matrix.node-version }} - ES ${{ matrix.elasticsearch-version }}

steps:
- uses: actions/checkout@v3

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

- name: Start Elasticsearch ${{ matrix.elasticsearch-version }}
run: |
docker run -d \
--name elasticsearch \
-p 9200:9200 \
-e "discovery.type=single-node" \
-e "xpack.security.enabled=false" \
-e "xpack.security.enrollment.enabled=false" \
docker.elastic.co/elasticsearch/elasticsearch:${{ matrix.elasticsearch-version }}

- name: Wait for Elasticsearch
run: |
echo "Waiting for Elasticsearch to be ready..."
for i in {1..60}; do
# Check cluster health status
HEALTH=$(curl -s "http://localhost:9200/_cluster/health" 2>/dev/null || echo "")
if [ ! -z "$HEALTH" ]; then
STATUS=$(echo $HEALTH | grep -o '"status":"[^"]*"' | cut -d'"' -f4)
echo "Attempt $i: Cluster status is '$STATUS'"

# Wait for yellow or green status (yellow is ok for single-node)
if [ "$STATUS" = "yellow" ] || [ "$STATUS" = "green" ]; then
echo "Elasticsearch is ready!"
# Give it a bit more time to fully stabilize
sleep 5
curl -s "http://localhost:9200/_cluster/health?pretty"
break
fi
else
echo "Attempt $i: Elasticsearch not responding yet..."
fi

if [ $i -eq 60 ]; then
echo "ERROR: Elasticsearch failed to become ready after 5 minutes"
docker logs elasticsearch
exit 1
fi

sleep 5
done

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build

- name: Run tests
run: |
ES_VERSION=${{ matrix.elasticsearch-version }} \
ELASTICSEARCH_URL=http://localhost:9200 \
npm run mocha
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@ node_modules

dist/
.nyc_output/
lib/
7 changes: 7 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
node_modules
lib
coverage
.nyc_output
*.min.js
package-lock.json
CHANGELOG.md
19 changes: 19 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"semi": false,
"singleQuote": true,
"trailingComma": "none",
"printWidth": 120,
"tabWidth": 2,
"useTabs": false,
"arrowParens": "always",
"proseWrap": "always",
"overrides": [
{
"files": "*.md",
"options": {
"proseWrap": "always",
"printWidth": 100
}
}
]
}
25 changes: 0 additions & 25 deletions .travis.yml

This file was deleted.

18 changes: 18 additions & 0 deletions .zed/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"format_on_save": "on",
"formatter": {
"language_server": {
"name": "prettier"
}
},
"languages": {
"Markdown": {
"format_on_save": "on",
"formatter": {
"language_server": {
"name": "prettier"
}
}
}
}
}
256 changes: 128 additions & 128 deletions CHANGELOG.md

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2017 Webnicer Ltd
Copyright (c) 2025 Feathers Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -19,4 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Loading