{ "name": "ghost", "version": "5.4.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", "scripts": { "start": "node index", "dev": "grunt dev", "dev:debug": "DEBUG=ghost:* grunt dev", "setup": "yarn install && knex-migrator init && grunt symlink && grunt init || (exit 0)", "main": "grunt shell:main && grunt subgrunt:init", "build": "grunt build", "test": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js --timeout=60000", "test:all": "yarn test:unit && yarn test:integration && yarn test:e2e && yarn lint", "test:debug": "DEBUG=ghost:test* yarn test", "test:unit": "c8 yarn test:unit:base", "test:unit:base": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/unit' --timeout=2000", "test:integration": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/integration' --timeout=5000", "test:e2e": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/e2e-api' './test/e2e-frontend' './test/e2e-server' './test/e2e-webhooks' --timeout=10000", "test:regression": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/regression' --timeout=60000", "test:browser": "playwright test --browser=all test/e2e-browser", "test:ci": "yarn test:e2e -b && yarn test:integration -b && yarn test:regression -b", "test:unit:slow": "yarn test:unit --reporter=mocha-slow-test-reporter", "test:int:slow": "yarn test:integration --reporter=mocha-slow-test-reporter", "test:e2e:slow": "yarn test:e2e --reporter=mocha-slow-test-reporter", "test:reg:slow": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/regression' --timeout=60000 --reporter=mocha-slow-test-reporter", "lint:server": "eslint --ignore-path .eslintignore 'core/server/**/*.js' 'core/*.js' '*.js'", "lint:shared": "eslint --ignore-path .eslintignore 'core/shared/**/*.js'", "lint:frontend": "eslint --ignore-path .eslintignore 'core/frontend/**/*.js'", "lint:test": "eslint -c test/.eslintrc.js --ignore-path test/.eslintignore 'test/**/*.js'", "lint:code": "yarn lint:server && yarn lint:shared && yarn lint:frontend", "lint": "yarn lint:server && yarn lint:shared && yarn lint:frontend && yarn lint:test", "fix:admin": "yarn cache clean && cd core/admin && rm -rf node_modules tmp dist && yarn && cd ../../", "fix:server": "yarn cache clean && rm -rf node_modules && yarn", "fix": "yarn fix:admin && yarn fix:server", "prepack": "grunt release" }, "engines": { "node": "^14.17.0 || ^16.13.0", "cli": "^1.17.0" }, "dependencies": { "@sentry/node": "7.7.0", "@tryghost/adapter-manager": "0.2.32", "@tryghost/admin-api-schema": "4.0.0", "@tryghost/api-version-compatibility-service": "0.4.3", "@tryghost/bookshelf-plugins": "0.4.3", "@tryghost/bootstrap-socket": "0.2.21", "@tryghost/color-utils": "0.1.19", "@tryghost/config-url-helpers": "1.0.1", "@tryghost/constants": "1.0.6", "@tryghost/custom-theme-settings-service": "0.3.3", "@tryghost/database-info": "0.3.7", "@tryghost/debug": "0.1.17", "@tryghost/domain-events": "0.1.14", "@tryghost/email-analytics-provider-mailgun": "1.0.9", "@tryghost/email-analytics-service": "1.0.7", "@tryghost/email-content-generator": "0.1.3", "@tryghost/errors": "1.2.14", "@tryghost/express-dynamic-redirects": "0.2.13", "@tryghost/helpers": "1.1.71", "@tryghost/image-transform": "1.1.0", "@tryghost/job-manager": "0.8.25", "@tryghost/kg-card-factory": "3.1.3", "@tryghost/kg-default-atoms": "3.1.2", "@tryghost/kg-default-cards": "5.16.2", "@tryghost/kg-markdown-html-renderer": "5.1.5", "@tryghost/kg-mobiledoc-html-renderer": "5.3.5", "@tryghost/limit-service": "1.2.1", "@tryghost/logging": "2.2.3", "@tryghost/magic-link": "1.1.0", "@tryghost/member-events": "0.4.6", "@tryghost/members-api": "8.3.0", "@tryghost/members-events-service": "0.4.3", "@tryghost/members-importer": "0.5.16", "@tryghost/members-offers": "0.11.6", "@tryghost/members-ssr": "1.0.28", "@tryghost/members-stripe-service": "0.10.6", "@tryghost/metrics": "1.0.14", "@tryghost/minifier": "0.1.16", "@tryghost/mw-api-version-mismatch": "0.2.2", "@tryghost/mw-error-handler": "1.0.3", "@tryghost/mw-session-from-token": "0.1.33", "@tryghost/nodemailer": "0.3.24", "@tryghost/nql": "0.9.2", "@tryghost/package-json": "1.0.22", "@tryghost/pretty-cli": "1.2.28", "@tryghost/promise": "0.1.19", "@tryghost/request": "0.1.28", "@tryghost/root-utils": "0.3.15", "@tryghost/security": "0.3.2", "@tryghost/session-service": "0.1.43", "@tryghost/settings-path-manager": "0.1.8", "@tryghost/social-urls": "0.1.32", "@tryghost/stats-service": "0.3.0", "@tryghost/string": "0.1.26", "@tryghost/tpl": "0.1.17", "@tryghost/update-check-service": "0.3.4", "@tryghost/url-utils": "4.0.2", "@tryghost/validator": "0.1.26", "@tryghost/verification-trigger": "0.2.5", "@tryghost/version": "0.1.15", "@tryghost/vhost-middleware": "1.0.26", "@tryghost/zip": "1.1.26", "amperize": "0.6.1", "analytics-node": "6.1.0", "bluebird": "3.7.2", "body-parser": "1.20.0", "bookshelf": "1.2.0", "bookshelf-relations": "2.4.0", "brute-knex": "4.0.1", "bson-objectid": "2.0.3", "bthreads": "0.5.1", "chalk": "4.1.2", "cheerio": "0.22.0", "compression": "1.7.4", "connect-slashes": "1.4.0", "cookie-session": "2.0.0", "cors": "2.8.5", "downsize": "0.0.8", "express": "4.18.1", "express-brute": "1.0.1", "express-hbs": "2.4.0", "express-jwt": "7.7.5", "express-lazy-router": "1.0.4", "express-query-boolean": "2.0.0", "express-session": "1.17.3", "fs-extra": "10.1.0", "ghost-storage-base": "1.0.0", "glob": "8.0.3", "got": "9.6.0", "gscan": "4.32.0", "html-to-text": "8.2.0", "human-number": "2.0.0", "image-size": "1.0.2", "intl": "1.2.5", "intl-messageformat": "5.4.3", "js-yaml": "4.1.0", "jsonpath": "1.1.1", "jsonwebtoken": "8.5.1", "juice": "8.0.0", "keypair": "1.0.4", "knex": "2.2.0", "knex-migrator": "5.0.1", "lodash": "4.17.21", "luxon": "2.5.0", "mailgun-js": "0.22.0", "metascraper": "5.29.18", "metascraper-author": "5.29.15", "metascraper-description": "5.29.15", "metascraper-image": "5.29.15", "metascraper-logo": "5.29.15", "metascraper-logo-favicon": "5.29.15", "metascraper-publisher": "5.29.15", "metascraper-title": "5.29.15", "metascraper-url": "5.29.15", "moment": "2.24.0", "moment-timezone": "0.5.23", "multer": "1.4.4", "mysql2": "2.3.3", "nconf": "0.12.0", "node-jose": "2.1.1", "oembed-parser": "1.4.9", "path-match": "1.2.4", "probe-image-size": "7.2.3", "rss": "1.2.2", "sanitize-html": "2.7.0", "semver": "7.3.7", "stoppable": "1.1.0", "tough-cookie": "4.0.0", "uuid": "8.3.2", "xml": "1.0.1" }, "optionalDependencies": { "@tryghost/html-to-mobiledoc": "1.8.6", "sqlite3": "5.0.9" }, "devDependencies": { "@lodder/grunt-postcss": "3.1.1", "@playwright/test": "1.23.3", "@tryghost/express-test": "0.11.1", "@tryghost/webhook-mock-receiver": "0.1.1", "c8": "7.11.3", "cli-progress": "3.11.2", "coffeescript": "2.7.0", "cssnano": "5.1.12", "eslint": "8.20.0", "eslint-plugin-ghost": "2.14.0", "grunt": "1.5.3", "grunt-bg-shell": "2.3.3", "grunt-contrib-clean": "2.0.1", "grunt-contrib-copy": "1.0.0", "grunt-contrib-symlink": "1.0.0", "grunt-contrib-watch": "1.1.0", "grunt-express-server": "0.5.4", "grunt-shell": "4.0.0", "grunt-subgrunt": "1.3.0", "grunt-update-submodules": "0.4.1", "inquirer": "8.2.4", "jwks-rsa": "2.1.4", "mocha": "10.0.0", "mocha-slow-test-reporter": "0.1.2", "mock-knex": "TryGhost/mock-knex#8ecb8c227bf463c991c3d820d33f59efc3ab9682", "nock": "13.2.8", "papaparse": "5.3.2", "postcss": "8.4.14", "rewire": "6.0.0", "should": "13.2.3", "sinon": "14.0.0", "supertest": "6.2.4", "tmp": "0.2.1" }, "resolutions": { "@tryghost/logging": "2.2.3", "moment": "2.24.0", "moment-timezone": "0.5.23" } }