diff options
Diffstat (limited to 'packages/integrations/markdoc/src')
-rw-r--r-- | packages/integrations/markdoc/src/content-entry-type.ts | 26 | ||||
-rw-r--r-- | packages/integrations/markdoc/src/runtime-assets-config.ts (renamed from packages/integrations/markdoc/src/experimental-assets-config.ts) | 5 | ||||
-rw-r--r-- | packages/integrations/markdoc/src/runtime.ts | 3 |
3 files changed, 13 insertions, 21 deletions
diff --git a/packages/integrations/markdoc/src/content-entry-type.ts b/packages/integrations/markdoc/src/content-entry-type.ts index 0998f69a0..f682e114f 100644 --- a/packages/integrations/markdoc/src/content-entry-type.ts +++ b/packages/integrations/markdoc/src/content-entry-type.ts @@ -1,6 +1,7 @@ import type { Config as MarkdocConfig, Node } from '@markdoc/markdoc'; import Markdoc from '@markdoc/markdoc'; import type { AstroConfig, ContentEntryType } from 'astro'; +import { emitESMImage } from 'astro/assets/utils'; import matter from 'gray-matter'; import fs from 'node:fs'; import path from 'node:path'; @@ -8,13 +9,12 @@ import { fileURLToPath } from 'node:url'; import type * as rollup from 'rollup'; import type { ErrorPayload as ViteErrorPayload } from 'vite'; import type { ComponentConfig } from './config.js'; -import { MarkdocError, isComponentConfig, isValidUrl, prependForwardSlash } from './utils.js'; -import { emitESMImage } from 'astro/assets/utils'; import { htmlTokenTransform } from './html/transform/html-token-transform.js'; import type { MarkdocConfigResult } from './load-config.js'; import type { MarkdocIntegrationOptions } from './options.js'; import { setupConfig } from './runtime.js'; import { getMarkdocTokenizer } from './tokenizer.js'; +import { MarkdocError, isComponentConfig, isValidUrl, prependForwardSlash } from './utils.js'; export async function getContentEntryType({ markdocConfigResult, @@ -96,13 +96,11 @@ export async function getContentEntryType({ }); } - if (astroConfig.experimental.assets) { - await emitOptimizedImages(ast.children, { - astroConfig, - pluginContext, - filePath, - }); - } + await emitOptimizedImages(ast.children, { + astroConfig, + pluginContext, + filePath, + }); const res = `import { Renderer } from '@astrojs/markdoc/components'; import { createGetHeadings, createContentComponent } from '@astrojs/markdoc/runtime'; @@ -110,12 +108,10 @@ ${ markdocConfigUrl ? `import markdocConfig from ${JSON.stringify(markdocConfigUrl.pathname)};` : 'const markdocConfig = {};' -}${ - astroConfig.experimental.assets - ? `\nimport { experimentalAssetsConfig } from '@astrojs/markdoc/experimental-assets-config'; -markdocConfig.nodes = { ...experimentalAssetsConfig.nodes, ...markdocConfig.nodes };` - : '' - } +} + +import { assetsConfig } from '@astrojs/markdoc/runtime-assets-config'; +markdocConfig.nodes = { ...assetsConfig.nodes, ...markdocConfig.nodes }; ${getStringifiedImports(componentConfigByTagMap, 'Tag', astroConfig.root)} ${getStringifiedImports(componentConfigByNodeMap, 'Node', astroConfig.root)} diff --git a/packages/integrations/markdoc/src/experimental-assets-config.ts b/packages/integrations/markdoc/src/runtime-assets-config.ts index 2eb96ec99..d93605f6c 100644 --- a/packages/integrations/markdoc/src/experimental-assets-config.ts +++ b/packages/integrations/markdoc/src/runtime-assets-config.ts @@ -3,10 +3,7 @@ import Markdoc from '@markdoc/markdoc'; //@ts-expect-error Cannot find module 'astro:assets' or its corresponding type declarations. import { Image } from 'astro:assets'; -// Separate module to only import `astro:assets` when -// `experimental.assets` flag is set in a project. -// TODO: merge with `./runtime.ts` when `experimental.assets` is baselined. -export const experimentalAssetsConfig: MarkdocConfig = { +export const assetsConfig: MarkdocConfig = { nodes: { image: { attributes: { diff --git a/packages/integrations/markdoc/src/runtime.ts b/packages/integrations/markdoc/src/runtime.ts index 60057f53a..6a645e5d8 100644 --- a/packages/integrations/markdoc/src/runtime.ts +++ b/packages/integrations/markdoc/src/runtime.ts @@ -7,11 +7,10 @@ import Markdoc, { } from '@markdoc/markdoc'; import type { AstroInstance } from 'astro'; import { createComponent, renderComponent } from 'astro/runtime/server/index.js'; -import type { AstroMarkdocConfig } from './config.js'; +import { type AstroMarkdocConfig } from './config.js'; import { setupHeadingConfig } from './heading-ids.js'; import { htmlTag } from './html/tagdefs/html.tag.js'; import type { MarkdocIntegrationOptions } from './options.js'; - /** * Merge user config with default config and set up context (ex. heading ID slugger) * Called on each file's individual transform. |