{
  "name": "cross-process-lock",
  "version": "2.2.0",
  "description": "Cross-process file locking solution with lock-queue",
  "main": "index.js",
  "types": "index.d.ts",
  "scripts": {
    "build": "npm run buildUpdate && npm test && npm run docs",
    "buildUpdate": "npm run clean && npm run compile && npm run copyToDist",
    "copyToDist": "copyfiles -f *.txt *.md package.json dist",
    "docs": "typedoc --out ./docs ./src && touch ./docs/.nojekyll",
    "clean": "rimraf ./dist ./docs ./reports ./coverage",
    "test": "dotenv-ng --var JEST_JUNIT_OUTPUT_DIR=./reports -- jest --coverage",
    "lint": "eslint . --ext .ts --fix",
    "compile": "tsc && npm run lint"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/szikszail/cross-process-lock.git"
  },
  "keywords": [
    "file",
    "lock"
  ],
  "author": "Laszlo Szikszai <sziklaszlo@gmail.com>",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/szikszail/cross-process-lock/issues"
  },
  "homepage": "https://github.com/szikszail/cross-process-lock#readme",
  "files": [
    "**/*.js",
    "**/*.d.ts",
    "**/*.js.map"
  ],
  "engines": {
    "node": ">=14.0.0"
  },
  "dependencies": {
    "debug": "^4.4.3",
    "tslib": "^2.8.1"
  },
  "devDependencies": {
    "@eslint/js": "^9.0.0",
    "@types/debug": "^4.1.12",
    "@types/jest": "^30.0.0",
    "@types/node": "^25.2.1",
    "copyfiles": "^2.4.1",
    "dotenv-ng": "^1.2.1",
    "eslint": "^9.39.2",
    "globals": "^17.3.0",
    "jest": "^30.0.0",
    "jest-junit": "^16.0.0",
    "proxyquire": "^2.1.3",
    "rimraf": "^6.1.1",
    "sinon": "^21.0.1",
    "ts-jest": "^29.0.5",
    "typedoc": "^0.28.16",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.54.0",
    "yargs": "^18.0.0"
  },
  "jest": {
    "reporters": [
      "default",
      "jest-junit"
    ],
    "transform": {
      "^.+\\.ts?$": "ts-jest"
    },
    "testEnvironment": "node",
    "testMatch": [
      "**/tests/**/*.test.ts"
    ],
    "testPathIgnorePatterns": [
      "/node_modules/",
      "dist"
    ],
    "coverageDirectory": "./coverage",
    "collectCoverageFrom": [
      "./src/**/*.ts"
    ],
    "moduleFileExtensions": [
      "ts",
      "js"
    ],
    "coverageThreshold": {
      "global": {
        "branches": 85,
        "functions": 85,
        "lines": 85,
        "statements": 85
      }
    }
  }
}
