From ee53bbbe23a5ee0cf5ee3eb70a58beaf26a7e2dd Mon Sep 17 00:00:00 2001 From: Daniel Lockyer Date: Mon, 31 Mar 2025 13:36:12 +0200 Subject: [PATCH] Moved @tryghost/adapter-manager to core folder fix https://linear.app/ghost/issue/ENG-2116/adapter-manager - this commit moves the lib code and tests to the core folder so we can colocate code in one place rather than splitting it out across packages, which increases the cognitive load and overhead --- .docker/Dockerfile | 1 - compose.yml | 2 -- ghost/adapter-manager/.eslintrc.js | 6 ---- ghost/adapter-manager/README.md | 26 ----------------- ghost/adapter-manager/index.js | 1 - ghost/adapter-manager/package.json | 29 ------------------- ghost/adapter-manager/test/.eslintrc.js | 6 ---- .../adapter-manager}/AdapterManager.js | 0 .../server/services/adapter-manager/index.js | 2 +- ghost/core/package.json | 1 - .../adapter-manager}/AdapterManager.test.js | 2 +- 11 files changed, 2 insertions(+), 74 deletions(-) delete mode 100644 ghost/adapter-manager/.eslintrc.js delete mode 100644 ghost/adapter-manager/README.md delete mode 100644 ghost/adapter-manager/index.js delete mode 100644 ghost/adapter-manager/package.json delete mode 100644 ghost/adapter-manager/test/.eslintrc.js rename ghost/{adapter-manager/lib => core/core/server/services/adapter-manager}/AdapterManager.js (100%) rename ghost/{adapter-manager/test => core/test/unit/server/services/adapter-manager}/AdapterManager.test.js (98%) diff --git a/.docker/Dockerfile b/.docker/Dockerfile index b68ca227eb..2638553832 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -66,7 +66,6 @@ COPY apps/shade/package.json apps/shade/package.json COPY apps/signup-form/package.json apps/signup-form/package.json COPY apps/sodo-search/package.json apps/sodo-search/package.json COPY ghost/adapter-cache-redis/package.json ghost/adapter-cache-redis/package.json -COPY ghost/adapter-manager/package.json ghost/adapter-manager/package.json COPY ghost/admin/lib/asset-delivery/package.json ghost/admin/lib/asset-delivery/package.json COPY ghost/admin/lib/ember-power-calendar-moment/package.json ghost/admin/lib/ember-power-calendar-moment/package.json COPY ghost/admin/lib/ember-power-calendar-utils/package.json ghost/admin/lib/ember-power-calendar-utils/package.json diff --git a/compose.yml b/compose.yml index b0d27244c6..92ac51d560 100644 --- a/compose.yml +++ b/compose.yml @@ -33,7 +33,6 @@ services: ## Prevent collisions between host and container node_modules - node_modules_ghost_root:/home/ghost/node_modules:delegated - node_modules_ghost_adapter-cache-redis:/home/ghost/ghost/adapter-cache-redis/node_modules:delegated - - node_modules_ghost_adapter-manager:/home/ghost/ghost/adapter-manager/node_modules:delegated - node_modules_ghost_admin:/home/ghost/ghost/admin/node_modules:delegated - node_modules_ghost_api-framework:/home/ghost/ghost/api-framework/node_modules:delegated - node_modules_ghost_constants:/home/ghost/ghost/constants/node_modules:delegated @@ -173,7 +172,6 @@ volumes: redis-data: {} node_modules_ghost_root: {} node_modules_ghost_adapter-cache-redis: {} - node_modules_ghost_adapter-manager: {} node_modules_ghost_admin: {} node_modules_ghost_api-framework: {} node_modules_ghost_constants: {} diff --git a/ghost/adapter-manager/.eslintrc.js b/ghost/adapter-manager/.eslintrc.js deleted file mode 100644 index c9c1bcb522..0000000000 --- a/ghost/adapter-manager/.eslintrc.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - plugins: ['ghost'], - extends: [ - 'plugin:ghost/node' - ] -}; diff --git a/ghost/adapter-manager/README.md b/ghost/adapter-manager/README.md deleted file mode 100644 index aae08a3ca2..0000000000 --- a/ghost/adapter-manager/README.md +++ /dev/null @@ -1,26 +0,0 @@ -# Adapter Manager - -A manager for retrieving custom "adapters" - can be used to abstract away from custom implementations - -## Usage - -```js -const AdapterManager = require('@tryghost/adapter-manager'); - -const adapterManager = new AdapterManager({ - pathsToAdapters: [ - '/path/to/custom/adapters', - '/path/to/default/adapters' - ] -}); - -class MailAdapterBase { - someMethod() {} -} - -adapterManager.register('mail', MailAdapterBase); - -const mailAdapterInstance = adapterManager.getAdapter('mail', 'direct', mailConfig); - -mailAdapterInstance.someMethod(); -``` diff --git a/ghost/adapter-manager/index.js b/ghost/adapter-manager/index.js deleted file mode 100644 index 0ab3d648c4..0000000000 --- a/ghost/adapter-manager/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lib/AdapterManager'); diff --git a/ghost/adapter-manager/package.json b/ghost/adapter-manager/package.json deleted file mode 100644 index 5103561d51..0000000000 --- a/ghost/adapter-manager/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "@tryghost/adapter-manager", - "private": true, - "version": "0.0.0", - "author": "Ghost Foundation", - "license": "MIT", - "main": "index.js", - "scripts": { - "dev": "echo \"Implement me!\"", - "test:unit": "NODE_ENV=testing c8 --all --reporter text --reporter cobertura -- mocha --reporter dot './test/**/*.test.js'", - "test": "yarn test:unit", - "lint:code": "eslint *.js lib/ --ext .js --cache", - "lint": "yarn lint:code && yarn lint:test", - "lint:test": "eslint -c test/.eslintrc.js test/ --ext .js --cache" - }, - "files": [ - "index.js", - "lib" - ], - "devDependencies": { - "c8": "8.0.1", - "mocha": "10.8.2", - "should": "13.2.3", - "sinon": "15.2.0" - }, - "dependencies": { - "@tryghost/errors": "1.3.5" - } -} diff --git a/ghost/adapter-manager/test/.eslintrc.js b/ghost/adapter-manager/test/.eslintrc.js deleted file mode 100644 index 829b601eb0..0000000000 --- a/ghost/adapter-manager/test/.eslintrc.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - plugins: ['ghost'], - extends: [ - 'plugin:ghost/test' - ] -}; diff --git a/ghost/adapter-manager/lib/AdapterManager.js b/ghost/core/core/server/services/adapter-manager/AdapterManager.js similarity index 100% rename from ghost/adapter-manager/lib/AdapterManager.js rename to ghost/core/core/server/services/adapter-manager/AdapterManager.js diff --git a/ghost/core/core/server/services/adapter-manager/index.js b/ghost/core/core/server/services/adapter-manager/index.js index ac535381f4..940ac96b42 100644 --- a/ghost/core/core/server/services/adapter-manager/index.js +++ b/ghost/core/core/server/services/adapter-manager/index.js @@ -1,4 +1,4 @@ -const AdapterManager = require('@tryghost/adapter-manager'); +const AdapterManager = require('./AdapterManager'); const getAdapterServiceConfig = require('./config'); const resolveAdapterOptions = require('./options-resolver'); const config = require('../../../shared/config'); diff --git a/ghost/core/package.json b/ghost/core/package.json index 072c19a0b7..330afe2259 100644 --- a/ghost/core/package.json +++ b/ghost/core/package.json @@ -65,7 +65,6 @@ "@slack/webhook": "7.0.5", "@tryghost/adapter-base-cache": "0.1.12", "@tryghost/adapter-cache-redis": "0.0.0", - "@tryghost/adapter-manager": "0.0.0", "@tryghost/admin-api-schema": "4.5.5", "@tryghost/api-framework": "0.0.0", "@tryghost/bookshelf-plugins": "0.6.25", diff --git a/ghost/adapter-manager/test/AdapterManager.test.js b/ghost/core/test/unit/server/services/adapter-manager/AdapterManager.test.js similarity index 98% rename from ghost/adapter-manager/test/AdapterManager.test.js rename to ghost/core/test/unit/server/services/adapter-manager/AdapterManager.test.js index 13affd203f..9899739228 100644 --- a/ghost/adapter-manager/test/AdapterManager.test.js +++ b/ghost/core/test/unit/server/services/adapter-manager/AdapterManager.test.js @@ -1,6 +1,6 @@ const sinon = require('sinon'); const should = require('should'); -const AdapterManager = require('../'); +const AdapterManager = require('../../../../../core/server/services/adapter-manager/AdapterManager'); class BaseMailAdapter { constructor() {