mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-01-06 22:40:14 -05:00
1a0362f3db
refs https://github.com/TryGhost/Toolbox/issues/207 - we want to start writing some E2E tests that involve automated pointing and clicking around the frontend of Ghost to test that members of Ghost sites can still do what we expect - we've decided to look in to Playwright for this - it looks __really__ nice - this is a VERY basic first test - it'll check for a 200 on the homepage of whatever we provide as the TEST_URL env variable, or default to a (manually-run) Ghost instance on port 2368 - also adds a `yarn test:browser` command to run the tests using the Playwright CLI, and a sample GitHub Action workflow which we can manually run with a site URL - there's a lot more to add here in terms of test framework but this gets us started
224 lines
8.4 KiB
JSON
224 lines
8.4 KiB
JSON
{
|
|
"name": "ghost",
|
|
"version": "4.36.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 --reporter text-summary --reporter cobertura 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",
|
|
"cov:unit": "c8 report --reporter text --reporter html",
|
|
"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": "^12.22.1 || ^14.17.0 || ^16.13.0",
|
|
"cli": "^1.17.0"
|
|
},
|
|
"dependencies": {
|
|
"@nexes/nql": "0.6.0",
|
|
"@sentry/node": "6.17.9",
|
|
"@tryghost/adapter-manager": "0.2.27",
|
|
"@tryghost/admin-api-schema": "2.9.0",
|
|
"@tryghost/bookshelf-plugins": "0.3.8",
|
|
"@tryghost/bootstrap-socket": "0.2.16",
|
|
"@tryghost/color-utils": "0.1.7",
|
|
"@tryghost/config-url-helpers": "0.1.4",
|
|
"@tryghost/constants": "1.0.1",
|
|
"@tryghost/custom-theme-settings-service": "0.3.1",
|
|
"@tryghost/database-info": "0.1.0",
|
|
"@tryghost/debug": "0.1.12",
|
|
"@tryghost/email-analytics-provider-mailgun": "1.0.7",
|
|
"@tryghost/email-analytics-service": "1.0.5",
|
|
"@tryghost/errors": "1.2.1",
|
|
"@tryghost/express-dynamic-redirects": "0.2.5",
|
|
"@tryghost/helpers": "1.1.56",
|
|
"@tryghost/image-transform": "1.0.27",
|
|
"@tryghost/job-manager": "0.8.19",
|
|
"@tryghost/kg-card-factory": "3.1.2",
|
|
"@tryghost/kg-default-atoms": "3.1.1",
|
|
"@tryghost/kg-default-cards": "5.16.1",
|
|
"@tryghost/kg-markdown-html-renderer": "5.1.4",
|
|
"@tryghost/kg-mobiledoc-html-renderer": "5.3.4",
|
|
"@tryghost/limit-service": "1.0.9",
|
|
"@tryghost/logging": "2.0.3",
|
|
"@tryghost/magic-link": "1.0.18",
|
|
"@tryghost/members-api": "5.0.1",
|
|
"@tryghost/members-importer": "0.5.1",
|
|
"@tryghost/members-offers": "0.10.7",
|
|
"@tryghost/members-ssr": "1.0.20",
|
|
"@tryghost/members-stripe-service": "0.8.1",
|
|
"@tryghost/metrics": "1.0.5",
|
|
"@tryghost/minifier": "0.1.10",
|
|
"@tryghost/mw-error-handler": "0.1.2",
|
|
"@tryghost/mw-session-from-token": "0.1.27",
|
|
"@tryghost/nodemailer": "0.3.11",
|
|
"@tryghost/package-json": "1.0.15",
|
|
"@tryghost/promise": "0.1.14",
|
|
"@tryghost/request": "0.1.14",
|
|
"@tryghost/root-utils": "0.3.10",
|
|
"@tryghost/security": "0.2.14",
|
|
"@tryghost/session-service": "0.1.37",
|
|
"@tryghost/settings-path-manager": "0.1.3",
|
|
"@tryghost/social-urls": "0.1.28",
|
|
"@tryghost/string": "0.1.22",
|
|
"@tryghost/tpl": "0.1.11",
|
|
"@tryghost/update-check-service": "0.3.1",
|
|
"@tryghost/url-utils": "2.0.5",
|
|
"@tryghost/validator": "0.1.12",
|
|
"@tryghost/verification-trigger": "0.1.4",
|
|
"@tryghost/version": "0.1.10",
|
|
"@tryghost/vhost-middleware": "1.0.21",
|
|
"@tryghost/zip": "1.1.19",
|
|
"amperize": "0.6.1",
|
|
"analytics-node": "6.0.0",
|
|
"bluebird": "3.7.2",
|
|
"body-parser": "1.19.2",
|
|
"bookshelf": "1.2.0",
|
|
"bookshelf-relations": "2.3.0",
|
|
"brute-knex": "4.0.1",
|
|
"bson-objectid": "2.0.2",
|
|
"bthreads": "0.5.1",
|
|
"cheerio": "0.22.0",
|
|
"compression": "1.7.4",
|
|
"connect-slashes": "1.4.0",
|
|
"cookie-session": "1.4.0",
|
|
"cors": "2.8.5",
|
|
"downsize": "0.0.8",
|
|
"express": "4.17.3",
|
|
"express-brute": "1.0.1",
|
|
"express-hbs": "2.4.0",
|
|
"express-jwt": "6.1.0",
|
|
"express-lazy-router": "1.0.4",
|
|
"express-query-boolean": "2.0.0",
|
|
"express-session": "1.17.2",
|
|
"fs-extra": "10.0.0",
|
|
"ghost-storage-base": "1.0.0",
|
|
"glob": "7.2.0",
|
|
"got": "9.6.0",
|
|
"gscan": "4.22.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": "0.21.21",
|
|
"knex-migrator": "4.1.3",
|
|
"lodash": "4.17.21",
|
|
"luxon": "2.3.0",
|
|
"mailgun-js": "0.22.0",
|
|
"metascraper": "5.25.8",
|
|
"metascraper-author": "5.25.8",
|
|
"metascraper-description": "5.25.8",
|
|
"metascraper-image": "5.25.8",
|
|
"metascraper-logo": "5.25.8",
|
|
"metascraper-logo-favicon": "5.25.8",
|
|
"metascraper-publisher": "5.25.8",
|
|
"metascraper-title": "5.25.8",
|
|
"metascraper-url": "5.25.8",
|
|
"moment": "2.24.0",
|
|
"moment-timezone": "0.5.23",
|
|
"multer": "1.4.4",
|
|
"mysql": "2.18.1",
|
|
"nconf": "0.11.3",
|
|
"node-jose": "2.1.0",
|
|
"oembed-parser": "1.4.9",
|
|
"passport": "0.5.2",
|
|
"passport-google-oauth": "2.0.0",
|
|
"path-match": "1.2.4",
|
|
"probe-image-size": "5.0.0",
|
|
"rss": "1.2.2",
|
|
"sanitize-html": "2.7.0",
|
|
"semver": "7.3.5",
|
|
"stoppable": "1.1.0",
|
|
"tough-cookie": "4.0.0",
|
|
"uuid": "8.3.2",
|
|
"xml": "1.0.1"
|
|
},
|
|
"optionalDependencies": {
|
|
"@tryghost/html-to-mobiledoc": "1.8.3",
|
|
"sqlite3": "5.0.2"
|
|
},
|
|
"devDependencies": {
|
|
"@lodder/grunt-postcss": "3.1.1",
|
|
"@playwright/test": "1.18.1",
|
|
"@tryghost/express-test": "0.5.0",
|
|
"@tryghost/jest-snapshot": "0.3.2",
|
|
"c8": "7.11.0",
|
|
"coffeescript": "2.6.1",
|
|
"cssnano": "5.0.17",
|
|
"eslint": "8.9.0",
|
|
"eslint-plugin-ghost": "2.12.0",
|
|
"grunt": "1.4.1",
|
|
"grunt-bg-shell": "2.3.3",
|
|
"grunt-contrib-clean": "2.0.0",
|
|
"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": "3.0.1",
|
|
"grunt-subgrunt": "1.3.0",
|
|
"grunt-update-submodules": "0.4.1",
|
|
"jwks-rsa": "2.0.5",
|
|
"mocha": "9.2.0",
|
|
"mocha-slow-test-reporter": "0.1.2",
|
|
"mock-knex": "0.4.10",
|
|
"nock": "13.2.4",
|
|
"papaparse": "5.3.1",
|
|
"postcss": "8.4.6",
|
|
"rewire": "6.0.0",
|
|
"should": "13.2.3",
|
|
"sinon": "13.0.1",
|
|
"supertest": "6.2.2",
|
|
"tmp": "0.2.1"
|
|
},
|
|
"resolutions": {
|
|
"@tryghost/logging": "2.0.3",
|
|
"moment": "2.24.0",
|
|
"moment-timezone": "0.5.23"
|
|
}
|
|
}
|