Ghost/ghost/settings-path-manager
Naz a2a2a7c7be Added settings-path-manager module
refs https://linear.app/tryghost/issue/CORE-35/refactor-route-and-redirect-settings

- The module is a tiny path resolver for settings used in Ghost. A first obvious place it's used is for routes.yaml settings files. With a little bit of tweaking it should also be adopted by redirects services
2021-09-30 19:22:09 +02:00
..
lib Added settings-path-manager module 2021-09-30 19:22:09 +02:00
test Added settings-path-manager module 2021-09-30 19:22:09 +02:00
.eslintrc.js Added settings-path-manager module 2021-09-30 19:22:09 +02:00
index.js Added settings-path-manager module 2021-09-30 19:22:09 +02:00
LICENSE Added settings-path-manager module 2021-09-30 19:22:09 +02:00
package.json Added settings-path-manager module 2021-09-30 19:22:09 +02:00
README.md Added settings-path-manager module 2021-09-30 19:22:09 +02:00

Settings Path Manager

A library which helps locating configuration paths in Ghost. For example configs for dynamic routes or redirects.

Install

npm install @tryghost/settings-path-manager --save

or

yarn add @tryghost/settings-path-manager

Usage

Example use in to create routes.yaml configuration files:

const config = require('../shared/config'); // or whatever place the storage folders are configured at

const settingsPathManager = new SettingsPathManager({
    type: 'routes',
    paths: [config.getContentPath('settings')]
});

const filePath = settingsPathManager.getDefaultFilePath();

console.log(config.getContentPath('settings')); // -> '/content/data/'
console.log(filePath); // -> '/content/data/routes.yaml'

Develop

This is a mono repository, managed with lerna.

Follow the instructions for the top-level repo.

  1. git clone this repo & cd into it as usual
  2. Run yarn to install top-level dependencies.

Run

  • yarn dev

Test

  • yarn lint run just eslint
  • yarn test run lint and tests

Copyright & License

Copyright (c) 2013-2021 Ghost Foundation - Released under the MIT license.