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

Build #601

Merged
merged 2 commits into from
Apr 27, 2024
Merged

Build #601

Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 5 additions & 5 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Node.js CI
name: GitHub Pages

on:
push:
branches: [ master ]
branches: [master]

jobs:
gh-pages:
Expand All @@ -11,9 +11,9 @@ jobs:
matrix:
node-version: [20.x]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: yarn
Expand All @@ -22,7 +22,7 @@ jobs:
- run: yarn coverage
- run: yarn build:pages
- name: Publish to gh-pages
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./gh-pages
4 changes: 2 additions & 2 deletions .github/workflows/mirror.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Node.js CI

on:
push:
branches: [ master ]
branches: [master]

jobs:
mirror:
Expand All @@ -12,7 +12,7 @@ jobs:
with:
fetch-depth: 0
- name: Push To Gitlab
env:
env:
token: ${{ secrets.GITLAB_TOKEN }}
run: |
git config user.name "streamich"
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Node.js CI

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

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
Expand Down Expand Up @@ -58,5 +58,3 @@ jobs:
cache: yarn
- run: yarn install --frozen-lockfile
- run: yarn typedoc


5 changes: 2 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@ name: Node.js CI

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

jobs:
release:
if:
${{ github.event_name == 'push' && (github.event.ref == 'refs/heads/master' || github.event.ref == 'refs/heads/next') }}
if: ${{ github.event_name == 'push' && (github.event.ref == 'refs/heads/master' || github.event.ref == 'refs/heads/next') }}
runs-on: ubuntu-latest
strategy:
matrix:
Expand Down
16 changes: 7 additions & 9 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
# [15.5.0](https://github.com/streamich/json-joy/compare/v15.4.1...v15.5.0) (2024-04-26)


### Features

* **json-crdt-extensions:** 🎸 add block tag type ([120ba2f](https://github.com/streamich/json-joy/commit/120ba2f56be87640fe8eff09918eef55a609f56f))
* **json-crdt-extensions:** 🎸 add OverlayPoint implementation ([ca037e6](https://github.com/streamich/json-joy/commit/ca037e6a0d3a3a94511755c06c4d8a350a339649))
* **json-crdt-extensions:** 🎸 implement overlay "ref" concept ([7c31a6f](https://github.com/streamich/json-joy/commit/7c31a6fadb84c391a7ede68dd094bb8dd63bd0bd))
* **json-crdt-extensions:** 🎸 improve overlay point layer insertion ([70748ac](https://github.com/streamich/json-joy/commit/70748ac60fc15b8f35e5ed5361011c873d46753b))
* **json-crdt-extensions:** 🎸 improve OverlayPoint marker operations ([7aea094](https://github.com/streamich/json-joy/commit/7aea094eaefc5a8ce6a0691e4a189b3a96718ef6))
* **json-crdt-extensions:** 🎸 improve OverlayPoint ref operations ([8a23776](https://github.com/streamich/json-joy/commit/8a237760a999987c5e00baaa40ccc1110faeb5cf))

- **json-crdt-extensions:** 🎸 add block tag type ([120ba2f](https://github.com/streamich/json-joy/commit/120ba2f56be87640fe8eff09918eef55a609f56f))
- **json-crdt-extensions:** 🎸 add OverlayPoint implementation ([ca037e6](https://github.com/streamich/json-joy/commit/ca037e6a0d3a3a94511755c06c4d8a350a339649))
- **json-crdt-extensions:** 🎸 implement overlay "ref" concept ([7c31a6f](https://github.com/streamich/json-joy/commit/7c31a6fadb84c391a7ede68dd094bb8dd63bd0bd))
- **json-crdt-extensions:** 🎸 improve overlay point layer insertion ([70748ac](https://github.com/streamich/json-joy/commit/70748ac60fc15b8f35e5ed5361011c873d46753b))
- **json-crdt-extensions:** 🎸 improve OverlayPoint marker operations ([7aea094](https://github.com/streamich/json-joy/commit/7aea094eaefc5a8ce6a0691e4a189b3a96718ef6))
- **json-crdt-extensions:** 🎸 improve OverlayPoint ref operations ([8a23776](https://github.com/streamich/json-joy/commit/8a237760a999987c5e00baaa40ccc1110faeb5cf))

### Performance Improvements

* **json-crdt-extensions:** ⚡️ remove immediately from the right bucket ([faf466f](https://github.com/streamich/json-joy/commit/faf466f71f3a1c8d68702f58181cd85b11981c4b))
- **json-crdt-extensions:** ⚡️ remove immediately from the right bucket ([faf466f](https://github.com/streamich/json-joy/commit/faf466f71f3a1c8d68702f58181cd85b11981c4b))
32 changes: 15 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
<br />
</div>


# json-joy

[![npm version](https://badge.fury.io/js/json-joy.svg)](https://badge.fury.io/js/json-joy)
Expand All @@ -19,21 +18,20 @@ Major focus of `json-joy` is development of the JSON CRDT protocol, a
Conflict-free Replicated Data Type that enables seamless
merging of changes in JSON data models, avoiding conflicts between replicas.

- [__Website__](https://jsonjoy.com)
- [__Documentation__](https://jsonjoy.com/libs/json-joy-js)
- [__Blog posts__](https://jsonjoy.com/blog)
- [*Fuzz Testing RGA CRDT*](https://jsonjoy.com/blog/fuzz-testing-rga-crdt)
- [*Benchmarking JSON Serialization Codecs*](https://jsonjoy.com/blog/json-codec-benchmarks)
- [*List CRDT Benchmarks*](https://jsonjoy.com/blog/list-crdt-benchmarks)
- [*Blazing Fast List CRDT*](https://jsonjoy.com/blog/performant-rga-list-crdt-algorithm)
- [__JSON CRDT__](https://jsonjoy.com/specs/json-crdt) `specification`
- [__JSON CRDT Patch__](https://jsonjoy.com/specs/json-crdt-patch) `specification`
- [__JSON Expression__](https://jsonjoy.com/specs/json-expression) `specification`
- [__JSON Reactive RPC__](https://jsonjoy.com/specs/json-rx) `specification`
- [__Compact JSON__](https://jsonjoy.com/specs/compact-json) `encoding`
- [__API Reference__](https://streamich.github.io/json-joy/)
- [__Test coverage__](https://streamich.github.io/json-joy/coverage/lcov-report/)

- [**Website**](https://jsonjoy.com)
- [**Documentation**](https://jsonjoy.com/libs/json-joy-js)
- [**Blog posts**](https://jsonjoy.com/blog)
- [_Fuzz Testing RGA CRDT_](https://jsonjoy.com/blog/fuzz-testing-rga-crdt)
- [_Benchmarking JSON Serialization Codecs_](https://jsonjoy.com/blog/json-codec-benchmarks)
- [_List CRDT Benchmarks_](https://jsonjoy.com/blog/list-crdt-benchmarks)
- [_Blazing Fast List CRDT_](https://jsonjoy.com/blog/performant-rga-list-crdt-algorithm)
- [**JSON CRDT**](https://jsonjoy.com/specs/json-crdt) `specification`
- [**JSON CRDT Patch**](https://jsonjoy.com/specs/json-crdt-patch) `specification`
- [**JSON Expression**](https://jsonjoy.com/specs/json-expression) `specification`
- [**JSON Reactive RPC**](https://jsonjoy.com/specs/json-rx) `specification`
- [**Compact JSON**](https://jsonjoy.com/specs/compact-json) `encoding`
- [**API Reference**](https://streamich.github.io/json-joy/)
- [**Test coverage**](https://streamich.github.io/json-joy/coverage/lcov-report/)

## Notable features

Expand All @@ -43,7 +41,7 @@ merging of changes in JSON data models, avoiding conflicts between replicas.
- The fastest implementation of CBOR, DAG-CBOR, MessagePack, UBJSON, and JSON codecs in JavaScript.
- The fastest (HTTP) router implementation in JavaScript.
- The fastest JSON schema validation implementation in JavaScript.
- Very fast binary tree (Radix, AVL, Red-black*, Splay) implementations in JavaScript.
- Very fast binary tree (Radix, AVL, Red-black\*, Splay) implementations in JavaScript.
- Very fast JSON Patch (and JSON Pointer) implementation in JavaScript, including many non-standard operations, and JSON Predicate implementation.
- Very fast JSON Expression implementation in JavaScript.

Expand Down
2 changes: 1 addition & 1 deletion bin/jj.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env node

// eslint-disable-next-line import/no-unassigned-import
require("../lib/json-cli/jj");
require('../lib/json-cli/jj');
2 changes: 1 addition & 1 deletion bin/json-pack-test.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env node

// eslint-disable-next-line import/no-unassigned-import
require("../lib/json-cli/json-pack-test");
require('../lib/json-cli/json-pack-test');
2 changes: 1 addition & 1 deletion bin/json-pack.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env node

// eslint-disable-next-line import/no-unassigned-import
require("../lib/json-cli/json-pack");
require('../lib/json-cli/json-pack');
2 changes: 1 addition & 1 deletion bin/json-patch-test.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env node

// eslint-disable-next-line import/no-unassigned-import
require("../lib/json-cli/json-patch-test");
require('../lib/json-cli/json-patch-test');
2 changes: 1 addition & 1 deletion bin/json-patch.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env node

// eslint-disable-next-line import/no-unassigned-import
require("../lib/json-cli/json-patch");
require('../lib/json-cli/json-patch');
2 changes: 1 addition & 1 deletion bin/json-pointer-test.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env node

// eslint-disable-next-line import/no-unassigned-import
require("../lib/json-cli/json-pointer-test");
require('../lib/json-cli/json-pointer-test');
2 changes: 1 addition & 1 deletion bin/json-pointer.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env node

// eslint-disable-next-line import/no-unassigned-import
require("../lib/json-cli/json-pointer");
require('../lib/json-cli/json-pointer');
2 changes: 1 addition & 1 deletion bin/json-unpack.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env node

// eslint-disable-next-line import/no-unassigned-import
require("../lib/json-cli/json-unpack");
require('../lib/json-cli/json-unpack');
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@
"lib/"
],
"scripts": {
"prettier": "npx [email protected] --ignore-path .gitignore --write \"src/**/*.{ts,tsx,js,jsx}\"",
"prettier:check": "npx [email protected] --ignore-path .gitignore --list-different 'src/**/*.{ts,tsx,js,jsx}'",
"prettier": "npx [email protected] --ignore-path .gitignore --write .",
"prettier:check": "npx [email protected] --ignore-path .gitignore --check .",
"lint": "yarn tslint",
"lint:fix": "yarn tslint --fix",
"tslint": "tslint 'src/**/*.{js,jsx,ts,tsx}' -t verbose --project .",
Expand Down
1 change: 0 additions & 1 deletion src/__tests__/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ This `/src/__tests__` is a root folder for all test related concerns.
- `json-documents.ts` file contains a collection of various JSON documents.
- `util.ts` file contains utility functions that can be used in tests.


## Unit testing

You can execute only the unit tests with the following command:
Expand Down
1 change: 0 additions & 1 deletion src/json-cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ as a command line interface.
- [`json-pointer-test` &mdash; runs tests against `json-pointer` CLI](./docs/json-pointer-test.md).
- [`json-patch-test` &mdash; runs tests against `json-patch` CLI](./docs/json-patch-test.md).


## Installation

```
Expand Down
3 changes: 0 additions & 3 deletions src/json-cli/docs/json-pack-test.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,18 @@ implementations in different programming languages.
It expects a single argument, which is a path to [`json-pack` executable](./json-pack.md). It
will run a test suite through that executable.


## Installation

```
npm install -g json-joy
```


## Usage

```
json-pack-test <path_to_json_pack_cli>
```


## Example

```
Expand Down
3 changes: 0 additions & 3 deletions src/json-cli/docs/json-pack.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,18 @@ CLI executable to encode JSON document in [MessagePack](https://msgpack.org/inde

Supports binary data.


## Installation

```
npm install -g json-joy
```


## Usage

```
<json> | json-pack
```


## Example

```
Expand Down
2 changes: 0 additions & 2 deletions src/json-cli/docs/json-patch-test.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,12 @@ implementations in different programming languages.
It expects a single argument, which is a path to [`json-patch` executable](./json-patch.md). It
will run a test suite through that executable.


## Usage

```
json-patch-test <path_to_json_patch_cli>
```


## Example

```
Expand Down
3 changes: 0 additions & 3 deletions src/json-cli/docs/json-patch.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,18 @@ CLI executable to apply JSON Patch to a JSON document.
- Receives JSON Patch array as the first CLI argument.
- Returns patch application result through STDOUT.


## Installation

```
npm install -g json-joy
```


## Usage

```
<json> | json-patch <patch>
```


## Example

```
Expand Down
2 changes: 0 additions & 2 deletions src/json-cli/docs/json-pointer-test.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,12 @@ implementations in different programming languages.
It expects a single argument, which is a path to [`json-pointer` executable](./json-pointer.md). It
will run a test suite through that executable.


## Usage

```
json-pointer-test <path_to_json_pointer_cli>
```


## Example

```
Expand Down
3 changes: 0 additions & 3 deletions src/json-cli/docs/json-pointer.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,18 @@ JSON Pointer as a CLI.
- Receives a JSON Pointer as the first CLI argument.
- Returns resolved value through STDOUT.


## Installation

```
npm install -g json-joy
```


## Usage

```
<json> | json-pointer <pointer>
```


## Example

```
Expand Down
3 changes: 0 additions & 3 deletions src/json-cli/docs/json-unpack.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,18 @@ CLI executable to decodes JSON document from [MessagePack](https://msgpack.org/i

Supports binary data.


## Installation

```
npm install -g json-joy
```


## Usage

```
<MessagePack> | json-unpack
```


## Example

```
Expand Down
5 changes: 2 additions & 3 deletions src/json-clone/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,10 @@ const obj = {foo: new Uint8Array([1, 2, 3])};
const cloned = cloneBinary(obj);

isDeepEqual(obj, cloned); // true
obj === cloned // false
obj.foo === cloned.foo // false
obj === cloned; // false
obj.foo === cloned.foo; // false
```


## Benchmarks

```
Expand Down
2 changes: 1 addition & 1 deletion src/json-crdt-extensions/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# JSON CRDT Extensions

*JSON CRDT Extensions* are higher-order data types which build on top of the
_JSON CRDT Extensions_ are higher-order data types which build on top of the
JSON CRDT. For example, an extension data type can be composed of multiple
JSON CRDT nodes.

Expand Down
Loading
Loading