{
  "name": "grapesjs",
  "description": "Free and Open Source Web Builder Framework",
  "version": "0.21.13",
  "author": "Artur Arseniev",
  "license": "BSD-3-Clause",
  "homepage": "http://grapesjs.com",
  "main": "dist/grapes.min.js",
  "types": "dist/index.d.ts",
  "module": "dist/grapes.mjs",
  "exports": {
    ".": {
      "import": "./dist/grapes.mjs",
      "require": "./dist/grapes.min.js",
      "types": "./dist/index.d.ts"
    },
    "./*": "./*"
  },
  "files": [
    "dist",
    "locale",
    "src/styles"
  ],
  "sideEffects": [
    "*.vue",
    "*.css",
    "*.scss"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/GrapesJS/grapesjs.git"
  },
  "dependencies": {
    "@types/backbone": "1.4.15",
    "backbone": "1.4.1",
    "backbone-undo": "0.2.6",
    "codemirror": "5.63.0",
    "codemirror-formatting": "1.0.0",
    "promise-polyfill": "8.1.3",
    "underscore": "1.13.1"
  },
  "devDependencies": {
    "@babel/cli": "7.24.8",
    "@babel/preset-typescript": "7.24.7",
    "@types/jest": "29.5.12",
    "@types/markdown-it": "14.1.2",
    "@typescript-eslint/eslint-plugin": "8.2.0",
    "@typescript-eslint/parser": "8.0.1",
    "@vuepress/plugin-google-analytics": "1.8.2",
    "@vuepress/types": "1.9.10",
    "documentation": "14.0.3",
    "eslint": "8.57.0",
    "eslint-config-prettier": "9.1.0",
    "eslint-plugin-jest": "28.8.0",
    "eslint-plugin-prettier": "5.1.3",
    "grapesjs-cli": "4.1.3",
    "html-entities": "1.4.0",
    "jest": "29.7.0",
    "jest-environment-jsdom": "29.7.0",
    "jsdom": "24.1.1",
    "npm-run-all": "4.1.5",
    "postcss": "8",
    "prettier": "3.3.3",
    "sass": "1.42.1",
    "typescript": "5.5.4",
    "vuepress": "1.9.10",
    "whatwg-fetch": "3.6.20"
  },
  "resolutions": {
    "backbone-undo/backbone": "1.3.3",
    "backbone-undo/underscore": "1.13.1"
  },
  "keywords": [
    "grapes",
    "grapesjs",
    "wysiwyg",
    "web",
    "template",
    "editor",
    "newsletter",
    "site",
    "builder"
  ],
  "scripts": {
    "docs": "vuepress dev docs",
    "docs:api": "node docs/api.mjs",
    "docs:build-vp": "vuepress build docs",
    "docs:build": "npm run docs:api && npm run docs:build-vp",
    "docs:deploy": "docs/deploy.sh",
    "lint": "eslint .",
    "lint:ts": "tsc --noEmit",
    "build": "npm run build-all && npm run ts:check",
    "build-all": "run-s build:*",
    "build:js": "grapesjs-cli build --patch=false --targets=\"> 1%, ie 11, safari 8, not dead\" --statsOutput=\"stats.json\" --localePath=\"src/i18n/locale\"",
    "build:mjs": "BUILD_MODULE=true grapesjs-cli build --dts='skip' --patch=false --targets=\"> 1%, ie 11, safari 8, not dead\"",
    "build:css": "sass src/styles/scss/main.scss dist/css/grapes.min.css --no-source-map --style=compressed --load-path=node_modules",
    "ts:build": "grapesjs-cli build --dts='only' --patch=false",
    "ts:check": "tsc --noEmit --esModuleInterop dist/index.d.ts",
    "ts:build:check": "npm run ts:build && npm run ts:check",
    "start": "run-p start:*",
    "start:js": "grapesjs-cli serve",
    "start:css": "npm run build:css -- --watch",
    "format": "prettier . --write",
    "format:check": "prettier . --check",
    "test": "jest --forceExit",
    "test:dev": "jest --watch"
  }
}
