{ "name": "ghost", "version": "2.21.1", "description": "The professional publishing platform", "author": "Ghost Foundation", "homepage": "https://ghost.org", "keywords": [ "ghost", "blog", "cms", "headless", "content", "markdown" ], "repository": { "type": "git", "url": "git://github.com/TryGhost/Ghost.git" }, "bugs": "https://github.com/TryGhost/Ghost/issues", "contributors": "https://github.com/TryGhost/Ghost/graphs/contributors", "license": "MIT", "main": "./core/index", "scripts": { "start": "node index", "dev": "DEBUG=ghost:* grunt dev", "test": "grunt validate", "ci": "grunt validate --verbose", "ci:regression": "grunt test-regression --verbose", "setup": "yarn install && knex-migrator init && grunt symlink && grunt init || true", "lint:server": "eslint --ignore-path .eslintignore 'core/server/**/*.js' 'core/*.js' '*.js'", "lint:test": "eslint -c core/test/.eslintrc.json --ignore-path core/test/.eslintignore 'core/test/**/*.js'", "lint": "yarn lint:server && yarn lint:test", "posttest": "yarn lint", "fixmodulenotdefined": "yarn cache clean && cd core/client && rm -rf node_modules tmp dist && yarn && cd ../../", "postinstall": "cp node_modules/@tryghost/members-theme-bindings/build/members-theme-bindings.js core/server/public/" }, "engines": { "node": "^6.9.0 || ^8.9.0 || ^10.13.0", "cli": "^1.9.0" }, "dependencies": { "@nexes/nql": "0.2.1", "@tryghost/helpers": "1.1.2", "@tryghost/members-ssr": "^0.1.1", "@tryghost/members-theme-bindings": "^0.1.0", "ajv": "6.8.1", "amperize": "0.3.8", "analytics-node": "3.3.0", "archiver": "3.0.0", "bcryptjs": "2.4.3", "bluebird": "3.5.3", "body-parser": "1.18.3", "bookshelf": "0.14.2", "bookshelf-relations": "1.1.1", "brute-knex": "3.0.1", "bson-objectid": "1.2.4", "chalk": "2.4.2", "cheerio": "0.22.0", "compression": "1.7.3", "connect-slashes": "1.3.1", "cookie": "0.3.1", "cookie-session": "1.3.2", "cors": "2.8.5", "csv-parser": "2.1.0", "downsize": "0.0.8", "express": "4.16.4", "express-brute": "1.0.1", "express-hbs": "1.1.1", "express-jwt": "5.3.1", "express-query-boolean": "2.0.0", "express-session": "1.15.6", "extract-zip": "1.6.7", "fs-extra": "3.0.1", "ghost-ignition": "3.1.0", "ghost-storage-base": "0.0.3", "glob": "5.0.15", "got": "8.3.2", "gscan": "2.5.0", "html-to-text": "4.0.0", "image-size": "0.6.3", "intl": "1.2.5", "intl-messageformat": "1.3.0", "js-yaml": "3.12.1", "jsonpath": "1.0.0", "jsonwebtoken": "8.4.0", "keypair": "1.0.1", "knex": "0.14.6", "knex-migrator": "3.2.5", "lodash": "4.17.11", "markdown-it": "8.4.2", "markdown-it-footnote": "3.0.1", "markdown-it-lazy-headers": "0.1.3", "markdown-it-mark": "2.0.0", "mobiledoc-dom-renderer": "0.6.5", "moment": "2.24.0", "moment-timezone": "0.5.23", "multer": "1.4.1", "mysql": "2.16.0", "nconf": "0.10.0", "netjet": "1.3.0", "node-jose": "1.1.0", "nodemailer": "0.7.1", "oauth2orize": "1.11.0", "oembed-parser": "1.2.2", "passport": "0.4.0", "passport-http-bearer": "1.0.1", "passport-oauth2-client-password": "0.1.2", "path-match": "1.2.4", "rss": "1.2.2", "sanitize-html": "1.20.0", "semver": "5.6.0", "simple-dom": "0.3.2", "simple-html-tokenizer": "0.5.7", "stripe": "^6.22.0", "unidecode": "0.1.8", "uuid": "3.3.2", "validator": "6.3.0", "xml": "1.0.1" }, "optionalDependencies": { "@tryghost/html-to-mobiledoc": "0.2.4", "sharp": "0.21.3", "sqlite3": "4.0.6" }, "devDependencies": { "eslint": "5.12.1", "eslint-plugin-ghost": "0.1.0", "grunt": "1.0.3", "grunt-bg-shell": "2.3.3", "grunt-cli": "1.3.2", "grunt-contrib-clean": "2.0.0", "grunt-contrib-compress": "1.4.3", "grunt-contrib-copy": "1.0.0", "grunt-contrib-symlink": "^1.0.0", "grunt-contrib-uglify": "4.0.0", "grunt-contrib-watch": "1.1.0", "grunt-cssnano": "2.1.0", "grunt-express-server": "0.5.4", "grunt-mocha-cli": "4.0.0", "grunt-shell": "3.0.1", "grunt-subgrunt": "1.3.0", "grunt-update-submodules": "0.4.1", "matchdep": "2.0.0", "mocha": "5.2.0", "mock-knex": "0.4.3", "nock": "10.0.6", "proxyquire": "2.1.0", "rewire": "4.0.1", "should": "13.2.3", "should-http": "0.1.1", "sinon": "7.2.3", "supertest": "3.4.1", "tmp": "0.0.33" } }