{
  "name": "@uttori/audio-midi",
  "version": "0.9.1",
  "description": "Utility to parse and manipulate MIDI files.",
  "author": "Matthew Callis <matthew.callis@gmail.com>",
  "contributors": [],
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/uttori/uttori-audio-midi.git"
  },
  "bugs": {
    "url": "https://github.com/uttori/uttori-audio-midi/issues"
  },
  "homepage": "https://github.com/uttori/uttori-audio-midi",
  "keywords": [
    "uttori",
    "midi",
    "parse",
    "generate",
    "validate"
  ],
  "engines": {
    "node": ">= 20"
  },
  "dependencies": {
    "@uttori/data-tools": "^3.1.2"
  },
  "optionalDependencies": {
    "debug": "^4.4.0"
  },
  "devDependencies": {
    "@rollup/plugin-commonjs": "^28.0.2",
    "@rollup/plugin-node-resolve": "^16.0.0",
    "@rollup/plugin-replace": "^6.0.2",
    "@types/debug": "^4.1.12",
    "@types/node": "^22.13.1",
    "@typescript-eslint/eslint-plugin": "^8.23.0",
    "@typescript-eslint/parser": "^8.23.0",
    "ava": "^6.2.0",
    "c8": "^10.1.3",
    "eslint": "^8",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-plugin-anti-trojan-source": "^1.1.1",
    "eslint-plugin-ava": "^14",
    "eslint-plugin-import": "^2.31.0",
    "eslint-plugin-jsdoc": "^50.6.3",
    "eslint-plugin-jsx-a11y": "^6.10.2",
    "eslint-plugin-n": "^17.15.1",
    "eslint-plugin-no-inferred-method-name": "^2.0.0",
    "eslint-plugin-optimize-regex": "^1.2.1",
    "eslint-plugin-security": "^3.0.1",
    "eslint-plugin-xss": "^0.1.12",
    "jsdoc": "^4.0.4",
    "jsdoc-to-markdown": "^9.1.1",
    "jsdoc-tsimport-plugin": "^1.0.5",
    "pre-commit": "^1.2.2",
    "release-it": "^18.1.2",
    "rollup": "^4.34.1",
    "rollup-plugin-cleanup": "^3.2.1",
    "sinon": "^19.0.2",
    "typescript": "^5.7.3"
  },
  "files": [
    "src/*",
    "types/*"
  ],
  "module": "src/index.js",
  "type": "module",
  "types": "types/index.d.ts",
  "sideEffects": false,
  "exports": {
    ".": {
      "import": "./src/index.js",
      "types": "./types/index.d.ts"
    }
  },
  "ava": {
    "files": [
      "test/**/*.test.js"
    ],
    "concurrency": 10,
    "failFast": false,
    "tap": false,
    "verbose": true
  },
  "c8": {
    "clean": true,
    "per-file": true,
    "check-coverage": false,
    "include": [
      "src/**/*.js"
    ],
    "exclude": []
  },
  "release-it": {
    "github": {
      "release": true
    }
  },
  "scripts": {
    "docs": "jsdoc2md --configure ./jsdoc.conf.json --private --example-lang js --template rm.hbs src/index.js > README.md; jsdoc2md --configure ./jsdoc.conf.json --private --example-lang js src/index.js > docs/audio-midi.md",
    "lint": "eslint .",
    "make-demo": "rollup -c demo/rollup.config.js",
    "make-types": "tsc --module nodenext --project ./tsconfig.json",
    "release": "release-it",
    "test": "NODE_ENV=test c8 ava",
    "test-debug": "DEBUG=Uttori* NODE_ENV=test ava --serial --concurrency=1",
    "validate": "npm ls"
  },
  "directories": {
    "test": "test"
  },
  "pre-commit": [
    "lint",
    "test"
  ],
  "private": false,
  "publishConfig": {
    "access": "public"
  }
}
