{
  "name": "@avatijs/signal",
  "version": "0.3.1",
  "description": "Signal package part of Avati project",
  "main": "./dist/cjs/index.js",
  "module": "./dist/esm/index.js",
  "types": "./dist/types/index.d.ts",
  "browser": "./dist/umd/index.js",
  "unpkg": "./dist/umd/index.min.js",
  "jsdelivr": "./dist/umd/index.min.js",
  "exports": {
    ".": {
      "types": "./dist/types/index.d.ts",
      "import": "./dist/esm/index.js",
      "require": "./dist/cjs/index.js",
      "default": "./dist/umd/index.js"
    },
    "./package.json": "./package.json",
    "./async": {
      "types": "./dist/types/async/index.d.ts",
      "import": "./dist/esm/async/index.js",
      "require": "./dist/cjs/async/index.js",
      "default": "./dist/umd/async.js"
    },
    "./computed": {
      "types": "./dist/types/computed/index.d.ts",
      "import": "./dist/esm/computed/index.js",
      "require": "./dist/cjs/computed/index.js",
      "default": "./dist/umd/computed.js"
    },
    "./core": {
      "types": "./dist/types/core/index.d.ts",
      "import": "./dist/esm/core/index.js",
      "require": "./dist/cjs/core/index.js",
      "default": "./dist/umd/core.js"
    },
    "./debug": {
      "types": "./dist/types/debug/index.d.ts",
      "import": "./dist/esm/debug/index.js",
      "require": "./dist/cjs/debug/index.js",
      "default": "./dist/umd/debug.js"
    },
    "./extensions": {
      "types": "./dist/types/extensions/index.d.ts",
      "import": "./dist/esm/extensions/index.js",
      "require": "./dist/cjs/extensions/index.js",
      "default": "./dist/umd/extensions.js"
    },
    "./persistence": {
      "types": "./dist/types/persistence/index.d.ts",
      "import": "./dist/esm/persistence/index.js",
      "require": "./dist/cjs/persistence/index.js",
      "default": "./dist/umd/persistence.js"
    }
  },
  "sideEffects": false,
  "engines": {
    "node": ">=18.20.5"
  },
  "typesVersions": {
    "*": {
      "async": [
        "./dist/types/async/index.d.ts"
      ],
      "computed": [
        "./dist/types/computed/index.d.ts"
      ],
      "core": [
        "./dist/types/core/index.d.ts"
      ],
      "debug": [
        "./dist/types/debug/index.d.ts"
      ],
      "extensions": [
        "./dist/types/extensions/index.d.ts"
      ],
      "persistence": [
        "./dist/types/persistence/index.d.ts"
      ]
    }
  },
  "bundlesize": [
    {
      "path": "./dist/esm/core/index.js",
      "maxSize": "8 kB",
      "compression": "brotli"
    },
    {
      "path": "./dist/esm/computed/index.js",
      "maxSize": "4 kB",
      "compression": "brotli"
    },
    {
      "path": "./dist/esm/async/index.js",
      "maxSize": "6 kB",
      "compression": "brotli"
    },
    {
      "path": "./dist/esm/persistence/index.js",
      "maxSize": "4 kB",
      "compression": "brotli"
    },
    {
      "path": "./dist/esm/debug/index.js",
      "maxSize": "3 kB",
      "compression": "brotli"
    },
    {
      "path": "./dist/esm/extensions/index.js",
      "maxSize": "6 kB",
      "compression": "brotli"
    },
    {
      "path": "./dist/esm/index.js",
      "maxSize": "25 kB",
      "compression": "brotli"
    },
    {
      "path": "./dist/cjs/core/index.js",
      "maxSize": "8 kB",
      "compression": "brotli"
    },
    {
      "path": "./dist/cjs/computed/index.js",
      "maxSize": "4 kB",
      "compression": "brotli"
    },
    {
      "path": "./dist/cjs/async/index.js",
      "maxSize": "6 kB",
      "compression": "brotli"
    },
    {
      "path": "./dist/cjs/persistence/index.js",
      "maxSize": "4 kB",
      "compression": "brotli"
    },
    {
      "path": "./dist/cjs/debug/index.js",
      "maxSize": "3 kB",
      "compression": "brotli"
    },
    {
      "path": "./dist/cjs/extensions/index.js",
      "maxSize": "6 kB",
      "compression": "brotli"
    },
    {
      "path": "./dist/cjs/index.js",
      "maxSize": "25 kB",
      "compression": "brotli"
    },
    {
      "path": "./dist/umd/*.js",
      "maxSize": "30 kB",
      "compression": "brotli"
    }
  ],
  "scripts": {
    "prepack": "node scripts/generate-exports.js",
    "prepare": "npm run build",
    "build": "npm run clean && npm run build:types && npm run build:prod",
    "build:dev": "webpack --mode development --progress",
    "build:prod": "webpack --mode production",
    "build:types": "tsc --emitDeclarationOnly --outDir dist/types",
    "watch": "webpack --mode=development --watch",
    "watch:silent": "webpack --mode=development --watch --silent",
    "clean": "rimraf dist",
    "prepublishOnly": "npm run build",
    "test": "jest --config jest.config.js",
    "typecheck": "tsc --noEmit",
    "size": "webpack --mode production --json > stats.json && webpack-bundle-analyzer stats.json",
    "analyze:deps": "madge --circular --extensions ts ./src/index.ts",
    "size:check": "bundlesize",
    "size:watch": "bundlesize --watch",
    "size:compression": "bundlesize --compression",
    "check-deps": "depcheck --config .depcheckrc",
    "analyze": "npm run analyze:size && npm run analyze:deps && npm run analyze:duplicates",
    "analyze:size": "webpack --mode production --json > stats.json && webpack-bundle-analyzer stats.json",
    "analyze:detailed": "webpack --config webpack.analysis.config.js",
    "analyze:duplicates": "jscpd src",
    "analyze:why": "webpack --mode production --display-reasons",
    "analyze:tree": "webpack --mode production --display-used-exports",
    "analyze:modules": "webpack --mode production --display-modules",
    "analyze:full": "webpack --mode production --stats detailed"
  },
  "files": [
    "dist",
    "LICENSE",
    "README.md",
    "CHANGELOG.md"
  ],
  "author": {
    "name": "Khaled Sameer",
    "email": "khaled.smq@hotmail.com",
    "url": "https://khaled.ee/"
  },
  "homepage": "https://avati.io/",
  "bugs": {
    "url": "https://github.com/KhaledSMQ/avati/issues",
    "email": "khaled.smq@hotmail.com"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/KhaledSMQ/avati.git",
    "directory": "packages/signal"
  },
  "license": "MIT",
  "publishConfig": {
    "access": "public"
  },
  "keywords": [
    "avati",
    "scheduler",
    "batch",
    "task-queue",
    "priority-queue",
    "async",
    "typescript",
    "signal",
    "reactive",
    "events",
    "event-emitter",
    "observable",
    "pubsub",
    "state-management",
    "hooks",
    "data-binding",
    "stream"
  ],
  "devDependencies": {
    "@types/jest": "^29.5.14",
    "@types/node": "^22.9.1",
    "@typescript-eslint/eslint-plugin": "^8.15.0",
    "@typescript-eslint/parser": "^8.15.0",
    "bundlesize": "^0.18.2",
    "depcheck": "^1.4.7",
    "dependency-cruiser": "^16.6.0",
    "eslint": "^8.57.1",
    "jest": "^29.7.0",
    "jscpd": "^4.0.5",
    "madge": "^8.0.0",
    "rimraf": "^6.0.1",
    "source-map-explorer": "^2.5.3",
    "terser-webpack-plugin": "^5.3.10",
    "ts-jest": "^29.2.5",
    "ts-loader": "^9.5.1",
    "typescript": "^5.6.3",
    "webpack": "^5.96.1",
    "webpack-bundle-analyzer": "^4.10.2",
    "webpack-cli": "^5.1.4"
  }
}
