{
  "name": "@md-anas-sabah/async-task-runner",
  "version": "1.0.2",
  "description": "Powerful async task runner for Node.js with concurrency control, smart retries, timeouts & comprehensive reporting. Perfect for web scraping, API processing, file operations & bulk async operations.",
  "keywords": [
    "npm",
    "async",
    "task",
    "runner",
    "async-task-runner",
    "task-runner",
    "concurrency",
    "queue",
    "task-queue",
    "promise-pool",
    "async-queue",
    "parallel",
    "parallel-processing",
    "retry",
    "retry-logic",
    "exponential-backoff",
    "timeout",
    "scraper",
    "web-scraping",
    "bot",
    "bulk",
    "bulk-operations",
    "cli",
    "batch",
    "batch-processing",
    "events",
    "priority",
    "nodejs",
    "typescript",
    "promise",
    "async-await",
    "rate-limiting",
    "throttle",
    "worker-pool",
    "job-queue",
    "task-scheduler",
    "api-processing",
    "file-processing",
    "data-migration",
    "etl",
    "pipeline"
  ],
  "homepage": "https://github.com/md-anas-sabah/async-task-runner#readme",
  "bugs": {
    "url": "https://github.com/md-anas-sabah/async-task-runner/issues"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/md-anas-sabah/async-task-runner.git"
  },
  "license": "MIT",
  "author": "Md Anas Sabah",
  "type": "module",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "bin": {
    "async-task-runner": "dist/cli.js",
    "atr": "dist/cli.js"
  },
  "directories": {
    "example": "examples",
    "test": "tests"
  },
  "files": [
    "dist",
    "examples"
  ],
  "scripts": {
    "build": "tsc",
    "dev": "tsc --watch",
    "test": "jest --coverage",
    "test:watch": "jest --watch",
    "test:unit": "jest src/",
    "test:integration": "jest tests/",
    "test-all": "npm run test",
    "lint": "eslint src/**/*.ts",
    "lint:fix": "eslint src/**/*.ts --fix",
    "typecheck": "tsc --noEmit",
    "prepublishOnly": "npm run build"
  },
  "dependencies": {
    "commander": "^11.0.0"
  },
  "devDependencies": {
    "@types/jest": "^29.0.0",
    "@types/node": "^20.0.0",
    "@typescript-eslint/eslint-plugin": "^6.0.0",
    "@typescript-eslint/parser": "^6.0.0",
    "eslint": "^8.0.0",
    "jest": "^29.0.0",
    "ts-jest": "^29.0.0",
    "typescript": "^5.0.0"
  },
  "engines": {
    "node": ">=16.0.0"
  },
  "jest": {
    "preset": "ts-jest",
    "testEnvironment": "node",
    "roots": [
      "<rootDir>/src",
      "<rootDir>/tests"
    ],
    "testMatch": [
      "**/__tests__/**/*.ts",
      "**/?(*.)+(spec|test).ts"
    ],
    "collectCoverageFrom": [
      "src/**/*.ts",
      "!src/**/*.d.ts",
      "!src/cli.ts"
    ],
    "coverageDirectory": "coverage",
    "coverageReporters": [
      "text",
      "lcov",
      "html"
    ],
    "coverageThreshold": {
      "global": {
        "branches": 10,
        "functions": 10,
        "lines": 10,
        "statements": 10
      }
    }
  }
}
