{
  "name": "@adonisjs/lock",
  "description": "Atomic locks (mutex) for AdonisJS applications",
  "version": "1.1.1",
  "engines": {
    "node": ">=20.6.0"
  },
  "type": "module",
  "files": [
    "build"
  ],
  "exports": {
    ".": "./build/index.js",
    "./lock_provider": "./build/providers/lock_provider.js",
    "./services/main": "./build/services/main.js",
    "./types": "./build/src/types.js"
  },
  "scripts": {
    "clean": "del-cli build",
    "copy:templates": "copyfiles --up 1 \"stubs/**/*.stub\" build",
    "typecheck": "tsc --noEmit",
    "lint": "eslint . --ext=.ts",
    "format": "prettier --write .",
    "quick:test": "node --import=./tsnode.esm.js --enable-source-maps bin/test.ts",
    "pretest": "npm run lint",
    "test": "c8 npm run quick:test",
    "prebuild": "npm run lint && npm run clean",
    "compile": "tsup-node && tsc --emitDeclarationOnly --declaration",
    "build": "tsup-node && tsc --emitDeclarationOnly --declaration && npm run copy:templates",
    "release": "npx release-it",
    "version": "npm run build",
    "prepublishOnly": "npm run build"
  },
  "devDependencies": {
    "@adonisjs/assembler": "^7.7.0",
    "@adonisjs/core": "^6.12.1",
    "@adonisjs/eslint-config": "^1.3.0",
    "@adonisjs/lucid": "^21.1.0",
    "@adonisjs/prettier-config": "^1.3.0",
    "@adonisjs/redis": "^9.1.0",
    "@adonisjs/tsconfig": "^1.3.0",
    "@japa/assert": "^3.0.0",
    "@japa/file-system": "^2.3.0",
    "@japa/runner": "^3.1.4",
    "@swc/core": "^1.6.5",
    "@types/node": "^20.14.8",
    "better-sqlite3": "^11.0.0",
    "c8": "^10.1.2",
    "copyfiles": "^2.4.1",
    "del-cli": "^5.1.0",
    "dotenv": "^16.4.5",
    "eslint": "^8.57.0",
    "luxon": "^3.4.4",
    "mysql": "^2.18.1",
    "pg": "^8.12.0",
    "prettier": "^3.3.2",
    "release-it": "^17.4.0",
    "timekeeper": "^2.3.1",
    "ts-node": "^10.9.2",
    "tsup": "^8.1.0",
    "typescript": "^5.5.2"
  },
  "dependencies": {
    "@verrou/core": "^0.5.0"
  },
  "peerDependencies": {
    "@adonisjs/assembler": "^7.0.0",
    "@adonisjs/core": "^6.2.0",
    "@adonisjs/lucid": "^20.0.0 || ^21.0.0",
    "@adonisjs/redis": "^8.0.0 || ^9.0.0",
    "luxon": "^3.0.0"
  },
  "peerDependenciesMeta": {
    "@adonisjs/redis": {
      "optional": true
    },
    "@adonisjs/lucid": {
      "optional": true
    }
  },
  "author": "Julien Ripouteau <julien@ripouteau.com>,adonisjs",
  "license": "MIT",
  "homepage": "https://github.com/adonisjs/lock#readme",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/adonisjs/lock.git"
  },
  "bugs": {
    "url": "https://github.com/adonisjs/lock/issues"
  },
  "keywords": [
    "locks",
    "mutexes",
    "atomic lock",
    "adonisjs"
  ],
  "eslintConfig": {
    "extends": "@adonisjs/eslint-config/package"
  },
  "prettier": "@adonisjs/prettier-config",
  "publishConfig": {
    "access": "public",
    "tag": "latest"
  },
  "release-it": {
    "git": {
      "commitMessage": "chore(release): ${version}",
      "tagAnnotation": "v${version}",
      "tagName": "v${version}"
    },
    "github": {
      "release": true,
      "releaseName": "v${version}",
      "web": true
    }
  },
  "c8": {
    "reporter": [
      "text",
      "html"
    ],
    "exclude": [
      "tests/**",
      "tests_helpers/**"
    ]
  },
  "tsup": {
    "entry": [
      "./index.ts",
      "./src/types.ts",
      "./providers/lock_provider.ts",
      "./services/main.ts"
    ],
    "outDir": "./build",
    "clean": true,
    "format": "esm",
    "dts": false,
    "target": "esnext"
  }
}
