{
  "name": "fabric",
  "description": "Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.",
  "homepage": "http://fabricjs.com/",
  "version": "7.2.0",
  "author": "Juriy Zaytsev <kangax@gmail.com>",
  "contributors": [
    {
      "name": "Andrea Bogazzi",
      "email": "andreabogazzi79@gmail.com",
      "url": "https://github.com/asturur"
    },
    {
      "name": "Shachar Nencel",
      "email": "shacharnen@gmail.com",
      "url": "https://github.com/ShaMan123"
    },
    {
      "name": "Steve Eberhardt",
      "email": "melchiar2@gmail.com",
      "url": "https://github.com/melchiar"
    }
  ],
  "keywords": [
    "canvas",
    "graphic",
    "graphics",
    "SVG",
    "node-canvas",
    "parser",
    "HTML5",
    "object model"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/fabricjs/fabric.js"
  },
  "bugs": {
    "url": "https://github.com/fabricjs/fabric.js/issues"
  },
  "license": "MIT",
  "scripts": {
    "docs": "typedoc",
    "cli": "node ./scripts/index.mjs",
    "sandboxscript": "node ./scripts/sandbox.mjs",
    "build": "npm run cli -- build",
    "build:fast": "npm run build -- -f",
    "dev": "npm run cli -- dev",
    "start": "npm run sandboxscript -- start",
    "export": "npm run cli -- website export",
    "test:vitest": "vitest --run --project unit-node",
    "test:vitest:chromium": "vitest --run --project unit-chromium",
    "test:vitest:firefox": "vitest --run --project unit-firefox",
    "test:vitest:all": "vitest --run",
    "test:vitest:coverage": "vitest --run --coverage --project unit-node",
    "test:vitest:coverage:watch": "npm run test:vitest --coverage=true",
    "coverage:merge": "nyc merge coveragefiles .nyc_output/merged-coverage.json",
    "coverage:report": "nyc report --skip-full=true --reporter=lcov --reporter=text --reporter=text-summary",
    "coverage:report:ci": "nyc report --reporter=text-summary",
    "test:e2e": "npm run playwright:typecheck && playwright test",
    "playwright:typecheck": "tsc -p ./e2e/tsconfig.json --noEmit",
    "sandbox": "npm run sandboxscript -- sandbox",
    "local-server": "serve ./ -l tcp://localhost:8080",
    "lint": "eslint src extensions",
    "prettier:check": "prettier --check .",
    "prettier:write": "prettier --write .",
    "prepare": "husky install"
  },
  "devDependencies": {
    "@babel/cli": "^7.28.3",
    "@babel/core": "^7.28.4",
    "@babel/preset-env": "^7.28.3",
    "@babel/preset-typescript": "^7.27.1",
    "@eslint/js": "^9.37.0",
    "@playwright/test": "^1.58.1",
    "@rollup/plugin-babel": "^6.0.4",
    "@rollup/plugin-json": "^6.1.0",
    "@rollup/plugin-terser": "^0.4.4",
    "@rollup/plugin-typescript": "^12.1.4",
    "@types/jsdom": "^21.1.7",
    "@types/micromatch": "^4.0.9",
    "@types/node": "^24.7.0",
    "@vitest/browser-playwright": "^4.0.18",
    "@vitest/coverage-v8": "^4.0.18",
    "@vitest/ui": "^4.0.18",
    "babel-plugin-transform-imports": "git+https://git@github.com/fabricjs/babel-plugin-transform-imports.git",
    "commander": "^14.0.1",
    "es-toolkit": "1.40.0",
    "eslint-config-prettier": "^10.1.8",
    "husky": "^9.1.7",
    "inquirer": "^12.9.6",
    "lint-staged": "^16.2.7",
    "micromatch": "^4.0.8",
    "nyc": "^17.1.0",
    "prettier": "^3.8.1",
    "ps-list": "^9.0.0",
    "rollup": "^4.52.4",
    "semver": "^7.7.3",
    "serve": "^14.2.5",
    "tsc-files": "^1.1.4",
    "tslib": "^2.8.1",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.46.0",
    "v8-to-istanbul": "^9.3.0",
    "vitest": "^4.0.18",
    "westures": "^1.1.1"
  },
  "engines": {
    "node": ">=20.0.0"
  },
  "overrides": {
    "canvas": {
      "canvas": "3.2.0"
    }
  },
  "module": "./dist/index.mjs",
  "types": "./dist/index.d.ts",
  "typesVersions": {
    ">=4.2": {
      "*": [
        "dist/index.d.ts"
      ],
      "node": [
        "dist/index.node.d.ts"
      ]
    }
  },
  "sideEffects": false,
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.min.mjs",
      "require": "./dist/index.min.js",
      "default": "./dist/index.min.js"
    },
    "./es": {
      "types": "./dist/index.d.ts",
      "import": "./dist/fabric.min.mjs",
      "require": null,
      "default": null
    },
    "./node": {
      "node": "./dist/index.node.cjs",
      "types": "./dist/index.node.d.ts",
      "import": "./dist/index.node.mjs",
      "require": "./dist/index.node.cjs",
      "default": "./dist/index.node.cjs"
    },
    "./extensions": {
      "node": "./dist-extensions/index.mjs",
      "types": "./dist-extensions/extensions/index.d.ts",
      "import": "./dist-extensions/index.mjs",
      "require": null,
      "default": "./dist-extensions/fabric-extensions.min.js"
    }
  },
  "optionalDependencies": {
    "canvas": "^3.2.0",
    "jsdom": "^26.1.0"
  },
  "lint-staged": {
    "*.{js,md,css,ts,tsx,jsx,json}": "eslint --fix",
    "*.{js,css,md,ts,tsx,jsx,json}": "prettier --write",
    "**/*.ts !(**/*.spec.ts) !(**/*.test.ts) !(vitest*.ts)": "tsc-files --noEmit"
  }
}
