{ "name": "ghost", "version": "4.46.0", "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' --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:client": "yarn cache clean && cd core/client && rm -rf node_modules tmp dist && yarn && cd ../../", "fix:server": "yarn cache clean && rm -rf node_modules && yarn", "fix": "yarn fix:client && yarn fix:server" }, "engines": { "node": "^14.17.0 || ^16.13.0", "cli": "^1.17.0" }, "dependencies": { "@sentry/node": "6.19.7", "@tryghost/adapter-manager": "0.2.30", "@tryghost/admin-api-schema": "2.14.1", "@tryghost/api-version-compatibility-service": "0.2.0", "@tryghost/bookshelf-plugins": "0.4.1", "@tryghost/bootstrap-socket": "0.2.19", "@tryghost/color-utils": "0.1.14", "@tryghost/config-url-helpers": "0.1.7", "@tryghost/constants": "1.0.4", "@tryghost/custom-theme-settings-service": "0.3.2", "@tryghost/database-info": "0.3.4", "@tryghost/debug": "0.1.16", "@tryghost/domain-events": "0.1.12", "@tryghost/email-analytics-provider-mailgun": "1.0.8", "@tryghost/email-analytics-service": "1.0.6", "@tryghost/email-content-generator": "0.1.1", "@tryghost/errors": "1.2.12", "@tryghost/express-dynamic-redirects": "0.2.11", "@tryghost/helpers": "1.1.65", "@tryghost/image-transform": "1.0.31", "@tryghost/job-manager": "0.8.23", "@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.1.2", "@tryghost/logging": "2.1.8", "@tryghost/magic-link": "1.0.24", "@tryghost/member-events": "0.4.4", "@tryghost/members-api": "7.0.0", "@tryghost/members-events-service": "0.4.1", "@tryghost/members-importer": "0.5.12", "@tryghost/members-offers": "0.11.4", "@tryghost/members-ssr": "1.0.26", "@tryghost/members-stripe-service": "0.10.3", "@tryghost/metrics": "1.0.11", "@tryghost/minifier": "0.1.14", "@tryghost/mw-api-version-mismatch": "0.1.3", "@tryghost/mw-error-handler": "1.0.0", "@tryghost/mw-session-from-token": "0.1.31", "@tryghost/nodemailer": "0.3.22", "@tryghost/nql": "0.9.2", "@tryghost/package-json": "1.0.20", "@tryghost/promise": "0.1.17", "@tryghost/request": "0.1.26", "@tryghost/root-utils": "0.3.14", "@tryghost/security": "0.3.0", "@tryghost/session-service": "0.1.41", "@tryghost/settings-path-manager": "0.1.6", "@tryghost/social-urls": "0.1.30", "@tryghost/stats-service": "0.2.1", "@tryghost/string": "0.1.24", "@tryghost/tpl": "0.1.16", "@tryghost/update-check-service": "0.3.3", "@tryghost/url-utils": "3.0.0", "@tryghost/validator": "0.1.24", "@tryghost/verification-trigger": "0.2.3", "@tryghost/version": "0.1.14", "@tryghost/version-notifications-data-service": "0.1.1", "@tryghost/vhost-middleware": "1.0.25", "@tryghost/zip": "1.1.24", "amperize": "0.6.1", "analytics-node": "6.0.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", "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.0", "express-lazy-router": "1.0.4", "express-query-boolean": "2.0.0", "express-session": "1.17.2", "fs-extra": "10.1.0", "ghost-storage-base": "1.0.0", "glob": "8.0.1", "got": "9.6.0", "gscan": "4.27.0", "html-to-text": "5.1.1", "image-size": "1.0.1", "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.0.0", "knex-migrator": "4.2.9", "lodash": "4.17.21", "luxon": "2.3.2", "mailgun-js": "0.22.0", "metascraper": "5.29.3", "metascraper-author": "5.29.3", "metascraper-description": "5.29.3", "metascraper-image": "5.29.3", "metascraper-logo": "5.29.3", "metascraper-logo-favicon": "5.29.3", "metascraper-publisher": "5.29.3", "metascraper-title": "5.29.3", "metascraper-url": "5.29.3", "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", "passport": "0.5.2", "passport-google-oauth": "2.0.0", "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.8" }, "devDependencies": { "@lodder/grunt-postcss": "3.1.1", "@playwright/test": "1.21.1", "@tryghost/express-test": "0.10.0", "c8": "7.11.2", "coffeescript": "2.7.0", "cssnano": "5.1.7", "eslint": "8.15.0", "eslint-plugin-ghost": "2.13.0", "grunt": "1.5.2", "grunt-bg-shell": "2.3.3", "grunt-contrib-clean": "2.0.1", "grunt-contrib-compress": "2.0.0", "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", "jwks-rsa": "2.1.0", "mocha": "10.0.0", "mocha-slow-test-reporter": "0.1.2", "mock-knex": "TryGhost/mock-knex#8ecb8c227bf463c991c3d820d33f59efc3ab9682", "nock": "13.2.4", "papaparse": "5.3.2", "postcss": "8.4.13", "rewire": "6.0.0", "should": "13.2.3", "sinon": "13.0.2", "supertest": "6.2.3", "tmp": "0.2.1" }, "resolutions": { "@tryghost/logging": "2.1.8", "moment": "2.24.0", "moment-timezone": "0.5.23" } }