Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 4.0.0-alpha.0 #71

Open
wants to merge 114 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
ad08e1e
chore: drop support for deprecated_hashing
folkvir Apr 27, 2024
df98938
chore: use @node-rs/xxhash
folkvir Apr 27, 2024
912f874
refactor(import/export) bloom
folkvir Apr 28, 2024
2fb62db
refactor: move to typescript
folkvir Apr 28, 2024
d07baa5
upgrade + move to oxlint
folkvir Apr 28, 2024
4a7dca2
refacto + working jest setup
folkvir Apr 28, 2024
c925283
cleanup console.log
folkvir Apr 28, 2024
9739c89
refacto iblt save/import
folkvir Apr 28, 2024
c6f7c4c
refacto completed
folkvir Apr 28, 2024
72f4d98
prettier: tabWidth 4space
folkvir Apr 28, 2024
d5ff53b
add bloom filter jest/s tests
folkvir Apr 28, 2024
ce6bc36
tests: 6/14;
folkvir Apr 28, 2024
c4529d7
utis.test.ts eslint + jest ok
folkvir Apr 30, 2024
cd177ac
eslint
folkvir Apr 30, 2024
b794297
eslint + jest
folkvir Apr 30, 2024
be7d428
back to latest eslint
folkvir Apr 30, 2024
813cafd
back to latest eslint
folkvir Apr 30, 2024
cf8ab98
back to latest eslint
folkvir Apr 30, 2024
07ab8cb
workflow: node 18, 19, 20, 21, 22 and major lts
folkvir Apr 30, 2024
f8842aa
eslint + jest
folkvir Apr 30, 2024
e5cfc6e
prettier
folkvir Apr 30, 2024
8b17a3d
prettier
folkvir Apr 30, 2024
8e4cf12
rspack try
folkvir Apr 30, 2024
d5dc58d
es6
folkvir Apr 30, 2024
1cfe6a2
update
folkvir Apr 30, 2024
5da6a32
add next/* branches to the actions
folkvir Apr 30, 2024
0b9058c
fix wrong commands in workflow
folkvir Apr 30, 2024
ea71298
rspack + jest working
folkvir May 2, 2024
d06565b
prettier
folkvir May 2, 2024
f11073e
fix all jest tests bootstraping
folkvir May 2, 2024
26753e7
linting
folkvir May 2, 2024
17b1076
use .mts in src and tests
folkvir May 2, 2024
4645c97
remove useless deps
folkvir May 2, 2024
451ab0f
mts + lint
folkvir May 3, 2024
d73310b
mts; no bootstrap + rspack/webpack build
folkvir May 3, 2024
05b50c6
test command run tsc; rspack; webpack; lint; node; jest
folkvir May 3, 2024
0bf743b
fix: wrong expect.toThrow
folkvir May 3, 2024
3f4e25e
rollback version to be bumped by npm
folkvir May 3, 2024
745c74a
4.0.0-alpha.0
folkvir May 3, 2024
fecd640
update Next/v4.0.0 todo list/memo
folkvir May 3, 2024
58f4d4e
fix: doc command
folkvir May 3, 2024
e8e8c35
fix: yarn version is: yarn@berry
folkvir May 3, 2024
ed0ec7a
remove legacy props; set in package.json
folkvir May 3, 2024
2792462
use actions/checkout@v4; test: setup-node@v4 and cache@v4
folkvir May 3, 2024
b0b901d
use yarn@4.2.1 + enableInlineHunks: true
folkvir May 3, 2024
0e2a3fd
fix yarn version
folkvir May 3, 2024
53641e1
remove wrong -y
folkvir May 3, 2024
f65fe87
readd supportedArchitectures.cpu current/wasm32 to get the wasm
folkvir May 3, 2024
e885253
add comment + install yarn first
folkvir May 3, 2024
82773d4
why is it marked as legacy???
folkvir May 3, 2024
eb6690e
all in one
folkvir May 3, 2024
5894a6e
all in one
folkvir May 3, 2024
6352752
push .yarn as-per https://yarnpkg.com/getting-started/install\#about-…
folkvir May 3, 2024
c607542
fix getDistinctIndices bug; seed is now mandatory
folkvir May 3, 2024
26d1304
update readme
folkvir May 3, 2024
0fffb82
linting
folkvir May 3, 2024
8e37e95
typeof seed is bigint
folkvir May 4, 2024
abdd08f
fix scalable and partitioned bf
folkvir May 6, 2024
73b1c84
remove unused serialize
folkvir May 6, 2024
8641c1d
optimize bulkLoad + fix export
folkvir May 7, 2024
2c6a2f3
no Buffer usage anymore
folkvir May 7, 2024
b3ffc66
fix wrong string add
folkvir May 7, 2024
573bf9e
no Buffer usage anymore; more state of art IBLTs
folkvir May 12, 2024
2dc263c
state of art hyperloglog
folkvir May 13, 2024
bffc83a
move lodash.range to devdeps
folkvir May 13, 2024
c516d16
use bigIntToNumber instead of casting directly
folkvir May 13, 2024
6273c34
stringify snapshots before comparing
folkvir May 13, 2024
97feb53
node versions matrix
folkvir May 13, 2024
62bfadc
cleanup useless console.log
folkvir May 13, 2024
78440e4
cleanup useless console.log
folkvir May 13, 2024
4f94042
remove unused encoder
folkvir May 13, 2024
3e2bacb
false positive can happen; decrease the error rate for testing
folkvir May 13, 2024
6982c36
xor is now using plain bigints
folkvir May 16, 2024
9859a82
rollback to .ts; use exports in package.json
folkvir May 16, 2024
eeeea71
output module and commonjs
folkvir May 16, 2024
2f2c906
remove useless .gitkeep
folkvir May 16, 2024
788a9cc
update workflows
folkvir May 16, 2024
dc36ceb
update dependencies
folkvir May 16, 2024
688e956
issue https://github.com/Callidon/bloom-filters/issues/68 seems to be…
folkvir May 16, 2024
97b6725
check fp rate instead
folkvir May 16, 2024
5317a5a
no issue at all; update the readme
folkvir May 16, 2024
fcbef8a
fix yarn doc warnings
folkvir May 16, 2024
5b0c613
fix typos (https://github.com/Callidon/bloom-filters/pull/59)
folkvir May 16, 2024
e3eb8d5
sbf err prob should be bounded by P<=2P0
folkvir May 16, 2024
26f1f69
eslint: no-console
folkvir May 16, 2024
91aa942
fix sbf tests and rate
folkvir May 16, 2024
b126bbd
randomize the seed
folkvir May 16, 2024
8e80cf9
randomize the seed
folkvir May 16, 2024
7eb75bc
seed is now correctly settable
folkvir May 16, 2024
937f80e
change lint before testing
folkvir May 17, 2024
43e2f72
investigating cuckoo problems...
folkvir May 17, 2024
e738c48
trigger ci
folkvir May 17, 2024
e3cf9e8
rename workflow step
folkvir May 17, 2024
096dccb
randomize the seed
folkvir May 22, 2024
0fdc3f7
increase target rate
folkvir May 22, 2024
9286ddf
fix cuckoo filter
folkvir May 22, 2024
0aedebd
size: min 32
folkvir May 22, 2024
4ca4a38
fix scalable bloom filter
folkvir May 22, 2024
8ac32f6
lint
folkvir May 22, 2024
87d9d59
use global seed with __filename to reproduce ci failing tests
folkvir May 26, 2024
2257659
lint
folkvir May 26, 2024
087eedf
disable codeql for next/* branches
folkvir May 26, 2024
79ae674
fix hyperloglog merge
folkvir May 26, 2024
c5e4636
use random seed in tests for partitionned bf
folkvir May 26, 2024
502999e
fix foo/moo indexes collisions in tests
folkvir May 26, 2024
32e537a
rollback fixed seed
folkvir May 26, 2024
94ccf29
remove .equals for sbf and pbf
folkvir May 26, 2024
52b8257
remove .equals for all filters
folkvir May 26, 2024
fcd403f
rollback to global seed
folkvir May 26, 2024
298c539
seperate tests
folkvir May 26, 2024
c8f3cfe
remove useless test
folkvir May 26, 2024
7e850eb
codeql js and ts
folkvir May 26, 2024
483ff46
fix cuckoo tests
folkvir May 26, 2024
b468ffe
update deps
folkvir May 26, 2024
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
11 changes: 11 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"plugins": ["@babel/syntax-dynamic-import"],
"presets": [
[
"@babel/preset-env",
{
"modules": false
}
]
]
}
5 changes: 0 additions & 5 deletions .eslintignore

This file was deleted.

19 changes: 19 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
const tseslint = require('typescript-eslint')

module.exports = {
"root": true,
"extends": ["plugin:@typescript-eslint/strict-type-checked"],
"parser": "@typescript-eslint/parser",
"parserOptions": { "project": ["./tsconfig.eslint.json"] },
"plugins": [
"@typescript-eslint"
],
"rules": {
"no-console": "error",
},
"ignorePatterns": [
"./*.config.*",
"./dist/**/*",
"./examples/**/*"
]
}
12 changes: 6 additions & 6 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,34 +32,34 @@ jobs:
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
language: [ 'javascript-typescript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed

steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
- name: Cache node modules (if needed)
uses: actions/cache@v2
uses: actions/cache@v4
id: cache
with:
path: node_modules
key: ${{ runner.os }}-${{ matrix.node-version }}-${{ hashFiles('yarn.lock') }}
- name: Install package (if needed)
if: steps.cache.outputs.cache-hit != 'true'
run: yarn install
run: npm install -g yarn@berry && yarn install
- name: Build TypeScript
run: yarn build
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v3
6 changes: 3 additions & 3 deletions .github/workflows/gh_pages_doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ jobs:
publish_doc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Use Node.js 16.x
uses: actions/setup-node@v2
uses: actions/setup-node@v4
with:
node-version: "lts/*"
- name: Install package
run: yarn install
run: npm install -g yarn@berry && yarn install
- name: Build TS
run: yarn build
- name: Generate documentation
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/npm_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,14 @@ jobs:
name: npm
url: https://www.npmjs.com/package/bloom-filters
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
# Setup .npmrc file to publish to npm
- uses: actions/setup-node@v2
- uses: actions/setup-node@v4
with:
node-version: 'lts/*'
registry-url: 'https://registry.npmjs.org'
- run: yarn install
- name: Package install
run: npm install -g yarn@berry && yarn install
- run: yarn build
- run: yarn publish
env:
Expand Down
27 changes: 15 additions & 12 deletions .github/workflows/npm_test_doc.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,36 @@
name: 🔎 Tests
on:
push:
branches: [ master, develop ]
branches: [ master, develop, next/* ]
pull_request:
branches: [ master, develop ]
branches: [ master, develop, next/* ]
jobs:
ubuntu_build:
runs-on: ubuntu-latest
strategy:
matrix:
# since last mocha version is compatible for node 12.0.0+ we remove 10.x matrix
# Only LTS major version
node-version: ['12', '14', '16', 'lts/*']
node-version: ['18', '19', '20', '21', '22', 'lts/*']
# node-version: ['lts/*']
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Cache node modules
uses: actions/cache@v2
uses: actions/cache@v4
id: cache
with:
path: node_modules
key: ${{ runner.os }}-${{ matrix.node-version }}-${{ hashFiles('yarn.lock') }}
- name: Install package
- name: Package install
if: steps.cache.outputs.cache-hit != 'true'
run: npm install -g yarn && yarn install
- name: Build TS
run: yarn build
- name: Test package and Code coverage
run: npm install -g yarn@berry && yarn install
- name: Build
run: yarn build:ci
- name: Lint
run: yarn lint
- name: Test
run: yarn test

5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ npm-debug.log*
pids
*.pid
*.seed
dist/
docs/

# Directory for instrumented libs generated by jscoverage/JSCover
Expand Down Expand Up @@ -43,3 +42,7 @@ jspm_packages
docs/

.DS_Store
dist/website/rspack
dist/website/webpack
dist/module/dist/
dist/commonjs/dist/
3 changes: 3 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,6 @@ jspm_packages

# jsdoc
docs/

# only for dev
dist/website/
Binary file added .yarn/install-state.gz
Binary file not shown.
894 changes: 894 additions & 0 deletions .yarn/releases/yarn-4.2.2.cjs

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
enableInlineHunks: true

nodeLinker: node-modules

supportedArchitectures:
cpu:
- current
- wasm32

yarnPath: .yarn/releases/yarn-4.2.2.cjs
Loading