2
1
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2023-12-13 21:00:40 +01:00
Ghost/package.json
naz a2bfef53de
🐛 Fixed post resource filtering by posts_meta table fields (#12307)
refs #11572

- Filtering by fields coming from posts_meta table did not work for post resources. This was due to lack of support for these types of operations on NQL layer. The approach taken here is using same way filtering was done for many:many relations and generates a `WHERE IN` filtering clause. In the future we could look into adding preloading of 1:1 relations which should allow getting rid of `WHERE IN` in favor of `JOIN` and filtering directly by field names. 
- Changed structure of `EXPANSIONS` filter configuration. Current approach was based on "bag of all the things". Such structure will become problematic as more fields are added. For example, adding all the fields from 1:1 relation posts:posts_meta might collide with any other relations that would have similar naming like meta_description from tags table (if it were was added).
- Bumped nql version to 0.5.0. This adds filtering support to 1:1 relations
- Added filter expansions which can be unique per model Previous approach with single global expansions lookup wasn't working in case different models would need to declare expansion for same field names. Having a `filterExpansion` method per model works in a similar convention other filter related model methods do (e.g. enforcedFilters, defaultFilters)
2020-11-02 12:53:57 +13:00

179 lines
5.5 KiB
JSON

{
"name": "ghost",
"version": "3.36.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",
"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 || (exit 0)",
"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.json --ignore-path test/.eslintignore 'test/**/*.js'",
"lint": "yarn lint:server && yarn lint:shared && yarn lint:frontend && yarn lint:test",
"posttest": "yarn lint",
"fixmodulenotdefined": "yarn cache clean && cd core/client && rm -rf node_modules tmp dist && yarn && cd ../../"
},
"engines": {
"node": "^10.13.0 || ^12.10.0 || ^14.15.0",
"cli": "^1.12.0"
},
"dependencies": {
"@nexes/nql": "0.5.0",
"@sentry/node": "5.27.2",
"@tryghost/adapter-manager": "0.1.11",
"@tryghost/admin-api-schema": "1.2.0",
"@tryghost/bootstrap-socket": "0.2.2",
"@tryghost/constants": "0.1.1",
"@tryghost/errors": "0.2.4",
"@tryghost/helpers": "1.1.33",
"@tryghost/image-transform": "1.0.3",
"@tryghost/job-manager": "0.1.1",
"@tryghost/kg-card-factory": "2.1.3",
"@tryghost/kg-default-atoms": "2.0.2",
"@tryghost/kg-default-cards": "3.0.0",
"@tryghost/kg-markdown-html-renderer": "2.0.3",
"@tryghost/kg-mobiledoc-html-renderer": "3.0.1",
"@tryghost/magic-link": "0.6.1",
"@tryghost/members-api": "0.34.1",
"@tryghost/members-csv": "0.3.2",
"@tryghost/members-ssr": "0.8.5",
"@tryghost/mw-session-from-token": "0.1.8",
"@tryghost/promise": "0.1.1",
"@tryghost/security": "0.2.0",
"@tryghost/session-service": "0.1.9",
"@tryghost/social-urls": "0.1.14",
"@tryghost/string": "0.1.13",
"@tryghost/url-utils": "0.6.22",
"@tryghost/vhost-middleware": "1.0.9",
"@tryghost/zip": "1.1.4",
"ajv": "6.12.6",
"amperize": "0.6.1",
"analytics-node": "3.4.0-beta.3",
"bluebird": "3.7.2",
"body-parser": "1.19.0",
"bookshelf": "0.15.2",
"bookshelf-relations": "1.3.2",
"brute-knex": "4.0.0",
"bson-objectid": "1.3.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.1",
"express-brute": "1.0.1",
"express-hbs": "2.3.4",
"express-jwt": "6.0.0",
"express-query-boolean": "2.0.0",
"express-session": "1.17.1",
"fs-extra": "9.0.1",
"ghost-ignition": "4.2.3",
"ghost-storage-base": "0.0.4",
"glob": "7.1.6",
"got": "9.6.0",
"gscan": "3.6.0",
"html-to-text": "5.1.1",
"image-size": "0.8.3",
"intl": "1.2.5",
"intl-messageformat": "5.4.3",
"js-yaml": "3.14.0",
"jsonpath": "1.0.2",
"jsonwebtoken": "8.5.1",
"juice": "7.0.0",
"keypair": "1.0.1",
"knex": "0.21.8",
"knex-migrator": "3.5.0",
"lodash": "4.17.20",
"mailgun-js": "0.22.0",
"metascraper": "5.11.9",
"metascraper-author": "5.11.9",
"metascraper-description": "5.11.9",
"metascraper-image": "5.11.9",
"metascraper-logo": "5.11.9",
"metascraper-logo-favicon": "5.11.9",
"metascraper-publisher": "5.11.9",
"metascraper-title": "5.11.9",
"metascraper-url": "5.11.9",
"moment": "2.24.0",
"moment-timezone": "0.5.23",
"multer": "1.4.2",
"mysql": "2.18.1",
"nconf": "0.10.0",
"netjet": "1.4.0",
"node-jose": "2.0.0",
"nodemailer": "0.7.1",
"oembed-parser": "1.3.7",
"path-match": "1.2.4",
"probe-image-size": "5.0.0",
"rss": "1.2.2",
"sanitize-html": "2.1.1",
"semver": "7.3.2",
"stoppable": "1.1.0",
"tough-cookie": "4.0.0",
"uuid": "8.3.1",
"validator": "6.3.0",
"xml": "1.0.1"
},
"optionalDependencies": {
"@tryghost/html-to-mobiledoc": "0.7.5",
"sqlite3": "4.2.0"
},
"devDependencies": {
"@lodder/grunt-postcss": "3.0.0",
"coffeescript": "2.5.1",
"cssnano": "4.1.10",
"eslint": "7.12.1",
"eslint-plugin-ghost": "2.0.0",
"grunt": "1.3.0",
"grunt-bg-shell": "2.3.3",
"grunt-contrib-clean": "2.0.0",
"grunt-contrib-compress": "1.6.0",
"grunt-contrib-copy": "1.0.0",
"grunt-contrib-symlink": "1.0.0",
"grunt-contrib-uglify": "5.0.0",
"grunt-contrib-watch": "1.1.0",
"grunt-express-server": "0.5.4",
"grunt-mocha-cli": "6.0.0",
"grunt-shell": "3.0.1",
"grunt-subgrunt": "1.3.0",
"grunt-update-submodules": "0.4.1",
"jwks-rsa": "1.11.0",
"mocha": "8.2.0",
"mock-knex": "0.4.9",
"nock": "13.0.4",
"papaparse": "5.3.0",
"proxyquire": "2.1.3",
"rewire": "5.0.0",
"should": "13.2.3",
"sinon": "9.2.1",
"supertest": "6.0.0",
"tmp": "0.0.33"
},
"resolutions": {
"moment": "2.24.0",
"moment-timezone": "0.5.23"
}
}