{ "name": "grapesjs", "description": "Free and Open Source Web Builder Framework", "version": "0.21.7", "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.5", "codemirror": "^5.63.0", "codemirror-formatting": "^1.0.0", "promise-polyfill": "^8.1.3", "underscore": "^1.13.1" }, "devDependencies": { "@babel/cli": "^7.15.7", "@babel/preset-typescript": "^7.16.7", "@types/jest": "^28.1.1", "@typescript-eslint/parser": "^5.22.0", "@vuepress/plugin-google-analytics": "^1.8.2", "documentation": "^13.2.5", "eslint": "^8.12.0", "grapesjs-cli": "^4.1.3", "html-entities": "^1.4.0", "husky": "^2.7.0", "jest": "^24.9.0", "lint-staged": "^8.2.1", "npm-run-all": "^4.1.5", "prettier": "^2.4.1", "sass": "^1.42.1", "vuepress": "^1.8.2", "whatwg-fetch": "^3.6.2" }, "resolutions": { "backbone-undo/backbone": "1.3.3", "backbone-undo/underscore": "^1.13.1" }, "keywords": [ "grapes", "grapesjs", "wysiwyg", "web", "template", "editor", "newsletter", "site", "builder" ], "babel": { "env": { "test": { "presets": [ "@babel/preset-env", "@babel/preset-typescript" ] } } }, "lint-staged": { "{src,test}/**/*.(t|j)s": [ "eslint --ext .ts,.js --fix", "prettier --single-quote --print-width 120 --arrow-parens avoid --write", "git add" ] }, "jest": { "moduleFileExtensions": [ "js", "ts" ], "verbose": true, "testURL": "http://localhost/", "modulePaths": [ "/src" ], "testMatch": [ "/test/specs/**/*.(t|j)s" ], "setupFiles": [ "/test/setup.js" ] }, "husky": { "hooks": { "pre-commit": "lint-staged" } }, "scripts": { "docs": "vuepress dev docs", "docs:api": "node docs/api.js", "docs:build-vp": "vuepress build docs", "docs:build": "npm run docs:api && npm run docs:build-vp", "docs:deploy": "docs/deploy.sh", "lint": "eslint . --ext .ts,.js && npm run lint:ts", "check": "npm run lint && npm run test", "lint:ts": "tsc --noEmit", "build": "npm run check && npm run build-all && npm run ts:check", "build-all": "run-s build:*", "build:js": "grapesjs-cli build --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=0 --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=0", "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 --single-quote --write './{src,test}/**/*.js'", "test": "jest", "test:dev": "jest --watch" } }