{
    "name": "@pkcprotocol/pkc-js",
    "version": "0.0.101",
    "type": "module",
    "scripts": {
        "prebuild": "node config/generate-version.js",
        "check:pr-title": "node .github/workflows/check-pr-title-type.cjs",
        "build": "npm run clean && run-s build:node verify:module-import-order build:browser verify:browser-imports build:node:bundle verify:bundle",
        "build:node": "tsc --project config/tsconfig.json",
        "build:node:bundle": "node config/build-node-bundle.js",
        "verify:bundle": "node config/verify-bundle.js",
        "build:node:watch": "tsc --project config/tsconfig.json --watch",
        "build:browser": "node config/build-browser",
        "build:browser:watch": "node config/build-browser --watch",
        "verify:browser-imports": "node config/verify-browser-imports.js",
        "verify:module-import-order": "node config/verify-module-import-order.js",
        "build:watch": "npm-run-all build:node --parallel build:node:watch build:browser:watch",
        "test": "run-s test:node test:browser:chrome test:browser:firefox",
        "test:node": "node test/run-test-config.js --environment node --per-test-logs .tmp/per-test-logs-node test src/rpc/test",
        "test:node:rpc": "cross-env USE_RPC=1 PKC_CONFIGS=remote-pkc-rpc node test/run-test-config.js --environment node --per-test-logs .tmp/per-test-logs-node-rpc test/node test/node-and-browser src/rpc/test/node src/rpc/test/node-and-browser",
        "test:node:parallel:rpc": "cross-env USE_RPC=1 PKC_CONFIGS=remote-pkc-rpc node test/run-test-config.js --environment node --parallel --per-test-logs .tmp/per-test-logs-node-parallel-rpc test/node test/node-and-browser src/rpc/test/node src/rpc/test/node-and-browser",
        "test:mocked:challenges": "node test/run-test-config.js --environment node --per-test-logs .tmp/per-test-logs-mocked-challenges test/challenges",
        "test:node:parallel:all": "node test/run-test-config.js --environment node --parallel --per-test-logs .tmp/per-test-logs-node-parallel-all test/node test/node-and-browser src/rpc/test/node src/rpc/test/node-and-browser",
        "test:node:parallel:local": "cross-env PKC_CONFIGS=local-kubo-rpc node test/run-test-config.js --environment node --parallel --per-test-logs .tmp/per-test-logs-node-parallel-local test/node src/rpc/test/node",
        "test:node:local": "node test/run-test-config.js --environment node --per-test-logs .tmp/per-test-logs-node-local test/node src/rpc/test/node --run-timeout-ms 1740000 --log-prefix test_node_local",
        "test:node:parallel:remote": "node test/run-test-config.js --pkc-config remote-kubo-rpc,remote-ipfs-gateway,remote-libp2pjs --environment node --parallel --per-test-logs .tmp/per-test-logs-node-parallel-remote test/node-and-browser",
        "test:node:remote": "node test/run-test-config.js --pkc-config remote-kubo-rpc,remote-ipfs-gateway,remote-libp2pjs --environment node --per-test-logs .tmp/per-test-logs-node-remote",
        "test:browser:chrome": "node test/run-test-config.js --pkc-config ${PKC_CONFIGS:-remote-kubo-rpc,remote-ipfs-gateway,remote-libp2pjs} --environment chrome --per-test-logs .tmp/per-test-logs-browser-chrome",
        "test:browser:firefox": "node test/run-test-config.js --pkc-config ${PKC_CONFIGS:-remote-kubo-rpc,remote-ipfs-gateway,remote-libp2pjs} --environment firefox --per-test-logs .tmp/per-test-logs-browser-firefox",
        "test:browser:chrome:parallel": "node test/run-test-config.js --pkc-config ${PKC_CONFIGS:-remote-kubo-rpc,remote-ipfs-gateway,remote-libp2pjs} --environment chrome --parallel --per-test-logs .tmp/per-test-logs-browser-chrome-parallel",
        "test:browser:firefox:parallel": "node test/run-test-config.js --pkc-config ${PKC_CONFIGS:-remote-kubo-rpc,remote-ipfs-gateway,remote-libp2pjs} --environment firefox --parallel --per-test-logs .tmp/per-test-logs-browser-firefox-parallel",
        "test:server:node": "node test/server/test-server.js",
        "test:server:node:rpc": "cross-env START_RPC_SERVER=1 PKC_CONFIGS=remote-kubo-rpc node --es-module-specifier-resolution=node test/server/test-server.js",
        "test:server:wait-on": "wait-on http://localhost:14952 --timeout 300000",
        "prepublishOnly": "npm run build",
        "clean": "rimraf dist",
        "prettier": "prettier {src,test,config}/**/*.{js,ts} --write --config config/prettier.config.js",
        "test:prettier": "prettier --check {src,test,config}/**/*.{js,ts} --config config/prettier.config.js",
        "knip": "knip",
        "commit": "cz",
        "release": "HUSKY=0 release-it --config config/.release-it.json",
        "prepare": "husky"
    },
    "main": "dist/bundled/index.js",
    "types": "dist/node/index.d.ts",
    "browser": {
        ".": "dist/browser/index.js"
    },
    "files": [
        "dist/"
    ],
    "exports": {
        ".": {
            "types": "./dist/node/index.d.ts",
            "browser": "./dist/browser/index.js",
            "import": "./dist/bundled/index-with-compile-cache.js",
            "require": "./dist/bundled/index.js"
        },
        "./challenges": {
            "types": "./dist/node/challenges.d.ts",
            "browser": null,
            "import": "./dist/bundled/challenges.js"
        },
        "./rpc": {
            "types": "./dist/node/rpc/src/index.d.ts",
            "browser": null,
            "import": "./dist/bundled/rpc/src/index.js",
            "require": "./dist/bundled/rpc/src/index.js"
        }
    },
    "dependencies": {
        "@enhances/with-resolvers": "0.0.5",
        "@helia/bitswap": "4.0.14",
        "@helia/delegated-routing-v1-http-api-client": "9.0.2",
        "@helia/ipns": "10.1.0",
        "@helia/libp2p": "2.1.3",
        "@helia/unixfs": "8.0.5",
        "@libp2p/crypto": "5.1.23",
        "@libp2p/fetch": "4.1.12",
        "@libp2p/gossipsub": "17.0.1",
        "@libp2p/identify": "4.1.13",
        "@libp2p/interface": "3.3.0",
        "@libp2p/peer-id": "6.0.15",
        "@multiformats/multiaddr": "13.0.3",
        "@noble/curves": "2.2.0",
        "@pkcprotocol/pkc-logger": "0.1.0",
        "@pkcprotocol/proper-lock-file": "4.2.1",
        "assert": "2.1.0",
        "better-sqlite3": "12.9.0",
        "blockstore-core": "7.0.1",
        "blockstore-fs": "4.0.1",
        "blockstore-idb": "4.0.1",
        "buffer": "6.0.3",
        "cbor": "10.0.11",
        "cborg": "4.5.8",
        "debounce": "1.2.1",
        "ext-name": "5.0.0",
        "helia": "7.1.10",
        "hpagent": "1.2.0",
        "ipfs-unixfs-importer": "17.0.1",
        "ipns": "11.0.1",
        "it-all": "3.0.6",
        "it-last": "3.0.11",
        "js-sha256": "0.11.1",
        "js-sha512": "0.9.0",
        "kubo-rpc-client": "7.1.0",
        "libp2p": "3.3.9",
        "limiter-es6-compat": "2.1.2",
        "localforage": "1.10.0",
        "lodash.merge": "4.6.2",
        "lru-cache": "10.1.0",
        "multiformats": "14.0.5",
        "node-forge": "1.4.0",
        "open-graph-scraper": "6.11.0",
        "p-limit": "7.3.0",
        "p-retry": "8.0.0",
        "p-timeout": "7.0.1",
        "probe-image-size": "7.2.3",
        "quick-lru": "5.1.1",
        "remeda": "2.39.0",
        "retry": "0.13.1",
        "rpc-websockets": "9.3.8",
        "safe-stable-stringify": "2.4.3",
        "tiny-typed-emitter": "2.1.0",
        "tinycache": "1.1.2",
        "ts-custom-error": "3.3.1",
        "typestub-ipfs-only-hash": "4.0.0",
        "uint8arrays": "6.1.1",
        "undici": "7.24.7",
        "uuid": "13.0.0",
        "ws": "8.20.0",
        "zod": "4.3.6"
    },
    "devDependencies": {
        "@commitlint/cli": "20.4.1",
        "@commitlint/config-conventional": "20.5.0",
        "@libp2p/circuit-relay-v2": "4.2.12",
        "@release-it/conventional-changelog": "10.0.6",
        "@types/better-sqlite3": "7.6.13",
        "@types/debounce": "1.2.1",
        "@types/lodash.merge": "4.6.9",
        "@types/node": "22.19.17",
        "@types/node-forge": "1.3.11",
        "@types/probe-image-size": "7.2.4",
        "@types/retry": "0.12.5",
        "@types/tcp-port-used": "1.0.4",
        "@types/ws": "8.18.1",
        "@vitest/browser-playwright": "4.1.10",
        "@vitest/runner": "4.1.10",
        "@vitest/ui": "4.1.10",
        "chokidar": "3.5.3",
        "commitizen": "4.3.1",
        "cross-env": "7.0.3",
        "cz-conventional-changelog": "3.3.0",
        "debug": "4.4.3",
        "fs-extra": "11.3.4",
        "husky": "9.1.7",
        "knip": "6.16.1",
        "kubo": "0.43.0",
        "lint-staged": "16.2.7",
        "npm-run-all": "4.1.5",
        "playwright": "1.56.1",
        "prettier": "3.2.4",
        "release-it": "19.2.4",
        "rimraf": "6.1.3",
        "rolldown": "1.1.0",
        "socket.io": "4.8.1",
        "socket.io-client": "4.8.1",
        "tcp-port-used": "1.0.2",
        "tempy": "3.2.0",
        "typescript": "5.9.3",
        "vite": "7.3.2",
        "vitest": "4.1.10",
        "wait-on": "9.0.5"
    },
    "description": "TypeScript SDK for PKC (Public Key Communities), a serverless, decentralized social protocol built on IPFS, IPNS, and libp2p pubsub. Powers all PKC clients: CLI, Electron desktop, and web.",
    "publishConfig": {
        "access": "public"
    },
    "repository": {
        "type": "git",
        "url": "git+https://github.com/pkcprotocol/pkc-js.git"
    },
    "keywords": [
        "pkc",
        "pkc-js",
        "decentralized",
        "p2p",
        "peer-to-peer",
        "social",
        "social-network",
        "ipfs",
        "decentralized-web",
        "bitsocial",
        "social-media",
        "distributed",
        "content-sharing",
        "community",
        "forums",
        "discussion",
        "javascript",
        "content-addressed",
        "nodejs",
        "typescript"
    ],
    "author": "Esteban Abaroa, Rinse",
    "license": "GPL-3.0-or-later",
    "bugs": {
        "url": "https://github.com/pkcprotocol/pkc-js/issues"
    },
    "homepage": "https://github.com/pkcprotocol/pkc-js#readme",
    "engines": {
        "node": ">=22"
    },
    "config": {
        "commitizen": {
            "path": "cz-conventional-changelog"
        }
    },
    "lint-staged": {
        "{src,test,config}/**/*.{js,ts}": "prettier --write --config config/prettier.config.js"
    }
}
