{
  "name": "@turntrout/subfont",
  "version": "1.12.4",
  "description": "Automatically subset web fonts to only the characters used on your pages. Fork of Munter/subfont with modern defaults.",
  "engines": {
    "node": ">=18.0.0"
  },
  "bin": {
    "subfont": "lib/cli.js"
  },
  "main": "lib/subfont.js",
  "exports": {
    ".": {
      "types": "./lib/subfont.d.ts",
      "default": "./lib/subfont.js"
    },
    "./package.json": "./package.json"
  },
  "files": [
    "lib",
    "*.md"
  ],
  "repository": {
    "type": "git",
    "url": "git+https://github.com/AlexanderMattTurner/subfont.git"
  },
  "keywords": [
    "google",
    "font",
    "fonts",
    "webfont",
    "webfonts",
    "subset",
    "subsetting",
    "commandline",
    "cli",
    "automation",
    "woff",
    "woff2",
    "preload",
    "font-subsetting",
    "variable-fonts",
    "harfbuzz",
    "google-fonts",
    "web-performance",
    "typescript"
  ],
  "author": "Alexander Turner",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/AlexanderMattTurner/subfont/issues"
  },
  "homepage": "https://github.com/AlexanderMattTurner/subfont#readme",
  "dependencies": {
    "@hookun/parse-animation-shorthand": "^0.1.5",
    "@puppeteer/browsers": "^2.0.0",
    "assetgraph": "^7.13.0",
    "css-font-parser": "^2.0.0",
    "css-font-weight-names": "^0.2.1",
    "css-list-helpers": "^2.0.0",
    "font-snapper": "^1.2.0",
    "font-tracer": "^3.7.0",
    "fontverter": "^2.0.0",
    "harfbuzzjs": "^0.5.0",
    "jsdom": "^25.0.0",
    "lines-and-columns": "^1.1.6",
    "memoizesync": "^1.1.1",
    "parse5": "^7.0.0",
    "piscina": "^4.9.2",
    "postcss": "^8.3.11",
    "postcss-value-parser": "^4.0.2",
    "pretty-bytes": "^5.1.0",
    "puppeteer-core": "^24.39.1",
    "sanitize-filename": "^1.6.4",
    "specificity": "^0.4.1",
    "urltools": "^0.4.1",
    "yargs": "^17.7.2"
  },
  "devDependencies": {
    "@commitlint/cli": "^21.0.2",
    "@commitlint/config-conventional": "^21.0.2",
    "@stryker-mutator/core": "^9.6.1",
    "@stryker-mutator/mocha-runner": "^9.6.1",
    "@types/jsdom": "^28.0.1",
    "@types/node": "^20.0.0",
    "@types/yargs": "^17.0.0",
    "canvas": "npm:@napi-rs/canvas@^0.1.97",
    "combos": "^0.2.0",
    "css-generators": "^0.2.0",
    "eslint": "^9.0.0",
    "eslint-config-prettier": "^10.0.0",
    "eslint-plugin-mocha": "^10.0.0",
    "eslint-plugin-regexp": "^3.1.0",
    "globals": "^16.0.0",
    "html-generators": "^1.0.3",
    "httpception": "^3.0.0",
    "lint-staged": "^17.3.0",
    "magicpen-prism": "^3.0.2",
    "mocha": "^11.0.0",
    "neostandard": "^0.12.0",
    "nyc": "^15.1.0",
    "offline-github-changelog": "^1.6.1",
    "prettier": "^3.0.0",
    "proxyquire": "^2.1.1",
    "puppeteer": "^24.39.1",
    "rimraf": "^6.0.0",
    "sinon": "^19.0.0",
    "subset-font": "^2.5.0",
    "typescript": "^5.6.0",
    "typescript-eslint": "^8.59.0",
    "unexpected": "^11.8.1",
    "unexpected-check": "^2.3.1",
    "unexpected-resemble": "^5.0.1",
    "unexpected-set": "^2.0.1",
    "unexpected-sinon": "^10.11.2"
  },
  "lint-staged": {
    "*.{js,ts}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.md": "prettier --write"
  },
  "scripts": {
    "build": "tsc && chmod +x lib/cli.js",
    "clean": "rimraf lib",
    "typecheck": "tsc --noEmit",
    "lint": "eslint . && prettier --check '**/*.{js,ts,md}'",
    "format": "prettier '**/*.{js,ts,md}'",
    "pretest": "pnpm run build",
    "test": "mocha && pnpm run lint",
    "precoverage": "pnpm run build",
    "coverage": "nyc --reporter=lcov --reporter=text -- mocha",
    "premutation": "pnpm run build",
    "mutation": "stryker run",
    "prefuzz": "pnpm run build",
    "fuzz": "node fuzz/run-all.js",
    "check-coverage": "nyc check-coverage",
    "preversion": "offline-github-changelog --next=${npm_new_version} > CHANGELOG.md && git add CHANGELOG.md"
  }
}