{
  "name": "@preact-signals/utils",
  "version": "0.23.1",
  "private": false,
  "publishConfig": {
    "access": "public"
  },
  "description": "Utils for @preact/signals",
  "sideEffects": [
    "./src/lib/store/sideEffects.ts",
    "./dist/cjs/lib/store/sideEffects.cjs",
    "./dist/esm/lib/store/sideEffects.mjs"
  ],
  "repository": {
    "directory": "packages/utils",
    "url": "https://github.com/XantreDev/preact-signals",
    "type": "git"
  },
  "homepage": "https://github.com/XantreDev/preact-signals/blob/main/packages/utils/README.md",
  "author": {
    "email": "valerik007.vs@gmail.com",
    "name": "Valerii Smirnov",
    "url": "https://github.com/XantreDev"
  },
  "type": "module",
  "module": "./dist/esm/lib/index.mjs",
  "main": "./dist/cjs/lib/index.cjs",
  "types": "./dist/types/lib/index.d.ts",
  "source": "./src/lib/index.ts",
  "react-native": "./src/lib/index.ts",
  "exports": {
    ".": {
      "types": "./dist/types/lib/index.d.ts",
      "import": "./dist/esm/lib/index.mjs",
      "react-native": "./src/lib/index.ts",
      "require": "./dist/cjs/lib/index.cjs",
      "source": "./src/lib/index.ts"
    },
    "./hooks": {
      "types": "./dist/types/lib/hooks/index.d.ts",
      "import": "./dist/esm/lib/hooks/index.mjs",
      "react-native": "./src/lib/hooks/index.ts",
      "require": "./dist/cjs/lib/hooks/index.cjs",
      "source": "./src/lib/hooks/index.ts"
    },
    "./components": {
      "types": "./dist/types/lib/components/index.d.ts",
      "import": "./dist/esm/lib/components/index.mjs",
      "react-native": "./src/lib/components/index.ts",
      "require": "./dist/cjs/lib/components/index.cjs",
      "source": "./src/lib/components/index.ts"
    },
    "./hocs": {
      "types": "./dist/types/lib/hocs/index.d.ts",
      "import": "./dist/esm/lib/hocs/index.mjs",
      "react-native": "./src/lib/hocs/index.ts",
      "require": "./dist/cjs/lib/hocs/index.cjs",
      "source": "./src/lib/hocs/index.ts"
    },
    "./store": {
      "types": "./dist/types/lib/store/index.d.ts",
      "import": "./dist/esm/lib/store/index.mjs",
      "react-native": "./src/lib/store/index.ts",
      "require": "./dist/cjs/lib/store/index.cjs",
      "source": "./src/lib/store/index.ts"
    },
    "./store/hooks": {
      "types": "./dist/types/lib/hooks/store.d.ts",
      "import": "./dist/esm/lib/hooks/store.mjs",
      "react-native": "./src/lib/hooks/store.ts",
      "require": "./dist/cjs/lib/hooks/store.cjs",
      "source": "./src/lib/hooks/store.ts"
    },
    "./macro": {
      "types": "./dist/types/lib/macro.d.ts",
      "import": "./dist/esm/lib/macro.mjs",
      "react-native": "./src/lib/macro.ts",
      "require": "./dist/cjs/lib/macro.cjs",
      "source": "./src/lib/macro.ts"
    },
    "./babel": {
      "types": "./dist/types/babel.d.ts",
      "import": "./dist/esm/babel.mjs",
      "react-native": "./src/babel.ts",
      "require": "./dist/cjs/babel.cjs",
      "source": "./src/babel.ts"
    },
    "./integrations/reanimated": {
      "types": "./dist/types/lib/integrations/reanimated.d.ts",
      "import": "./dist/esm/lib/integrations/reanimated.mjs",
      "react-native": "./src/lib/integrations/reanimated.ts",
      "require": "./dist/cjs/lib/integrations/reanimated.cjs",
      "source": "./src/lib/integrations/reanimated.ts"
    },
    "./macro-helper": {
      "types": "./dist/types/lib/macro-helper.d.ts",
      "import": "./dist/esm/lib/macro-helper.mjs",
      "react-native": "./src/lib/macro-helper.ts",
      "require": "./dist/cjs/lib/macro-helper.cjs",
      "source": "./src/lib/macro-helper.ts"
    },
    "./package.json": "./package.json"
  },
  "typesVersions": {
    "*": {
      "hooks": [
        "./dist/types/lib/hooks/index.d.ts"
      ],
      "components": [
        "./dist/types/lib/components/index.d.ts"
      ],
      "hocs": [
        "./dist/types/lib/hocs/index.d.ts"
      ],
      "store": [
        "./dist/types/lib/store/index.d.ts"
      ],
      "store/hooks": [
        "./dist/types/lib/hooks/store.d.ts"
      ]
    }
  },
  "peerDependencies": {
    "@preact/signals": ">=1.2.0",
    "@preact/signals-core": ">=1.5.0",
    "@preact/signals-react": ">=2.0.0",
    "@preact-signals/safe-react": ">=0.8.1",
    "react": "17.*.* || 18.*.*",
    "react-native-reanimated": ">=2.2.0"
  },
  "peerDependenciesMeta": {
    "react": {
      "optional": true
    },
    "@preact/signals-react": {
      "optional": true
    },
    "@preact/signals": {
      "optional": true
    },
    "@preact/signals-core": {
      "optional": true
    },
    "@preact-signals/safe-react": {
      "optional": true
    },
    "react-native-reanimated": {
      "optional": true
    }
  },
  "dependencies": {
    "@babel/core": "^7.25.9",
    "@babel/helper-module-imports": "^7.25.9",
    "@babel/traverse": "^7.25.9",
    "assert": "^2.1.0",
    "react-fast-hoc": "0.3.2",
    "type-fest": "^3.13.1",
    "@preact-signals/unified-signals": "0.3.1"
  },
  "devDependencies": {
    "@babel/preset-env": "^7.25.9",
    "@preact/signals-react": "^1.3.6",
    "@rollup/plugin-replace": "^5.0.5",
    "@rollup/plugin-typescript": "^11.1.6",
    "@types/babel__core": "^7.20.4",
    "@types/babel__helper-module-imports": "^7.18.3",
    "@types/babel__traverse": "^7.20.5",
    "@types/react": "^18.2.37",
    "@types/react-dom": "^18.2.15",
    "check-export-map": "^1.3.1",
    "concurrently": "^8.2.2",
    "fast-glob": "^3.3.2",
    "happy-dom": "^10.11.2",
    "hotscript": "^1.0.13",
    "radash": "^12.1.0",
    "react": "^18",
    "react-dom": "^18",
    "react-native-reanimated": "^3.15.0",
    "rollup": "^4.17.1",
    "rollup-plugin-esbuild": "^5.0.0",
    "rollup-plugin-node-externals": "^6.1.2",
    "typedoc": "^0.25.8",
    "typedoc-plugin-markdown": "4.0.1",
    "vite-plugin-babel": "^1.2.0",
    "zx": "^8.1.2",
    "@preact-signals/unified-signals": "0.3.1"
  },
  "keywords": [
    "preact signals",
    "signals",
    "utils"
  ],
  "license": "MIT",
  "scripts": {
    "clean": "rimraf dist",
    "clean:docs": "rimraf docs",
    "test": "vitest",
    "lint": "tsc -p ./tsconfig.lint.json && tsc -p ./tsconfig.node.json --noEmit --emitDeclarationOnly false && check-export-map && node ./import-checker.mjs",
    "build": "pnpm clean && rollup -c && pnpm build:types",
    "build:types": "tsc",
    "build:docs": "pnpm clean:docs && node ./build-typedoc.mjs",
    "build:rollup": "rollup -c",
    "watch": "concurrently \"pnpm build:rollup -w\" \"pnpm build:types -w\""
  }
}