{
  "name": "json-joy",
  "version": "18.0.0",
  "description": "Collection of libraries for building collaborative editing apps.",
  "author": {
    "name": "streamich",
    "url": "https://github.com/streamich"
  },
  "homepage": "https://github.com/streamich/json-joy",
  "repository": "streamich/json-joy",
  "license": "AGPL-3.0-only",
  "funding": {
    "type": "github",
    "url": "https://github.com/sponsors/streamich"
  },
  "engines": {
    "node": ">=10.0"
  },
  "main": "lib/index.js",
  "types": "lib/index.d.ts",
  "typings": "lib/index.d.ts",
  "files": [
    "LICENSE",
    "bin/",
    "lib/",
    "esm/"
  ],
  "scripts": {
    "format": "biome format ./src",
    "format:fix": "biome format --write ./src",
    "lint": "biome lint ./src",
    "lint:fix": "biome lint --write ./src",
    "clean": "npx rimraf lib es6 es2019 es2020 esm typedocs coverage gh-pages yarn-error.log",
    "build:es2020": "npx rimraf lib && tsc --project tsconfig.build.json --module commonjs --target es2020 --outDir lib",
    "build:esm": "npx rimraf esm && tsc --project tsconfig.build.json --module ESNext --target ESNEXT --outDir esm",
    "build:all": "yarn build:es2020 && yarn build:esm",
    "build": "yarn build:all",
    "jest": "jest",
    "test": "jest --maxWorkers 7",
    "test:all": "yarn lint && yarn test && yarn build:all && yarn test:cli:pointer && yarn test:cli:patch && yarn test:cli:pack && yarn demo:json-patch",
    "test:ci": "yarn jest --maxWorkers 3 --no-cache",
    "test:cli": "yarn test:cli:pointer && yarn test:cli:patch && yarn test:cli:pack",
    "test:cli:pointer": "./bin/json-pointer-test.js ./bin/json-pointer.js",
    "test:cli:patch": "./bin/json-patch-test.js ./bin/json-patch.js",
    "test:cli:pack": "./bin/json-pack-test.js ./bin/json-pack.js",
    "demo:json-patch": "npx ts-node src/json-patch/__demos__/json-patch.ts",
    "demo:ui:peritext": "webpack serve --config ./src/json-crdt-peritext-ui/__demos__/webpack.config.js",
    "bench:json-crdt:traces:crdt-libs": "cd src/json-crdt/__bench__ && yarn && yarn bench:traces:crdt-libs",
    "bench:json-crdt:traces:non-crdt-libs": "cd src/json-crdt/__bench__ && yarn && yarn bench:traces:non-crdt-libs",
    "bench:json-crdt:concurrent-traces": "cd src/json-crdt/__bench__ && yarn && yarn bench:concurrent-traces",
    "bench:json-crdt:codecs:encoding": "cd src/json-crdt/__bench__ && yarn && yarn bench:codecs:encoding",
    "bench:json-crdt:codecs:decoding": "cd src/json-crdt/__bench__ && yarn && yarn bench:codecs:decoding",
    "bench:json-crdt:codecs:encoding:json": "cd src/json-crdt/__bench__ && yarn && yarn bench:codecs:encoding:json",
    "bench:json-crdt:codecs:encoding:libs": "cd src/json-crdt/__bench__ && yarn && yarn bench:codecs:encoding:libs",
    "bench:json-crdt:codecs:sizes": "cd src/json-crdt/__bench__ && yarn && yarn bench:codecs:sizes",
    "bench:json-ot:ot-string:apply": "cd src/json-ot/__bench__ && yarn && yarn bench:ot-string:apply",
    "bench:json-ot:ot-string:compose-and-transform": "yarn build && cd src/json-ot/__bench__ && yarn && yarn bench:ot-string:compose-and-transform",
    "coverage": "yarn test --collectCoverage",
    "typedoc": "npx typedoc@0.28.5 --tsconfig tsconfig.build.json",
    "build:pages": "rimraf gh-pages && mkdir -p gh-pages && cp -r typedocs/* gh-pages && cp -r coverage gh-pages/coverage",
    "deploy:pages": "gh-pages -d gh-pages",
    "publish-coverage-and-typedocs": "yarn typedoc && yarn coverage && yarn build:pages && yarn deploy:pages",
    "jj": "npx ts-node src/json-cli/jj.ts",
    "upgrade:check": "npx npm-check-updates@16.14",
    "upgrade:interactive": "npx npm-check-updates@16.14 --interactive",
    "typecheck": "tsc -p ."
  },
  "peerDependencies": {
    "rxjs": "7",
    "tslib": "2"
  },
  "peerDependenciesMeta": {
    "rxjs": {
      "optional": true
    }
  },
  "dependencies": {
    "@jsonjoy.com/base64": "18.0.0",
    "@jsonjoy.com/buffers": "18.0.0",
    "@jsonjoy.com/json-expression": "18.0.0",
    "@jsonjoy.com/json-pack": "18.0.0",
    "@jsonjoy.com/json-pointer": "18.0.0",
    "@jsonjoy.com/json-type": "18.0.0",
    "@jsonjoy.com/util": "18.0.0",
    "arg": "^5.0.2",
    "hyperdyperid": "^1.2.0",
    "nano-css": "^5.6.2",
    "pojo-dump": "^1.4.0",
    "sonic-forest": "^1.2.1",
    "thingies": "^2.5.0",
    "tree-dump": "^1.1.0",
    "very-small-parser": "^1.14.0"
  },
  "devDependencies": {
    "@jsonjoy.com/json-random": "18.0.0",
    "@jsonjoy.com/ui": "18.0.0",
    "@radix-ui/react-icons": "^1.3.1",
    "@types/react": "^19.1.12",
    "@types/react-dom": "^19.1.9",
    "clipboard-copy": "^4.0.1",
    "collaborative-editor": "^2.9.0",
    "collaborative-input": "^1.7.0",
    "collaborative-ui": "^1.7.1",
    "editing-traces": "https://github.com/streamich/editing-traces#71c6d732956dbe08a490f8cd9764214bd3d4c9b7",
    "fast-diff": "^1.3.0",
    "fast-json-patch": "^3.1.1",
    "html-webpack-plugin": "^5.6.0",
    "jest": "^29.7.0",
    "json-crdt-traces": "https://github.com/streamich/json-crdt-traces#ec825401dc05cbb74b9e0b3c4d6527399f54d54d",
    "json-logic-js": "^2.0.2",
    "nano-theme": "^1.4.3",
    "prosemirror-model": "^1.25.1",
    "prosemirror-test-builder": "^1.1.1",
    "quill-delta": "^5.1.0",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "rxjs": "^7.8.2",
    "slate": "^0.120.0",
    "ts-jest": "^29.4.0",
    "ts-loader": "^9.5.2",
    "ts-node": "^10.9.2",
    "tslib": "^2.8.1",
    "typescript": "^5.8.3",
    "use-t": "^1.6.3",
    "webpack": "^5.95.0",
    "webpack-cli": "^5.1.4",
    "webpack-dev-server": "^5.1.0",
    "yjs": "^13.6.18"
  },
  "jest": {
    "preset": "ts-jest",
    "testEnvironment": "node",
    "moduleFileExtensions": [
      "ts",
      "js",
      "tsx"
    ],
    "transform": {
      "^.+\\.tsx?$": "ts-jest"
    },
    "transformIgnorePatterns": [
      ".*/node_modules/.*"
    ],
    "testRegex": ".*/(__tests__|__jest__|demo)/.*\\.(test|spec)\\.tsx?$",
    "rootDir": ".",
    "testPathIgnorePatterns": [
      "node_modules"
    ]
  },
  "config": {
    "commitizen": {
      "changelog": {
        "maxMessageLength": 90,
        "scopes": [
          "",
          "demo",
          "json-cli",
          "json-crdt-diff",
          "json-crdt-patch",
          "json-crdt-extensions",
          "json-crdt-peritext-ui",
          "json-crdt",
          "json-hash",
          "json-ot",
          "json-patch-ot",
          "json-patch",
          "json-patch-diff",
          "json-stable",
          "json-text",
          "json-walk",
          "util"
        ]
      }
    }
  },
  "release": {
    "branches": [
      "master",
      {
        "name": "next",
        "prerelease": true
      }
    ],
    "prepare": [
      "@semantic-release/changelog",
      "@semantic-release/npm",
      "@semantic-release/git"
    ],
    "verifyConditions": [
      "@semantic-release/changelog",
      "@semantic-release/npm",
      "@semantic-release/git"
    ]
  },
  "keywords": [
    "collaborative",
    "multiplayer",
    "local-first",
    "localfirst",
    "crdt",
    "rdt",
    "ot",
    "operational-transformation",
    "replicated",
    "sync",
    "synchronization",
    "distributed-state",
    "marshaling",
    "serializations",
    "json-patch",
    "json-binary",
    "json-brand",
    "json-cli",
    "json-clone",
    "json-crdt-patch",
    "json-crdt-extensions",
    "json-crdt-peritext-ui",
    "json-crdt",
    "json-equal",
    "json-expression",
    "json-hash",
    "json-ot",
    "json-pack",
    "json-patch-multicore",
    "json-patch-ot",
    "json-patch",
    "json-pointer",
    "json-random",
    "json-schema",
    "json-size",
    "json-stable",
    "json-text",
    "json-type",
    "json-type-value",
    "json-walk"
  ]
}