Commit Graph

333 Commits

Author SHA1 Message Date
Renovate Bot
7e56dfc286 Update dependency moleculer to v0.14.7 2020-05-22 18:15:58 +00:00
Renovate Bot
597538c575 Update dependency @types/sinon to v9.0.4 2020-05-21 22:17:35 +00:00
Renovate Bot
af9f20a195 Update dependency typescript to v3.9.3 2020-05-20 01:15:35 +00:00
Renovate Bot
957c62d040 Update dependency @types/sinon to v9.0.3 2020-05-19 20:15:48 +00:00
Fabien O'Carroll
c352667fb8 Published new versions
- @tryghost/moleculer-service-from-class@0.2.1
2020-05-18 15:41:58 +02:00
Fabien O'Carroll
6023d90089 Improved handling of invalid actions
no-issue
2020-05-18 15:41:16 +02:00
Fabien O'Carroll
f6bc34dbb2 Published new versions
- @tryghost/adapter-manager@0.1.5
 - @tryghost/image-transform@0.2.3
 - @tryghost/moleculer-service-from-class@0.2.0
 - @tryghost/mw-session-from-token@0.1.3
 - @tryghost/session-service@0.1.3
2020-05-18 15:22:55 +02:00
Fabien O'Carroll
9f9a67c453 Updated type definition files
no-issue
2020-05-18 15:21:44 +02:00
Fabien O'Carroll
2d520ec32f Used versions for service deps and instance (#63)
no-issue

This is a major change and will require that we explicitly define the
versions of the services which we depend on. This will make sure that
updated services will always be sure of what actions their dependents
will have.
2020-05-18 15:16:41 +02:00
Renovate Bot
e369bb92d3 Update dependency sharp to v0.25.3 2020-05-18 01:14:51 +00:00
Renovate Bot
59e1cb6444 Update dependency @types/sinon to v9.0.1 2020-05-15 15:13:13 +00:00
Renovate Bot
892d96fd83 Update dependency typescript to v3.9.2 2020-05-12 23:15:03 +00:00
Hannah Wolfe
ed3f229136 Published new versions
- @tryghost/adapter-manager@0.1.4
 - @tryghost/errors@0.1.3
 - @tryghost/image-transform@0.2.2
 - @tryghost/moleculer-service-from-class@0.1.3
 - @tryghost/mw-session-from-token@0.1.2
 - @tryghost/pretty-cli@1.2.6
 - @tryghost/release-utils@0.6.2
 - @tryghost/session-service@0.1.2
 - @tryghost/vhost-middleware@1.0.4
 - @tryghost/zip@1.1.0
2020-05-08 16:23:52 +01:00
Hannah Wolfe
7964f6ec82 Added dotfile support and set it on by default
refs https://github.com/TryGhost/Ghost/issues/11794

- archiver has an undocumented dot option, that allows you to include dotfiles
- our existing tests had a dotfile, but we didn't check properly that everything exists
- Swapped to using folder-hash to compare if the original, and compressed-then-decompressed folders are identical
- Added an example of a dotfolder with nested dotfile
- Updated compress to use the dot option, make it optional but on by default
2020-05-08 16:21:20 +01:00
Renovate Bot
242db117a8 Update dependency ghost-ignition to v4.2.1 2020-05-04 01:15:54 +00:00
Hannah Wolfe
1199859571 Updated var declarations to const/let and no lists
- All var declarations are now const or let as per ES6
- All comma-separated lists / chained declarations are now one declaration per line
- This is for clarity/readability but also made running the var-to-const/let switch smoother
- ESLint rules updated to match

How this was done:

- npm install -g jscodeshift
- git clone https://github.com/cpojer/js-codemod.git
- git clone git@github.com:TryGhost/Ghost.git shallow-ghost
- cd shallow-ghost
- jscodeshift -t ../js-codemod/transforms/unchain-variables.js . -v=2
- jscodeshift -t ../js-codemod/transforms/no-vars.js . -v=2
- yarn
- yarn test
- yarn lint / fix various lint errors (almost all indent) by opening files and saving in vscode
- grunt test-regression
- sorted!
2020-04-29 16:51:13 +01:00
Hannah Wolfe
36675b6494 Updated var declarations to const/let and no lists
- All var declarations are now const or let as per ES6
- All comma-separated lists / chained declarations are now one declaration per line
- This is for clarity/readability but also made running the var-to-const/let switch smoother
- ESLint rules updated to match

How this was done:

- npm install -g jscodeshift
- git clone https://github.com/cpojer/js-codemod.git
- git clone git@github.com:TryGhost/Ghost.git shallow-ghost
- cd shallow-ghost
- jscodeshift -t ../js-codemod/transforms/unchain-variables.js . -v=2
- jscodeshift -t ../js-codemod/transforms/no-vars.js . -v=2
- yarn
- yarn test
- yarn lint / fix various lint errors (almost all indent) by opening files and saving in vscode
- grunt test-regression
- sorted!
2020-04-29 16:51:13 +01:00
Renovate Bot
3497384003 Update dependency mocha to v7.1.2 2020-04-27 01:16:32 +00:00
Renovate Bot
8e1838877c Update dependency sywac to v1.3.0 2020-04-22 15:15:29 +00:00
Renovate Bot
5cec68ca01 Update dependency emoji-regex to v9 2020-04-22 15:57:56 +01:00
Renovate Bot
ea7b6a493d Update dependency chalk to v4 2020-04-22 15:50:19 +01:00
Renovate Bot
23f85b9dbb Update dependency request to v2.88.2 2020-04-22 15:49:04 +01:00
Renovate Bot
f561bdd7fb Update dependency request-promise to v4.2.5 2020-04-22 14:45:06 +00:00
Renovate Bot
1e393e56ef Update dependency archiver to v4 2020-04-22 15:43:45 +01:00
Renovate Bot
f900bff55e Update dependency ghost-ignition to v4.1.0 2020-04-22 14:15:01 +00:00
Renovate Bot
ba5925768c Update dependency lodash to v4.17.15 2020-04-22 13:24:17 +00:00
Renovate Bot
fd59b63dbf Update dependency bluebird to v3.7.2 2020-04-22 12:14:58 +00:00
Daniel Lockyer
2ef0b76371 Pinned all dependencies
no issue
2020-04-22 12:21:42 +01:00
Renovate Bot
5be8b5714c Pin dependencies 2020-04-22 12:15:08 +01:00
Fabien O'Carroll
36a201697f Published new versions
- @tryghost/moleculer-service-from-class@0.1.2
2020-04-17 18:10:05 +02:00
Fabien O'Carroll
74bd32a572 Added debug logging to createServiceProxy
no-issue
2020-04-17 18:07:30 +02:00
Fabien O'Carroll
c8417f8ee8 Published new versions
- @tryghost/moleculer-service-from-class@0.1.1
2020-04-16 15:58:47 +02:00
Fabien O'Carroll
299be9cc2e Updated logs to use debug rather than info
no-issue

This reduces noise in moleculer logs
2020-04-16 15:57:55 +02:00
Fabien O'Carroll
2802e1eb03 Published new versions
- @tryghost/adapter-manager@0.1.3
 - @tryghost/errors@0.1.2
 - @tryghost/image-transform@0.2.1
 - @tryghost/moleculer-service-from-class@0.1.0
 - @tryghost/mw-session-from-token@0.1.1
 - @tryghost/pretty-cli@1.2.5
 - @tryghost/release-utils@0.6.1
 - @tryghost/session-service@0.1.1
 - @tryghost/vhost-middleware@1.0.3
 - @tryghost/zip@1.0.1
2020-04-16 15:15:35 +02:00
Fabien O'Carroll
e05a5b4164 Added @tryghost/moleculer-service-from-class
no-issue

This is a wrapper used by CREAM to create moleculer service config from
class definitions
2020-04-16 15:14:03 +02:00
Renovate Bot
bcec46d0cf Update dependency sinon to v9.0.2 2020-04-08 12:16:19 +00:00
Hannah Wolfe
4626407970 Published new versions
- @tryghost/zip@1.0.0
2020-04-08 12:55:01 +01:00
Hannah Wolfe
adfb3fe499 Consistent interface and response
- Creating a better, more long-term API here
- compress and extract are opposite, neat terms
- Use new Promise to get rid of callback argument when using archiver to compress a folder
- Add options argument, and make a couple of key details configurable
- Make the response intelligable
- Ensure both functions are consistent
- Updated tests to match
2020-04-08 12:48:20 +01:00
Hannah Wolfe
62c2fce6cc Switch to OG extract-zip w/ promise based interface
- switch back from @tryghost/extract-zip to extract-zip now that it has been fixed (and is much better maintained)
- switch the internal interface to be fully promise-based and test promise-based too
2020-04-08 12:48:20 +01:00
Daniel Lockyer
fec30521ad Published new versions
- @tryghost/adapter-manager@0.1.2
2020-04-07 15:42:49 +01:00
Fabien O'Carroll
f618bc5fcd Improved error messages for loading adapters
no-issue

Adds back functionality from
3988029472
2020-04-07 16:33:39 +02:00
Fabien O'Carroll
645ca9a547 Published new versions
- @tryghost/adapter-manager@0.1.1
2020-04-07 15:30:03 +02:00
Fabien O'Carroll
db96ccbfe5 Added check for Adapter prototype name
no-issue

This fixes issues when the adapter is using a different "instance" of
the base class, so we check the names are the same.
2020-04-07 15:29:15 +02:00
Daniel Lockyer
9ffee44ab7 Published new versions
- @tryghost/release-utils@0.6.0
2020-04-07 12:53:52 +01:00
Daniel Lockyer
62dbc9097b Added extraText to release
no issue
2020-04-07 12:50:54 +01:00
Fabien O'Carroll
583d357675 Published new versions
- @tryghost/adapter-manager@0.1.0
 - @tryghost/mw-session-from-token@0.1.0
2020-04-05 15:59:56 +02:00
Fabien O'Carroll
814c513b53 Added @tryghost/mw-session-from-token module (#32)
no-issue
2020-04-05 15:58:33 +02:00
Fabien O'Carroll
44db45b7c3 Added @tryghost/adapter-manager module (#38)
no-issue
2020-04-05 15:54:47 +02:00
Fabien O'Carroll
4990c05448 Published new versions
- @tryghost/session-service@0.1.0
2020-04-02 15:46:07 +02:00
Fabien O'Carroll
e95dffb1db Added @tryghost/session-service module (#35)
no-issue

This was refactored out of https://github.com/TryGhost/Ghost/pull/11701/
2020-04-02 15:26:05 +02:00
Daniel Lockyer
348185e3a4 Published new versions
- @tryghost/release-utils@0.5.0
2020-04-01 12:01:05 +01:00
Daniel Lockyer
ff4d8ef903 Switched to using token authentication for GitHub
no issue
2020-04-01 12:00:19 +01:00
Hannah Wolfe
7e20949956 Move tests from core to root (#11700)
- move all test files from core/test to test/
- updated all imports and other references
- all code inside of core/ is then application code
- tests are correctly at the root level
- consistent with other repos/projects

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2020-03-30 16:26:47 +01:00
Hannah Wolfe
b57ecbcc4a Move tests from core to root (#11700)
- move all test files from core/test to test/
- updated all imports and other references
- all code inside of core/ is then application code
- tests are correctly at the root level
- consistent with other repos/projects

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2020-03-30 16:26:47 +01:00
Hannah Wolfe
eb7e7a8f31 Published new versions
- @tryghost/image-transform@0.2.0
2020-03-25 20:54:28 +00:00
Hannah Wolfe
46d95ed306 Added tool for generating original filename
- this allows us to have a shared tool for generating _o filenames
2020-03-25 20:53:57 +00:00
Hannah Wolfe
6d6785ae99 Published new versions
- @tryghost/errors@0.1.1
 - @tryghost/image-transform@0.1.0
2020-03-25 14:57:48 +00:00
Hannah Wolfe
264ffeceef Cleaner, clearer more consistent API
- we have 2 methods, one to resize a buffer and one to resize a file path
- make these two things super clear!
2020-03-25 14:50:25 +00:00
Hannah Wolfe
54d3527b14 Added sharp as an optional dependency
- This is optional, we throw errors if it doesn't load
2020-03-25 14:49:02 +00:00
Hannah Wolfe
2d2e41ac76 Updated paths & tests to work in new pkg structure
- added export to index.js
- fixed all paths to match the new structure
- replaced should with testUtils
- changed name from manipulator to transform
2020-03-25 14:48:41 +00:00
Hannah Wolfe
80e320fd83 Cleanup repeated module mocking utils
- mock non existant module util was defined twice
- split it out properly from the rest of the utils, update all references
- this allows us to move this util out of the codebase along with other code, e.g. the image manipulation code
2020-03-25 14:48:41 +00:00
Hannah Wolfe
b8ab3414ff Update errors across lib/image and lib/request
- swap common.errors for @tryghost/errors
- doing this in batches across small parts of the codebase to reduce disruption
2020-03-25 14:48:41 +00:00
renovate[bot]
64129a5cfd Update Test & linting packages (major) (#10858)
no issue 

- Updated Test & linting packages
- Updated use of hasOwnProperty
- Using Object.prototype.hasOwnProperty instead (ref. eslint.org/docs/rules/no-prototype-builtins)
- Removed already defined built-in global variable Intl
- Applied `--fix` with lint command on `core/test` folder
- The rules were broken because some of them were made stricter for `eslint: recommended` ruleset (ref. https://eslint.org/docs/user-guide/migrating-to-6.0.0#eslint-recommended-changes)
- Removed redundant global variable declarations to pass linting
2020-03-25 14:48:41 +00:00
Katharina Irrgang
549cc7e47f Bumped sinon from 4.4.6 to 7.3.2 (#10400)
refs #9389

- https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md

Breaking changes for Ghost:

- no need to create a sandbox anymore, each file get's it's own sandbox
- just require sinon and use this sandbox
- you can still create separate sandboxes with .createSandbox
- reset single stubs: use .resetHistory instead of .reset

This is a global replace for any sandbox creation.

---

From https://sinonjs.org/releases/v7.2.3/sandbox/

> Default sandbox
> Since sinon@5.0.0, the sinon object is a default sandbox. Unless you have a very advanced setup or need a special configuration, you probably want to just use that one.
2020-03-25 14:48:41 +00:00
Hannah Wolfe
eb9b1ddc1f 🐛 Fixed responsive images for .icos
closes #10301

- we allow .ico files for icons, but we cannot resize these specialist files at present
2020-03-25 14:48:41 +00:00
Fabien O'Carroll
010d787046 🐛 Fixed responsive images for gifs & svgs (#10315)
closes #10301

* Redirected to original image for gifs & svgs

* Created canTransformFileExtension method

* Updated image middlewares to use canTransformFileExtension
2020-03-25 14:48:41 +00:00
Fabien O'Carroll
b4654b19d5 Cleaned up image manipulator (#10282)
no-issue

* Added InternalServerError to resizeImage

* Added a redirect to original image if sharp is missing

* Improved naming - safeMethod -> method

* Updated process method to follow same sharp check pattern

* Refactor safety wrapper into makeSafe function

* Moved generic manipulation error to makeSafe function

* Refactored unsafeProcess to use unsafeResizeImage

* Removed CRAZY catch
2020-03-25 14:48:41 +00:00
Fabien O'Carroll
4078dd7959 Supported dynamic image resizing for LocalFileStorage(#10184)
refs #10181 

* Added initial handleImageSizes middleware

* Implemented saveRaw method on local file storage

* Wired up handleImageSizes middleware

* Implemented delete for LocalFileStorage

* Removed delete method from theme Storage class

* Deleted sizes directory when theme is activated

* Ensured that smaller images are not enlarged

* Renamed sizes -> size

* Exited middleware as early as possible

* Called getStorage as late as possible

* Updated image sizes middleware to handle dimension paths

* Revert "Deleted sizes directory when theme is activated"

This reverts commit 9204dfcc73a6a79d597dbf23651817bcbfc59991.

* Revert "Removed delete method from theme Storage class"

This reverts commit b45fdb405a05faeaf4bd87e977c4ac64ff96b057.

* Revert "Implemented delete for LocalFileStorage"

This reverts commit a587cd6bae45b68a293b2d5cfd9b7705a29e7bfa.

* Fixed typo

Co-Authored-By: allouis <fabien@allou.is>

* Redirected to original image if no image_sizes config

* Refactored redirection because rule of three

* Updated comments

* Added rubbish tests

* Added @TODO comment for handleImageSizes tests

* Added safeResizeImage method to image manipulator

* Used image manipulator lib in image_size middleware
2020-03-25 14:48:41 +00:00
Nazar Gargol
29991c6718 🐛 Fixed image optimisation for input image being smaller than optimized one
closes #10144

- When the input image is well optimized and has smaller byte size than the processed one it's still being used
- Bumped sharp version to have access to `size` property
2020-03-25 14:48:41 +00:00
Nazar Gargol
eb203de714 Added ability to resize and compress images on upload (#9837)
refs #4453

* On by default

* Added config to disable resizing

* Added basic image optimization processing

* Added dep: sharp (optional dep)

* Added resize middleware

* Take care of rotation based on EXIF information

* Removed all meta data from optimised image

* Added handling if sharp could not get installed

* Do not read ext twice - optimisation

* Do not call sharp if config is disabled

* Do not remove the original image which was uploaded (store 2 images)

* Support of `req.files` for internal logic

* Disabled cache to enable file removal on Windows
2020-03-25 14:48:41 +00:00
Hannah Wolfe
de9e5cecd4 Prepared new image-transform package
- Ready to accept code and history from TryGhost/Ghost
- This will be what's known as image.manipulator in Ghost
2020-03-25 12:12:17 +00:00
Hannah Wolfe
52e5db44bf Added missing lodash dependency
- this is required by the errors module
- it still works because it's in other packages, but should be declared
2020-03-25 10:34:56 +00:00
Hannah Wolfe
c9921a35cd Published new versions
- @tryghost/errors@0.1.0
2020-03-25 10:24:53 +00:00
Hannah Wolfe
dc879d127c Updated paths & tests to work in new pkg structure
- added export to index.js
 - fixed all paths to match the new structure
 - replaced should with testUtils
2020-03-25 10:24:33 +00:00
Rishabh Garg
9827594670 🏗Added host config limits for member emails (#11439)
no issue

Introduces host limits config for allowing email limits with members.
2020-03-25 10:24:33 +00:00
Kevin Ansfield
9fe54bb34e Added logging of slow {{#get}} helper uses (#10779)
no issue

- `{{#get}}` can slow down requests a lot if not used carefully, typically by using `limit="all"` or similar which can force a lot of data to be fetched and processed
- adds a warning log if we detect any `{{#get}}` helper call which takes longer than a certain threshold (default 200ms)
- allow log level and threshold to be configured via config to allow for different environments behaviours and requirements

New config options:
```
{
    "logging": {
        "slowHelper": {
            "level": "warn",
            "threshold": 200
        }
    }
}
```

Example output for `{{#get "tags" limit="all" order="name asc"}}` with a lot of tags:

```
[2019-06-07 10:35:52] WARN {{#get}} helper took 453ms to complete

{{#get}} helper took 453ms to complete

Error ID:
    062daed0-8910-11e9-8185-3b615ad8677d

Error Code:
    SLOW_GET_HELPER

Details:
    api:          v2.tagsPublic.browse
    apiOptions:
      order: name asc
      limit: all
    returnedRows: 1698
```
2020-03-25 10:24:33 +00:00
Nazar Gargol
1fcf3d0996 Removed unused GhostErrors
refs #10438
2020-03-25 10:24:33 +00:00
Anonymous
e3ba60ca05 ES6 migration: server/lib/common (#9779)
refs #9589
2020-03-25 10:24:33 +00:00
kirrg001
27ae1b5163 Removed old jshint/jscs rules
refs bcf5a1bc34

- leftovers
2020-03-25 10:24:33 +00:00
Katharina Irrgang
b4f398ec6a Tidy up unit test files (#9340)
refs #9178

- first iteration of tidying up the unit tests
- this is useful in the current stage, because if i move files in the server folder, i need a clean folder/file structure to detect which tests needs to move
- this is a simple cleanup to reflect the current server folder structure
2020-03-25 10:24:33 +00:00
kirrg001
46d392bc84 Moved errors,logging,i18n and events to lib/common
refs #9178
2020-03-25 10:24:33 +00:00
Hannah Wolfe
4ff036b1c3 Prepared new errors package
- Ready to accept code and history from TryGhost/Ghost
2020-03-25 10:24:33 +00:00
Hannah Wolfe
1c57c8d34a Published new versions
- @tryghost/pretty-cli@1.2.4
 - @tryghost/release-utils@0.4.2
 - @tryghost/vhost-middleware@1.0.2
 - @tryghost/zip@0.1.0
2020-03-20 20:20:56 +00:00
Hannah Wolfe
3b6021a34e Swap extract-zip for @tryghost/extract-zip
- our version has some bug fixes
2020-03-20 20:03:40 +00:00
Hannah Wolfe
35ff6d1462 Expose extract, promisify + test cleanup
- Expose extract-zip as a utility
- Wrap extract and zipFolder in promisify
- Cleanup tests slightly
2020-03-20 19:59:15 +00:00
Hannah Wolfe
099a93d4a4 Updated paths & tests to work in new pkg structure
- added export to index.js
- fixed all paths to match the new structure
- replaced should with testUtils
- moved code from describe block into before
2020-03-20 17:02:36 +00:00
Hannah Wolfe
43d0629346 Merged zip-folder files & history from TryGhost/Ghost 2020-03-20 16:29:37 +00:00
Hannah Wolfe
9fdeb7d654 Prepared new zip package
- Ready to accept code and history from TryGhost/Ghost
2020-03-20 16:21:52 +00:00
Renovate Bot
eaba1def62 Update dependency mocha to v7.1.1 2020-03-18 10:16:25 +00:00
Renovate Bot
2924a12c4d Update Test & linting packages 2020-03-10 17:10:43 +00:00
Daniel Lockyer
698261e294 Fixed lint issues
no issue
2020-03-10 17:07:36 +00:00
Daniel Lockyer
f80b5289b6 Added lock emoji to order list
no issue
2020-03-09 20:03:18 +00:00
Renovate Bot
968cc7f671 Update dependency chalk to v3 2020-03-09 13:38:32 +00:00
Renovate Bot
5ce0ff64a9 Update dependency ghost-ignition to v4 2020-03-09 13:37:55 +00:00
Daniel Lockyer
8c2d85825e Published new versions
- @tryghost/release-utils@0.4.1
2020-02-11 10:03:31 +00:00
Daniel Lockyer
f88cebc12c Fixed wrong usage of helper function
no issue
2020-02-11 10:01:39 +00:00
Daniel Lockyer
5fef535658 Published new versions
- @tryghost/pretty-cli@1.2.3
 - @tryghost/release-utils@0.4.0
 - @tryghost/vhost-middleware@1.0.1
2020-02-10 13:58:45 +00:00
Daniel Lockyer
620047169b Set a message if there are no emoji-prepended commits
no issue
2020-02-10 13:55:00 +00:00
Daniel Lockyer
45bd9ec37f Sorted the release changelog by emoji
no issue
2020-02-10 13:54:51 +00:00
John O'Nolan
3bd4d736d8 2020 2020-01-07 19:06:08 +00:00
Zlatan Vasović
0cb9685520 2020
refs 5e10faee8b
2020-01-06 10:51:18 +01:00
Renovate Bot
9b01975a7f Update Test & linting packages 2019-10-28 03:31:27 +00:00
Renovate Bot
a1c1a9e407 Pin dependency supertest to 4.0.2 2019-10-28 00:33:40 +00:00
Kevin Ansfield
495de734ab Published new versions
- @tryghost/pretty-cli@1.2.2
 - @tryghost/release-utils@0.3.3
 - @tryghost/vhost-middleware@1.0.0
2019-10-24 15:11:50 +01:00
Kevin Ansfield
a0b74b289a Added express 'trust proxy' support
no issue

- extracted from https://github.com/expressjs/vhost/pull/21
- uses `req.hostname` if it's available. `req.hostname` is set to the `x-forwarded-host` value when `'trust proxy'` setting is enabled in express
2019-10-24 15:11:08 +01:00
Kevin Ansfield
3e6a713658 Forked expressjs/vhost to vhost-middleware
no issue

Direct copy of current master from https://github.com/expressjs/vhost/ with automatic eslint fixes to match our styleguide.

Forked because we need a reverse proxy fix and the original module appears abandoned.
2019-10-24 14:53:06 +01:00
Naz Gargol
e1ec5aa405 🔥 Removed V1 code/references in frontend resources/routing layer (#11087)
no issue

- Removed v1 'author' leftover in include statement for preview controller
- Removed v1 'author' leftover in include statement for preview controller
- Removed v1 'author' leftover in include statement in entry lookup routing helper
- Migrated related test to use v2 API controller
- Removed v0.1 routing confif
- Removed v0.1 url config
- Fixed tests that had to do with url's in resources after removing v0.1 resources from URL cache
- Removed v1 'author' leftover in include statement in static routing helper
- Modified the test to use v2 API
- Removed v1 specific condition with 'page' in context helper
- Fixed dynamic routing spec after theme switch to v2. All tested users have to have at least one published post to be shown as an author
- Fixed URL Service spec to use theme engine v2
2019-09-10 11:41:42 +02:00
Sumedh Nimkarde
3e7a15b9ee 🐛 Ignored node_modules dir when archiving (#10969)
fixes #10929
2019-08-06 16:17:41 +08:00
Aileen Nowak
a54b40b9f8 Updated docs api links to be version-less 2019-07-25 15:17:23 +08:00
Aileen Nowak
30fda4eccd Updated links to docs (#10941)
no issue
2019-07-22 18:17:50 +08:00
Rish
58084ac96e Updated to use slugify method from SDK for safe string
refs #10618

- Updated lib safe string security method
2019-05-07 15:33:07 +05:30
Renovate Bot
2045157cb6 Update Test & linting packages 2019-04-22 01:28:43 +00:00
Renovate Bot
58f3f93822 Update dependency mocha to v6.1.3 2019-04-15 01:28:32 +00:00
Renovate Bot
7c19484dd2 Update dependency mocha to v6.1.1 2019-04-08 01:29:25 +00:00
Hannah Wolfe
982e045ba4 Update README.md to mention ui.log
- added missing docs for ui.log
2019-04-05 12:41:24 +01:00
Nazar Gargol
8a36066e81 Published new versions
- @tryghost/pretty-cli@1.2.1
 - @tryghost/release-utils@0.3.2
2019-04-05 15:52:24 +08:00
Nazar Gargol
931be83e7d Fixed repository reference for pretty-cli 2019-04-05 15:50:03 +08:00
Renovate Bot
8871293364 Update dependency sinon to v7.3.1 2019-03-27 12:08:01 +00:00
Rish
074c15acc3 Published new versions
- @tryghost/release-utils@0.3.1
2019-03-18 00:59:53 +05:30
Rish
ec94fb9529 🐛 Fixed changelog getting set as empty
no issue

- Changelog was set as empty due to concat creating new arrays
2019-03-18 00:43:40 +05:30
Rish
51693d0b5e Published new versions
- @tryghost/release-utils@0.3.0
2019-03-17 17:53:49 +05:30
Rish
86132d0681 releases.create accepts changelogPath as single path or array
- changelogPath can be a single path as before, or an array of paths with optional content which will be pre-pended
- Removed non-generic casper option from releases.create options
2019-03-17 17:53:17 +05:30
Rish
fc28d5e13f Published new versions
- @tryghost/release-utils@0.2.1
2019-03-17 13:27:05 +05:30
Rish
d0bde8c9bc Added casper changelog option to release draft
no issue

- Added option to allow appending casper changelog to main release draft
- Uses capser changelog path and new version info to append casper changes
2019-03-17 13:16:07 +05:30
kirrg001
dba3b43708 Published new versions
- @tryghost/release-utils@0.2.0
2019-03-14 17:13:24 +01:00
kirrg001
5247eb95f5 releases.create accepts optional content array
no issue

e.g. content: ['line\n']
2019-03-14 17:12:08 +01:00
kirrg001
0b49f17250 Published new versions
- @tryghost/release-utils@0.1.1
2019-03-14 16:52:23 +01:00
kirrg001
d7c930d278 🐛 Fixed changelog entry with emoji not being detected
no issue
2019-03-14 16:51:47 +01:00
kirrg001
89c555e29f Published new versions
- @tryghost/release-utils@0.1.0
2019-03-14 16:39:58 +01:00
kirrg001
696b87b103 Added more emoji tests
no issue
2019-03-14 16:35:48 +01:00
Fabien O'Carroll
23fd4702a0 Fixed emoji tests to use correct input data 2019-03-13 17:01:29 +01:00
Fabien O'Carroll
df57b8c944 Refactored emoji filtering to only loop once
Small perf improvment, also easier to read now because we can use 0
index which is more obvious as to what we're doing
2019-03-13 17:01:29 +01:00
Fabien O'Carroll
c681b8e9be Refactored line parsing to use regex
Was having issues debugging the index issue, and regex cleans it up a little
2019-03-13 17:01:29 +01:00
Fabien O'Carroll
f8f96b49db Fixed check for emoji index
The emoji *must* be at index=2 as each line looks like:
    "* <commit message>"
We use index=2 to make test whether emoji is first character(s) in the
commit message
2019-03-13 17:01:29 +01:00
Fabien O'Carroll
5e9bf5cfb5 Added error handling to filestream
This would have probably rejected the promise anyway because uncaught
error, but it's better to be explicit
2019-03-13 17:01:29 +01:00
Fabien O'Carroll
d40a44b9a0 Fixed passing request completion handler
We were passing this as the second argument to pipe - ups!
2019-03-13 17:01:29 +01:00
kirrg001
791a1b54b5 [@tryghost/release-utils] Removed unused dependencies
no issue

- ...unused? 👻
2019-03-12 21:55:00 +01:00
Katharina Irrgang
3cb6042b10 Added initial implementation of @tryghost/release-utils (#7)
- Added the first version of release-utils
- Will release a v0.0.1

- Be able to create changelog.md based on previous version.
- Be able to merge & clean changelog.md.
- Be able to create a gist
- Be able to filter commits by emojis (user-facing changes)
- Be able to create a draft release
- Be able to upload a release zip to Github

The goal is to use our release-utils in multiple places (e.g. in Casper).

We will discuss if we want to replace some of our manual written utilities by existing npm packages. But to avoid breaking everything, we do it iteratively. Our release utils works and was designed based on our needs. We've tested some release utility in the past, they were all not really satisfying. TBC...
2019-03-12 21:53:32 +01:00
Hannah Wolfe
3f9137903e Published new versions
- @tryghost/pretty-cli@1.2.0
2019-03-12 13:39:12 +00:00
Hannah Wolfe
a929b6a0f9 Added full suite of log functions
- matches logging in ignition: https://github.com/TryGhost/Ignition/blob/master/lib/logging/PrettyStream.js#L11
- so that it's possible to add log lines to our CLI tools that have a consistent format
2019-03-10 15:08:53 +00:00
Hannah Wolfe
93dbcef099 🛠 Moved Pretty-CLI into Ghost-Utils repo
- this was originally created in the slimer repo, as that's where it was first used
- it's also used in migrate, should be used in gscan, and hopefully eventually, will also be part of Ghost-CLI
- therefore, it belongs somewhere more general
2019-03-10 14:00:05 +00:00
Hannah Wolfe
2eb39e6c2b Published new versions
- @tryghost/generator-slimer@1.3.0
 - @tryghost/pretty-cli@1.1.4
 - @tryghost/slimer-cli@0.2.3
 - @tryghost/slimer@0.5.0
2019-03-05 17:27:33 +00:00
renovate[bot]
d0b1331c51 Update dependency sinon to v7 (#9) 2019-03-05 17:25:41 +00:00
renovate[bot]
24898228b6 Update dependency mocha to v6 (#8) 2019-03-05 17:22:08 +00:00
renovate[bot]
d7861f390e Update dependency sinon to v6.3.5 (#5) 2019-03-05 16:54:19 +00:00
Hannah Wolfe
aa6971f82f Published new versions
- @tryghost/generator-slimer@1.2.0
 - @tryghost/pretty-cli@1.1.3
 - @tryghost/slimer-cli@0.2.2
 - @tryghost/slimer@0.4.0
2019-03-05 16:15:41 +00:00
Hannah Wolfe
e3132f4fe5 Initial commit 2019-01-21 22:07:40 +00:00
Hannah Wolfe
c0b5d28a78 Updated docs links to best equivalents (#10386)
* Updated docs links to best equivalents
   - Our documentation has been overhauled, this updates the all the old links sprinkled through Ghost
* Update integrity hash
2019-01-17 06:57:37 +00:00
John O'Nolan
50e83faccd 2019 2019-01-01 14:27:50 +00:00
John O'Nolan
5e10faee8b 2019 2019-01-01 14:07:15 +00:00
Hannah Wolfe
2315781eb7 Published new versions
- @tryghost/pretty-cli@1.1.2
 - @tryghost/slimer-cli@0.2.1
 - @tryghost/slimer@0.3.1
2018-11-29 16:06:15 +00:00
Hannah Wolfe
66f1ddcbe9 🎨 Update to use files array in package.json
- run `slimer fix package.json` to add a files array everywhere
- manually update slimer-cli to have a files array for bin
- manually update slimer to include commands or else this will break!!
- update pretty-cli to use our standard /lib/ pattern
- this means we only publish what we need to npm, and keeps things cleaner and safer
2018-11-29 16:04:13 +00:00
Katharina Irrgang
7fb0b96f3e Added Node v10 Support (#10058)
* Added Node v10 Support

no issue

Signed-off-by: kirrg001 <katharina.irrgang@googlemail.com>

* Bump amperize to version 0.3.8

no issue

* Bump mysql to version 2.16.0

no issue

- mysql 2.15.0 uses a deprecated notation for timers
- e.g. timers.unenroll()

* Bump sub dependencies

no issue

- e.g. knex-migrator used mysql 2.15.0

* Bump dependencies

no issue

* Replaced `new Buffer` with `Buffer.from`

no issue

- Buffer() is deprecated due to security and usability issues.
- https://nodejs.org/en/docs/guides/buffer-constructor-deprecation/
2018-10-30 15:45:51 +07:00
Hannah Wolfe
d715596b50 Published new versions
- @tryghost/generator-slimer@1.0.7
 - @tryghost/pretty-cli@1.1.1
 - @tryghost/slimer-cli@0.1.8
 - @tryghost/slimer@0.2.1
2018-10-04 20:14:39 +01:00
Hannah Wolfe
45763f9267 📖 Update all README.md files to use full commands
- We don't use aliases in docs, to be as clear as possible
2018-10-04 14:45:02 +01:00
Hannah Wolfe
8bbfaf578c Published new versions
- @tryghost/generator-slimer@1.0.6
 - @tryghost/pretty-cli@1.1.0
 - @tryghost/slimer-cli@0.1.7
 - @tryghost/slimer@0.2.0
2018-10-04 13:37:38 +01:00
Hannah Wolfe
dfe1610a47 🎨 Move Slimer UI into Pretty CLI
- We'll want these log utils in other cli tools
2018-10-04 13:30:59 +01:00
kirrg001
b7b4026fd5 Extended sequence utility
no issue

- support promise and none promise tasks
- helpful if you create an array of operations and not all of the operations/tasks are async
- `response instanceof Promise` does not work for all cases e.g. some usages return a transaction/bookshelf chain
2018-10-03 00:17:45 +02:00
Hannah Wolfe
e80f4e93f2 Published new versions
- @tryghost/generator-slimer@1.0.0
 - @tryghost/pretty-cli@1.0.2
 - @tryghost/slimer-cli@0.1.0
 - @tryghost/slimer@0.1.0
2018-10-01 12:01:30 +01:00
Hannah Wolfe
e7bc545b36 Add support for public vs private
- Projects can be public or private -> they are either oss or not.
  - With flags like this, there is no default. We either want to pass a flag or be prompted later if we forget
  - To achieve this: added a custom sywac type of Switch, that is able to handle this concept
 - We may want to change this to a proper boolean that defaults to true
  - That would be easier, and possibly more sensible for the public tool
2018-09-28 17:59:41 +01:00
Hannah Wolfe
8c1b5cd383 Published new versions
- generator-slimer@0.0.2
 - @tryghost/pretty-cli@1.0.1
 - @tryghost/slimer-cli@0.0.2
 - @tryghost/slimer@0.0.2
2018-09-21 14:15:45 +01:00
Hannah Wolfe
c52b095955 📖 Updated READMEs with more clarity
- Getting used to developing in the monorepo structure
- Add more instructions that are relevant, push people to the top level repo
- Make READMEs as consistent as possible
- PROFIT!
2018-09-21 13:45:33 +01:00
Hannah Wolfe
b305b8582c Published new versions
- @tryghost/pretty-cli@1.0.0
2018-09-21 13:21:25 +01:00
Hannah Wolfe
7f234269a5 Pretty CLI - provide a styled sywac instance
- Initial commit
- Added a mini module to style sywac (http://sywac.io)
- Makes really pretty, easy to read, CLI instances
2018-09-21 13:12:12 +01:00
kirrg001
1af0dbc717 Fixed tests
no issue

- replace test themes
  - otherwise they are all invalid with the new GScan version
- fix general tests because of Ghost 2.0 logic
2018-08-16 12:13:24 +02:00
kirrg001
a7a3c27a2e Updated docs links
refs #9742

- rebase against master updated some docs links again
- go over code base again and double check that all docs links are correct
- 2.0 will become the latest version on our readme pages
2018-08-16 12:13:24 +02:00
kirrg001
74d6e1681d Updated docs links
refs #9742

- Ghost 2.0 is coming
- all doc links in 1.0 must use concrete links e.g. docs.ghost.org/v1 or themes.ghost.org/v1.23.0/
- if we release Ghost 2.0, docs.ghost.org will show 2.0 docs
2018-07-20 23:49:16 +02:00
Katharina Irrgang
7d9e2a21ad Dynamic Routing: Added migration for routes.yaml file (#9692)
refs #9601

- the home.hbs behaviour for the index collection (`/`) is hardcoded in Ghost
- we would like to migrate all existing routes.yaml files
- we only replace the file if the contents of the routes.yaml file equals the old routes.yaml format (with home.hbs as template)
- updated README of settings folder
- if we don't remove the home.hbs template from the default routes.yaml file, home.hbs will be rendered for any page of the index collection
  - the backwards compatible behaviour was different
  - only render home.hbs for page 1
- remember: the default routes.yaml file reflects how Ghost was working without dynamic routing
2018-06-22 20:28:01 +02:00
kirrg001
83933be526 Removed old jshint/jscs rules
refs bcf5a1bc34

- leftovers
2018-06-02 21:48:23 +02:00
Ivan Akulov
e9d1d34739 Fixed missing Bluebird require in security/password.js (#9624)
no issue
2018-05-28 23:01:01 +02:00
kirrg001
f83ba3cbf1 🔥 Drop Node v4 Support
no issue

- support ends today
- see https://github.com/nodejs/Release
- removed `use strict`
2018-05-01 14:06:18 +02:00
kirrg001
c19a0c9942 🔥 Drop Node v4 Support
no issue

- support ends today
- see https://github.com/nodejs/Release
- removed `use strict`
2018-05-01 14:06:18 +02:00
kirrg001
a0ee411e6e Added unit tests for models.Invite.add
no issue

- replaced token creation by `lib.common.security`
- added unit tests for adding invites
- allow a different invite status for internal access
2018-04-25 11:56:45 +02:00
kirrg001
5d1a4418bd Added lib.security.password lib
no issue

- move password hashing and password comparison to lib/security/password
- added two unit test
- FYI: password hashing takes ~100ms
  - we could probably mock password hashing in certain cases when unit testing
2018-02-15 21:13:04 +01:00
juan-g
11e9904ff3 Theme translations and blog localisation (#8437)
refs #5345, refs #3801

- Blog localisation
  - default is `en` (English)
  - you can change the language code in the admin panel, see https://github.com/TryGhost/Ghost-Admin/pull/703
  - blog behaviour changes depending on the language e.g. date helper format
  - theme translation get's loaded if available depending on the language setting
  - falls back to english if not available

- Theme translation
  - complete automatic translation of Ghost's frontend for site visitors (themes, etc.), to quickly deploy a site in a non-English language
  - added {{t}} and {{lang}} helper
  - no backend or admin panel translations (!)
  - easily readable translation keys - very simple translation
  - server restart required when adding new language files or changing existing files in the theme
  - no language code validation for now (will be added soon)
  - a full theme translation requires to translate Ghost core templates (e.g. subscriber form)
  - when activating a different theme, theme translations are auto re-loaded
  - when switching language of blog, theme translations are auto re-loaded

- Bump gscan to version 1.3.0 to support more known helpers

**Documentation can be found at https://themes.ghost.org/v1.20.0/docs/i18n.**
2018-01-09 14:50:57 +01:00
John O'Nolan
eac6a2df3a 2018 2018-01-02 21:44:41 +00:00
kirrg001
4b168db2be Moved zip folder, read csv and package-json to lib/fs
refs #9178, refs 849e97640f

- i've reconsidered, these modules belong to lib
- prettify package-json module
2017-12-14 22:07:53 +01:00
kirrg001
7f77fe2dbb Moved utils constants to lib/constants
refs #9178
2017-12-14 14:13:40 +01:00
kirrg001
72911862e7 Moved unique identifier generation to lib/security
refs #9178
2017-12-14 13:52:20 +01:00
kirrg001
411ce69006 Moved tokens, url safe and safe string utility to lib/security
refs #9178

- we could now also move any crypto usages to lib/security, but no priority
- the main goal is to tidy up our utils folder
2017-12-14 13:38:00 +01:00
kirrg001
137016ab94 Moved pipeline/sequence to lib/promise
refs #9178

- continue with killing our global utils folder
- i haven't found any better naming for lib/promise
- so, require single files for now
- instead of doing `promiseLib = require('../lib/promise')`
- we can optimise the requires later
2017-12-13 22:20:02 +01:00
Katharina Irrgang
1c5e9d9ed3 Tests: Sort out usage of content folder in tests (#9034)
no issue

- use latest casper in test fixtures
- never ever use the root content folder for tests
- if we start/fork Ghost for the tests, we use a tmp folder
- this change is required to for an upcoming PR (#9029)
- i've added a TODO to create a helper fn for stopping the ghost server, so we can cleanup the tmp folder

* Care about TODO's in our channels spec

- add the 1.4 compatible casper theme to fixtures
- so as soon as you start Ghost, the test env will provide the content folder in /tmp something with the activated latest default casper and the 1.4 compatible old casper
- there are tests which tests different logici e.g. pagination
- therefor we need a different theme, we are simply using our 1.4 casper
2017-09-21 15:05:35 +01:00
Katharina Irrgang
4afb9a691c feature: define redirects in a custom file (#7719) (#7945)
refs #7707

- be able to add a custom redirect file into the content folder
- define redirects as JSON format

The redirects feature is already present in the LTS branch.
I was not able to cherry-pick over, too many changes or conflicts.
Creating a PR to ensure 1. tests pass and 2. overview of code changes.
I had to add an example active theme to our test fixture utils, because otherwise Ghost will complain when forking Ghost.
2017-02-06 15:32:40 +01:00