{
  "name": "node-cqrs",
  "version": "1.1.0",
  "description": "TypeScript CQRS/Event Sourcing toolkit for Node.js with DI, sagas, projections, and optional Worker, RabbitMQ, and SQLite adapters",
  "type": "module",
  "keywords": [
    "cqrs",
    "event-sourcing",
    "eventsourcing",
    "ddd",
    "domain-driven-design",
    "event-store",
    "command-bus",
    "event-bus",
    "projection",
    "saga",
    "typescript",
    "nodejs",
    "worker-threads",
    "rabbitmq",
    "sqlite",
    "redis"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/snatalenko/node-cqrs.git"
  },
  "main": "./dist/cjs/index.js",
  "types": "./dist/types/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/types/index.d.ts",
      "require": "./dist/cjs/index.js",
      "import": "./dist/esm/index.js"
    },
    "./workers": {
      "types": "./dist/types/workers/index.d.ts",
      "require": "./dist/cjs/workers/index.js",
      "import": "./dist/esm/workers/index.js"
    },
    "./rabbitmq": {
      "types": "./dist/types/rabbitmq/index.d.ts",
      "require": "./dist/cjs/rabbitmq/index.js",
      "import": "./dist/esm/rabbitmq/index.js"
    },
    "./sqlite": {
      "types": "./dist/types/sqlite/index.d.ts",
      "require": "./dist/cjs/sqlite/index.js",
      "import": "./dist/esm/sqlite/index.js"
    },
    "./redis": {
      "types": "./dist/types/redis/index.d.ts",
      "require": "./dist/cjs/redis/index.js",
      "import": "./dist/esm/redis/index.js"
    },
    "./mongodb": {
      "types": "./dist/types/mongodb/index.d.ts",
      "require": "./dist/cjs/mongodb/index.js",
      "import": "./dist/esm/mongodb/index.js"
    }
  },
  "directories": {
    "doc": "docs",
    "example": "examples",
    "test": "tests"
  },
  "engines": {
    "node": ">=16.0.0"
  },
  "scripts": {
    "cleanup": "rm -rf ./dist ./coverage",
    "test": "jest",
    "examples": "npm run example:user-domain-framework-free && npm run example:user-domain-ts && npm run example:sagas-simple && npm run example:sagas-overlaps && npm run example:user-domain-cjs && npm run example:workers-projection && npm run example:sqlite && npm run example:redis && npm run example:mongodb-eventstore && npm run example:mongodb-views && npm run example:browser && npm run example:telemetry",
    "example:telemetry": "node examples/telemetry/index.ts",
    "example:user-domain-ts": "node examples/user-domain-ts/index.ts",
    "example:user-domain-framework-free": "node examples/user-domain-framework-free/index.ts",
    "example:user-domain-cjs": "npm run build:cjs && node examples/user-domain-cjs/index.cjs",
    "example:sagas-simple": "node examples/sagas-simple/index.ts",
    "example:sagas-overlaps": "node examples/sagas-overlaps/index.ts",
    "example:workers-projection": "npm run build:cjs && node examples/workers-projection/index.cjs",
    "example:sqlite": "node examples/sqlite/index.ts",
    "example:redis": "node examples/redis/index.ts",
    "example:mongodb-eventstore": "node examples/mongodb-eventstore/index.ts",
    "example:mongodb-views": "node examples/mongodb-views/index.ts",
    "example:browser": "npm run build:browser && echo \"\nOpen ./examples/browser/index.html in your browser (check DevTools console)\n\"",
    "pretest:examples": "npm run build:cjs",
    "test:examples": "jest --roots='<rootDir>/examples'",
    "test:coverage": "npm t -- --collect-coverage",
    "test:rabbitmq": "jest --verbose --roots='<rootDir>/tests/integration/rabbitmq'",
    "test:sqlite": "jest --verbose --roots='<rootDir>/tests/integration/sqlite'",
    "test:redis": "jest --verbose --roots='<rootDir>/tests/integration/redis'",
    "test:mongodb": "jest --verbose --roots='<rootDir>/tests/integration/mongodb'",
    "pretest:workers": "npm run build:cjs",
    "test:workers": "jest --verbose --roots='<rootDir>/tests/integration/workers'",
    "changelog": "conventional-changelog -n ./scripts/changelog/index.cjs -r 0 > CHANGELOG.md",
    "build:cjs": "tsc -p ./tsconfig.cjs.json && cp ./scripts/etc/cjs-package.json ./dist/cjs/package.json",
    "build:esm": "tsc -p ./tsconfig.esm.json",
    "build:browser:bundle-min": "rollup -c ./rollup.browser.config.mjs --environment MINIFY:true",
    "build:browser:bundle": "rollup -c ./rollup.browser.config.mjs",
    "build:browser": "npm run build:esm && npm run build:browser:bundle && npm run build:browser:bundle-min",
    "build": "npm run build:esm && npm run build:cjs",
    "rebuild": "npm run cleanup && npm run build",
    "prepare": "npm run build",
    "preversion": "npm test",
    "version": "./scripts/cleanup_obsolete_tags.sh v$npm_package_version && npm run changelog && git add CHANGELOG.md",
    "lint": "eslint"
  },
  "author": "@snatalenko",
  "license": "Apache-2.0",
  "homepage": "https://github.com/snatalenko/node-cqrs#readme",
  "files": [
    "dist/**",
    "!dist/.tsbuildinfo*",
    "README.md",
    "LICENSE",
    "NOTICE",
    "CHANGELOG.md"
  ],
  "dependencies": {
    "async-iterable-buffer": "^1.1.0",
    "async-parallel-pipe": "^1.0.2",
    "di0": "^1.3.0"
  },
  "devDependencies": {
    "@opentelemetry/api": "^1.9.0",
    "@opentelemetry/exporter-trace-otlp-http": "^0.213.0",
    "@opentelemetry/sdk-trace-base": "^2.6.0",
    "@opentelemetry/sdk-trace-node": "^2.6.0",
    "@rollup/plugin-commonjs": "^29.0.2",
    "@rollup/plugin-node-resolve": "^16.0.3",
    "@rollup/plugin-terser": "^1.0.0",
    "@types/amqplib": "^0.10.8",
    "ioredis": "^5.0.0",
    "@types/better-sqlite3": "^7.6.13",
    "@types/jest": "^29.5.14",
    "@types/node": "^25.5.0",
    "@typescript-eslint/eslint-plugin": "^8.29.0",
    "@typescript-eslint/parser": "^8.29.0",
    "amqplib": "^0.10.9",
    "better-sqlite3": "^12.6.2",
    "comlink": "^4.4.2",
    "conventional-changelog": "^3.1.25",
    "eslint": "^9.39.4",
    "eslint-plugin-jest": "^28.14.0",
    "globals": "^17.4.0",
    "jest": "^29.7.0",
    "mongodb": "^6.21.0",
    "rollup": "^4.59.0",
    "ts-jest": "^29.4.6",
    "ts-node": "^10.9.2",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.57.0"
  },
  "peerDependencies": {
    "@opentelemetry/api": "^1.9.0",
    "amqplib": "^0.10.9",
    "better-sqlite3": "^12.6.2",
    "comlink": "^4.4.2",
    "ioredis": "^5.0.0",
    "mongodb": "^6.0.0"
  },
  "peerDependenciesMeta": {
    "better-sqlite3": {
      "optional": true
    },
    "amqplib": {
      "optional": true
    },
    "comlink": {
      "optional": true
    },
    "ioredis": {
      "optional": true
    },
    "mongodb": {
      "optional": true
    },
    "@opentelemetry/api": {
      "optional": true
    }
  }
}
