{
  "name": "rtvjs",
  "version": "5.0.0",
  "description": "Runtime Verification Library for browsers and Node.js.",
  "engines": {
    "node": ">=16.12.0",
    "npm": ">=10.0.0"
  },
  "module": "dist/browser/rtv.esm.slim.js",
  "exports": {
    ".": {
      "node": "./dist/node/rtv.cjs",
      "import": "./dist/browser/rtv.esm.slim.js",
      "default": "./dist/browser/rtv.esm.js"
    }
  },
  "sideEffects": false,
  "scripts": {
    "api": "jsdoc2md -f \"src/**/*.js\" -f \"src/**/*.jsdoc\" --heading-depth 1 > API.md",
    "ci:lint": "npm run fmt:check && npm run lint",
    "ci:build": "npm run build:lib",
    "ci:test": "npm run test:coverage",
    "clean": "npm run clean:lib && npm run clean:internals",
    "clean:internals": "rm -rf ./dist_tools",
    "clean:lib": "rm -rf ./dist",
    "build": "npm run build:lib",
    "build:internals": "npm run clean:internals && rollup -c tools/rollup.internals.js",
    "build:lib": "npm run clean:lib && node ./tools/build/build.js",
    "docs": "npm run docs:cpfiles; cd docs; bundle exec jekyll serve -w -l",
    "docs:build": "npm run docs:cpfiles; cd docs; bundle exec jekyll build",
    "docs:cpfiles": "./tools/docs/cpfiles",
    "docs:install": "cd docs; bundle install",
    "fmt": "prettier --write \"{*,src/**/*,test/**/*,tools/**/*}.+(js|yml)\"",
    "fmt:check": "prettier --check \"{*,src/**/*,test/**/*,tools/**/*}.+(js|yml)\"",
    "lint": "eslint ./*.js \"src/**/*.{js,jsdoc}\" \"test/**/*.js\" \"tools/**/*.js\"",
    "html": "npm run build:lib && npm run html:live",
    "html:live": "live-server --no-browser --mount=\"/dist:./dist\" ./tools",
    "node": "echo \"\n⚠️ REMEMBER TO REBUILD IF NECESSARY ⚠️\n\n\" && node --import=./tools/node.mjs --inspect",
    "node:cjs": "echo \"\n⚠️ REMEMBER TO REBUILD IF NECESSARY ⚠️\n\n\" && node -r ./tools/node.cjs --inspect",
    "node:build": "npm run build:lib && npm run node",
    "node:internals": "npm run build:internals && node --import=./dist_tools/internals.mjs --inspect",
    "precommit:api": "git add API.md",
    "precommit:msg": "echo 'Running pre-commit checks...'",
    "prepare": "husky",
    "prepublish:checkdocs": "git diff HEAD --exit-code -- API.md",
    "prepublishOnly": "npm test && npm run build && npm run api && npm run prepublish:checkdocs",
    "preversion": "npm test",
    "postversion": "git push && git push --tags",
    "release:major": "npm version major -m \"Version %s release\" && npm publish",
    "release:minor": "npm version minor -m \"Version %s release\" && npm publish",
    "release:patch": "npm version patch -m \"Version %s release\" && npm publish",
    "start": "npm run build:lib && npm run node",
    "test": "npm run fmt:check && npm run lint && npm run test:coverage",
    "test:coverage": "npm run test:unit -- --coverage",
    "test:unit": "BABEL_ENV=test NODE_ENV=production jest",
    "test:unit:debug": "npm run test:unit -- --inspect-brk --runInBand",
    "test:unit:watch": "npm run test:unit -- --watch"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/stefcameron/rtvjs.git"
  },
  "keywords": [
    "javascript",
    "test",
    "runtime",
    "verify",
    "verification",
    "assertion",
    "type",
    "integration",
    "isomorphic"
  ],
  "author": {
    "name": "Stefan Cameron",
    "url": "https://stefancameron.com"
  },
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/stefcameron/rtvjs/issues"
  },
  "homepage": "https://github.com/stefcameron/rtvjs?tab=readme-ov-file#rtvjs",
  "files": [
    "API.md",
    "CHANGELOG.md",
    "LICENSE",
    "package.json",
    "README.md",
    "dist/"
  ],
  "peerDependencies": {
    "@babel/runtime": "^7.24.5",
    "lodash-es": "^4.17.21"
  },
  "devDependencies": {
    "@babel/core": "^7.25.2",
    "@babel/eslint-parser": "^7.25.1",
    "@babel/plugin-transform-runtime": "^7.24.7",
    "@babel/preset-env": "^7.25.2",
    "@babel/register": "^7.24.6",
    "@babel/runtime": "^7.25.0",
    "@rollup/plugin-babel": "^6.0.4",
    "@rollup/plugin-commonjs": "^26.0.1",
    "@rollup/plugin-json": "^6.1.0",
    "@rollup/plugin-node-resolve": "^15.2.3",
    "@rollup/plugin-replace": "^5.0.7",
    "babel-plugin-istanbul": "^7.0.0",
    "chokidar": "^3.6.0",
    "eslint": "^8.57.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-jest": "^28.6.0",
    "eslint-plugin-jest-dom": "^5.4.0",
    "eslint-plugin-node": "^11.1.0",
    "husky": "^9.1.4",
    "jest": "^29.7.0",
    "jest-environment-jsdom": "^29.7.0",
    "jest-transform-stub": "^2.0.0",
    "jsdoc-to-markdown": "^8.0.3",
    "live-server": "^1.2.2",
    "lodash-es": "^4.17.21",
    "prettier": "^3.3.3",
    "rollup": "^4.19.1",
    "rollup-plugin-terser": "^7.0.2"
  }
}
