{
  "name": "non-overlapping-periodic-job-scheduler",
  "version": "4.0.0",
  "description": "Periodic job scheduler for Node.js that ensures non-overlapping executions and supports graceful teardown with resource deallocation. It dynamically calculates intervals based on user-defined logic, considering the duration and any error thrown by the last execution. The package includes robust error handling, making it ideal for complex scenarios requiring controlled execution flows.",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/ori88c/non-overlapping-periodic-job-scheduler.git"
  },
  "contributors": [
    "Ori Cohen (https://github.com/ori88c/)"
  ],
  "homepage": "https://github.com/ori88c/non-overlapping-periodic-job-scheduler#readme",
  "author": "Ori Cohen",
  "license": "Apache-2.0",
  "scripts": {
    "format": "prettier --write \"src/**/*.ts\"",
    "build": "tsc",
    "prepare": "npm run build",
    "test": "jest"
  },
  "keywords": [
    "periodic",
    "recurring",
    "job",
    "task",
    "scheduler",
    "periodic-job",
    "periodic-task",
    "recurring-job",
    "recurring-task",
    "non-overlap",
    "non-overlapping",
    "graceful-teardown",
    "graceful-shutdown",
    "smooth-teardown",
    "smooth-shutdown",
    "resource-cleanup",
    "disjoint-interval",
    "disjoint-executions",
    "disjoint-runs",
    "time-interval",
    "dynamic-interval",
    "flexible-interval",
    "customized-interval",
    "runtime-factors",
    "adaptable-schedule",
    "executor",
    "executions",
    "task-manager",
    "task-scheduler",
    "job-manager",
    "job-scheduler",
    "async",
    "runner",
    "execution",
    "typescript",
    "ts",
    "nodejs"
  ],
  "engines": {
    "node": ">=14.5.0"
  },
  "devDependencies": {
    "@types/jest": "^29.5.12",
    "jest": "^29.7.0",
    "prettier": "^3.5.3",
    "ts-jest": "^29.1.5",
    "ts-node": "^10.9.2",
    "typescript": "^5.5.2"
  },
  "types": "./dist/index.d.ts",
  "main": "./dist/index.js",
  "files": [
    "src/",
    "dist/",
    "README.md",
    "LICENSE"
  ]
}
