Ghost/package.json

159 lines
4.1 KiB
JSON
Raw Normal View History

{
2015-05-06 02:54:23 +03:00
"name": "ghost",
2018-05-15 14:11:48 +03:00
"version": "1.22.8",
"description": "The professional publishing platform",
2015-05-06 02:54:23 +03:00
"author": "Ghost Foundation",
"homepage": "http://ghost.org",
"keywords": [
"ghost",
"blog",
"cms"
],
"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",
2015-05-06 02:54:23 +03:00
"main": "./core/index",
"scripts": {
"start": "node index",
"dev": "DEBUG=ghost:* grunt dev",
"test": "grunt validate --verbose",
"setup": "yarn install && knex-migrator init && grunt symlink && grunt init || true",
"lint": "grunt lint"
2015-05-06 02:54:23 +03:00
},
"engines": {
"node": "^6.9.0 || ^8.9.0",
"cli": "^1.7.0"
2015-05-06 02:54:23 +03:00
},
"dependencies": {
"amperize": "0.3.7",
"analytics-node": "2.4.1",
"archiver": "1.3.0",
"bcryptjs": "2.4.3",
"bluebird": "3.5.1",
"body-parser": "1.18.2",
🐛 Fixed `updated_at` not being updated (#9532) closes #9520 - it contains a dependency bump of the latest Bookshelf release - Bookshelf introduced a bug in the last release - see https://github.com/bookshelf/bookshelf/pull/1583 - see https://github.com/bookshelf/bookshelf/pull/1798 - this has caused trouble in Ghost - the `updated_at` attribute was not automatically set anymore --- The bookshelf added one breaking change: it's allow to pass custom `updated_at` and `created_at`. We already have a protection for not being able to override the `created_at` date on update. We had to add another protection to now allow to only change the `updated_at` property. You can only change `updated_at` if you actually change something else e.g. the title of a post. To be able to implement this check i discovered that Bookshelfs `model.changed` object has a tricky behaviour. It remembers **all** attributes, which where changed, doesn't matter if they are valid or invalid model properties. We had to add a line of code to avoid remembering none valid model attributes in this object. e.g. you change `tag.parent` (no valid model attribute). The valid property is `tag.parent_id`. If you pass `tag.parent` but the value has **not** changed (`tag.parent` === `tag.parent_id`), it will output you `tag.changed.parent`. But this is wrong. Bookshelf detects `changed` attributes too early. Or if you think the other way around, Ghost detects valid attributes too late. But the current earliest possible stage is the `onSaving` event, there is no earlier way to pick valid attributes (except of `.forge`, but we don't use this fn ATM). Later: the API should transform `tag.parent` into `tag.parent_id`, but we are not using it ATM, so no need to pre-optimise. The API already transforms `post.author` into `post.author_id`.
2018-03-26 16:12:02 +03:00
"bookshelf": "0.13.3",
"bookshelf-relations": "0.2.1",
"brute-knex": "3.0.0",
"bson-objectid": "1.2.3",
2016-04-21 12:19:55 +03:00
"chalk": "1.1.3",
"cheerio": "0.22.0",
"compression": "1.7.2",
"connect-slashes": "1.3.1",
"cookie-session": "1.3.2",
"cors": "2.8.4",
"csv-parser": "1.12.1",
2015-05-06 02:54:23 +03:00
"downsize": "0.0.8",
"express": "4.16.3",
"express-brute": "1.0.1",
"express-hbs": "1.0.4",
"extract-zip": "1.6.6",
"fs-extra": "3.0.1",
"ghost-gql": "0.0.10",
"ghost-ignition": "2.9.2",
"ghost-storage-base": "0.0.3",
2015-10-14 12:29:08 +03:00
"glob": "5.0.15",
"got": "7.1.0",
"gscan": "1.4.2",
"html-to-text": "3.3.0",
"image-size": "0.6.2",
"intl": "1.2.5",
"intl-messageformat": "1.3.0",
YAML settings loader and parser closes #9528 These code changes introduce a YAML parser which will load and parse YAML files from the `/content/settings` directory. There are three major parts involved: 1. `ensure-settings.js`: this fn takes care that on bootstrap, the supported files are present in the `/content/settings` directory. If the files are not present, they get copied back from our default files. The default files to copy from are located in `core/server/services/settings`. 2. `loader.js`: the settings loader reads the requested `yaml` file from the disk and passes it to the yaml parser, which returns a `json` object of the file. The settings loader throws an error, if the file is not accessible, e. g. because of permission errors. 3. `yaml-parser`: gets passed a `yaml` file and returns a `json` object. If the file is not parseable, it returns a clear error that contains the information, what and where the parsing error occurred (e. g. line number and reason). - added a `get()` fn to settings services, that returns the settings object that's asked for. e. g. `settings.get('routes').then(()...` will return the `routes` settings. - added a `getAll()` fn to settings services, that returns all available settings in an object. The object looks like: `{routes: {routes: {}, collections: {}, resources: {}}, globals: {value: {}}`, assuming that we have to supported settings `routes` and `globals`. Further additions: - config `contentPath` for `settings` - config overrides for default `yaml` files location in `/core/server/services/settings` **Important**: These code changes are in preparation for Dynamic Routing and not yet used. The process of copying the supported `yaml` files (in this first step, the `routes.yaml` file) is not yet activated.
2018-04-13 04:34:03 +03:00
"js-yaml": "3.11.0",
"jsonpath": "1.0.0",
"knex": "0.14.6",
"knex-migrator": "3.1.6",
"lodash": "4.17.10",
"markdown-it": "8.4.1",
"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.22.1",
"moment-timezone": "0.5.16",
"multer": "1.3.0",
"mysql": "2.15.0",
"nconf": "0.10.0",
"netjet": "1.3.0",
2015-05-06 02:54:23 +03:00
"nodemailer": "0.7.1",
"oauth2orize": "1.11.0",
"passport": "0.4.0",
2015-05-06 02:54:23 +03:00
"passport-http-bearer": "1.0.1",
"passport-oauth2-client-password": "0.1.2",
2016-04-21 12:44:58 +03:00
"path-match": "1.2.4",
"rss": "1.2.2",
"sanitize-html": "1.18.2",
"semver": "5.5.0",
"simple-dom": "0.3.2",
"simple-html-tokenizer": "0.5.1",
"superagent": "3.8.3",
2015-12-08 14:01:49 +03:00
"unidecode": "0.1.8",
"uuid": "3.2.1",
"validator": "6.3.0",
2016-02-09 00:30:57 +03:00
"xml": "1.0.1"
2015-05-06 02:54:23 +03:00
},
"optionalDependencies": {
"sqlite3": "4.0.0"
2015-05-06 02:54:23 +03:00
},
"devDependencies": {
"eslint": "4.19.1",
"grunt": "1.0.2",
"grunt-bg-shell": "2.3.3",
"grunt-cli": "1.2.0",
"grunt-contrib-clean": "1.1.0",
"grunt-contrib-compress": "1.4.3",
"grunt-contrib-copy": "1.0.0",
"grunt-contrib-symlink": "^1.0.0",
"grunt-contrib-uglify": "3.3.0",
"grunt-contrib-watch": "1.0.1",
"grunt-cssnano": "2.1.0",
"grunt-docker": "0.0.11",
"grunt-eslint": "20.1.0",
"grunt-express-server": "0.5.4",
"grunt-mocha-cli": "3.0.0",
"grunt-mocha-istanbul": "5.0.2",
"grunt-shell": "2.1.0",
"grunt-subgrunt": "1.3.0",
"grunt-update-submodules": "0.4.1",
"istanbul": "0.4.5",
"matchdep": "2.0.0",
"minimist": "1.2.0",
"mocha": "4.1.0",
"mock-knex": "0.4.0",
"nock": "9.2.5",
"rewire": "3.0.2",
"should": "13.2.1",
"should-http": "0.1.1",
"sinon": "4.4.6",
"supertest": "3.0.0",
"tmp": "0.0.33"
},
"greenkeeper": {
"ignore": [
"glob",
"nodemailer",
"grunt",
"grunt-bg-shell",
"grunt-cli",
"grunt-contrib-clean",
"grunt-contrib-compress",
"grunt-contrib-copy",
"grunt-contrib-jshint",
"grunt-contrib-uglify",
"grunt-contrib-watch",
"grunt-docker",
"grunt-express-server",
"grunt-jscs",
"grunt-mocha-cli",
"grunt-mocha-istanbul",
"grunt-shell",
"grunt-subgrunt",
"grunt-update-submodules",
"sinon"
]
2015-05-06 02:54:23 +03:00
}
}