Skip to content

Commit

Permalink
remove legacy api support from content plugin driver
Browse files Browse the repository at this point in the history
  • Loading branch information
claytercek committed Oct 17, 2024
1 parent 056bd80 commit 123befe
Showing 1 changed file with 1 addition and 76 deletions.
77 changes: 1 addition & 76 deletions packages/content/lib/content-plugin-driver.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
import { HookContextProvider } from '@bluecadet/launchpad-utils/lib/plugin-driver.js';
import { DataFile } from './content-sources/content-result.js';
import mdToHtml from './plugins/transforms/md-to-html.js';
import sanityToHtml from './plugins/transforms/sanity-to-html.js';
import sanityToMd from './plugins/transforms/sanity-to-markdown.js';
import sanityToPlain from './plugins/transforms/sanity-to-plain.js';

/**
* @typedef ContentHookContext
Expand Down Expand Up @@ -39,18 +34,10 @@ export class ContentPluginDriver extends HookContextProvider {
* @param {import('@bluecadet/launchpad-utils/lib/plugin-driver.js').default<ContentHooks>} wrappee
* @param {object} options
* @param {import('./utils/data-store.js').default} options.dataStore
* @param {import('./content-options.js').ResolvedContentOptions} options.config
* @param {import('@bluecadet/launchpad-utils/lib/log-manager.js').Logger} options.logger
*/
constructor(wrappee, { dataStore, config, logger }) {
constructor(wrappee, { dataStore }) {
super(wrappee);
this.#dataStore = dataStore;

const legacyPlugins = createPluginsFromConfig(config, logger);

if (legacyPlugins.length > 0) {
this.add(legacyPlugins);
}
}

/**
Expand All @@ -62,65 +49,3 @@ export class ContentPluginDriver extends HookContextProvider {
};
}
}

/**
* Backwards compatibility adapter for legacy configs.
* @param {import('./content-options.js').ResolvedContentOptions} options
* @param {import('@bluecadet/launchpad-utils/lib/log-manager.js').Logger} logger
* @returns {import('@bluecadet/launchpad-utils/lib/plugin-driver.js').Plugin<ContentHooks>[]}
*/
function createPluginsFromConfig(options, logger) {
const transforms = options.contentTransforms;

/**
* @type {import('@bluecadet/launchpad-utils/lib/plugin-driver.js').Plugin<ContentHooks>[]}
*/
const plugins = [];

if (Object.entries(transforms).length > 0) {
logger.warn('The `contentTransforms` option is deprecated. Please use content plugins instead.');
}

Object.entries(transforms).forEach(([key, transform]) => {
const transformArray = Array.isArray(transform) ? transform : [transform];

for (const transform of transformArray) {
switch (transform) {
case 'markdownToHtml':
case 'mdToHtml':
plugins.push(mdToHtml({
path: key,
simplified: false
}));
break;
case 'markdownToHtmlSimplified':
case 'mdToHtmlSimplified':
plugins.push(mdToHtml({
path: key,
simplified: true
}));
break;
case 'sanityToPlain':
plugins.push(sanityToPlain({
path: key
}));
break;
case 'sanityToMd':
case 'sanityToMarkdown':
plugins.push(sanityToMd({
path: key
}));
break;
case 'sanityToHtml':
plugins.push(sanityToHtml({
path: key
}));
break;
default:
throw new Error(`Unknown content transform type: ${transform}`);
}
}
});

return plugins;
}

0 comments on commit 123befe

Please sign in to comment.