diff options
author | 2022-02-04 15:49:50 -0300 | |
---|---|---|
committer | 2022-02-04 13:49:50 -0500 | |
commit | cfeaa9414acdecec6f5d66ee0e33fe4fde574eee (patch) | |
tree | 2c27727d025905958c76614693184f83db106033 /packages/markdown/remark/src/load-plugins.ts | |
parent | 8f9b1cbc8bf76455efa96ab591d6293aa8a43964 (diff) | |
download | astro-cfeaa9414acdecec6f5d66ee0e33fe4fde574eee.tar.gz astro-cfeaa9414acdecec6f5d66ee0e33fe4fde574eee.tar.zst astro-cfeaa9414acdecec6f5d66ee0e33fe4fde574eee.zip |
fix: import local plugins into markdown (#2534)
* Replaced "UnifiedPluginImport" for a function
* Updated tests
* Updated docs
* Updated examples
* Added changeset
* Fixed tests
* Removed unused "UnifiedPluginImport"
* Duplicated add-classes.mjs
Diffstat (limited to 'packages/markdown/remark/src/load-plugins.ts')
-rw-r--r-- | packages/markdown/remark/src/load-plugins.ts | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/packages/markdown/remark/src/load-plugins.ts b/packages/markdown/remark/src/load-plugins.ts index b1e72ae36..139eeaf19 100644 --- a/packages/markdown/remark/src/load-plugins.ts +++ b/packages/markdown/remark/src/load-plugins.ts @@ -1,26 +1,27 @@ import * as unified from 'unified'; -import type { Plugin, UnifiedPluginImport } from './types'; +import type { Plugin } from './types'; -async function importPlugin(p: string | UnifiedPluginImport): UnifiedPluginImport { +async function importPlugin(p: string | unified.Plugin): Promise<unified.Plugin> { if (typeof p === 'string') { - return await import(p); + const importResult = await import(p); + return importResult.default; } - return await p; + return p; } -export function loadPlugins(items: Plugin[]): Promise<[unified.Plugin] | [unified.Plugin, any]>[] { +export function loadPlugins(items: Plugin[]): Promise<[unified.Plugin, any?]>[] { return items.map((p) => { return new Promise((resolve, reject) => { if (Array.isArray(p)) { const [plugin, opts] = p; return importPlugin(plugin) - .then((m) => resolve([m.default, opts])) + .then((m) => resolve([m, opts])) .catch((e) => reject(e)); } return importPlugin(p) - .then((m) => resolve([m.default])) + .then((m) => resolve([m])) .catch((e) => reject(e)); }); }); |