{
  "name": "@blac/react",
  "version": "3.0.0",
  "license": "MIT",
  "author": "Brendan Mullins <jsnanigans@gmail.com>",
  "description": "React bindings for BlaC — useBloc hook with automatic re-render optimization",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/jsnanigans/blac.git",
    "directory": "packages/blac-react"
  },
  "homepage": "https://github.com/jsnanigans/blac#readme",
  "bugs": {
    "url": "https://github.com/jsnanigans/blac/issues"
  },
  "type": "module",
  "main": "./dist/index.cjs",
  "module": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "typesVersions": {
    "*": {
      "testing": [
        "./dist/testing.d.ts"
      ]
    }
  },
  "exports": {
    ".": {
      "import": {
        "types": "./dist/index.d.ts",
        "default": "./dist/index.js"
      },
      "require": {
        "types": "./dist/index.d.cts",
        "default": "./dist/index.cjs"
      }
    },
    "./testing": {
      "import": {
        "types": "./dist/testing.d.ts",
        "default": "./dist/testing.js"
      },
      "require": {
        "types": "./dist/testing.d.cts",
        "default": "./dist/testing.cjs"
      }
    }
  },
  "files": [
    "dist",
    "README.md",
    "LICENSE"
  ],
  "publishConfig": {
    "access": "public"
  },
  "sideEffects": false,
  "keywords": [
    "react",
    "typescript",
    "state-management",
    "reactjs",
    "observer-pattern",
    "bloc",
    "bloc-pattern"
  ],
  "size-limit": [
    {
      "name": "@blac/react (ESM, brotli, excl. peers)",
      "path": "dist/index.js",
      "limit": "3.5 kB",
      "ignore": [
        "react",
        "react-dom",
        "@blac/core",
        "@types/react"
      ]
    }
  ],
  "dependencies": {
    "@dirtytalk/structural": "^0.0.9"
  },
  "peerDependencies": {
    "@testing-library/react": "^14.0.0 || ^15.0.0 || ^16.0.0",
    "@types/react": "^18.0.0 || ^19.0.0",
    "react": "^18.0.0 || ^19.0.0",
    "@blac/core": "^2.1.0"
  },
  "peerDependenciesMeta": {
    "@types/react": {
      "optional": true
    },
    "@types/react-dom": {
      "optional": true
    },
    "@testing-library/react": {
      "optional": true
    }
  },
  "devDependencies": {
    "@size-limit/preset-small-lib": "^11.1.6",
    "size-limit": "^11.1.6",
    "@babel/core": "^7.28.0",
    "@rolldown/plugin-babel": "^0.2.3",
    "@testing-library/dom": "^10.4.1",
    "@testing-library/jest-dom": "^6.9.1",
    "@testing-library/react": "^16.3.2",
    "@testing-library/user-event": "^14.6.1",
    "@types/babel__core": "^7.20.5",
    "@types/react": "^19.2.15",
    "@types/react-dom": "^19.2.3",
    "@vitejs/plugin-react": "^6.0.2",
    "babel-plugin-react-compiler": "^1.0.0",
    "happy-dom": "^20.9.0",
    "jsdom": "^29.1.1",
    "publint": "^0.3.21",
    "react": "^19.2.6",
    "react-dom": "^19.2.6",
    "typescript": "^6.0.3",
    "vite": "npm:@voidzero-dev/vite-plus-core@latest",
    "vite-plus": "^0.1.23",
    "vitest": "npm:@voidzero-dev/vite-plus-test@latest",
    "@blac/core": "2.1.0"
  },
  "scripts": {
    "dev": "vp pack --watch",
    "build": "vp pack && tsc -p tsconfig.build.json && cp dist/index.d.ts dist/index.d.cts && cp dist/testing.d.ts dist/testing.d.cts",
    "clean": "rm -rf dist",
    "format": "vp fmt \".\"",
    "format:check": "vp fmt \".\" --check",
    "lint": "vp lint src",
    "lint:fix": "vp lint src --fix",
    "test": "vp test run",
    "test:watch": "vp test --watch",
    "test:memory": "NODE_OPTIONS='--expose-gc' vp test run --config vitest.config.performance.ts",
    "test:performance": "vp test run --config vitest.config.performance.ts",
    "test:compiler": "vp test run --config vitest.config.compiler.ts",
    "test:watch:compiler": "vp test --watch --config vitest.config.compiler.ts",
    "test:both": "pnpm test && echo '\n\n=== Running tests WITH React Compiler ===\n' && pnpm test:compiler",
    "verify": "node ../../scripts/run-workspace-bin.mjs publint",
    "typecheck": "tsc --noEmit",
    "size": "size-limit",
    "deploy": "pnpm publish --access public"
  }
}