astro-intlayer
Version:
Easily internationalize i18n your Nuxt applications with type-safe multilingual content management.
1 lines • 2.41 kB
Source Map (JSON)
{"version":3,"file":"index.cjs","names":[],"sources":["../../src/index.ts"],"sourcesContent":["import { resolve } from 'node:path';\nimport { prepareIntlayer, watch } from '@intlayer/chokidar';\nimport { getAlias, getConfiguration } from '@intlayer/config';\nimport type { AstroIntegration } from 'astro';\nimport {\n intlayerPrune,\n intlayerMiddleware as viteIntlayerMiddlewarePlugin,\n intlayer as viteIntlayerPlugin,\n} from 'vite-intlayer';\n\n/**\n * Astro integration for Intlayer\n * - Adds Vite plugins: intlayer (aliases, watchers), middleware, prune (when optimize enabled)\n * - Prepares dictionaries at build start\n * - Starts watcher in dev\n */\nexport const intlayer = (): AstroIntegration =>\n ({\n name: 'astro-intlayer',\n hooks: {\n 'astro:config:setup': async ({ updateConfig }) => {\n const configuration = getConfiguration();\n const { optimize } = configuration.build;\n\n // Prepare once per process start to ensure generated entries exist\n await prepareIntlayer(configuration);\n\n updateConfig({\n vite: {\n plugins: [\n // Aliases + watcher + buildStart prep\n viteIntlayerPlugin(),\n // Dev-time middleware for locale routing\n viteIntlayerMiddlewarePlugin(),\n // Tree-shake/prune content when enabled\n ...(optimize ? [intlayerPrune(configuration) as any] : []),\n ],\n resolve: {\n alias: {\n ...getAlias({\n configuration,\n formatter: (value: string) => resolve(value),\n }),\n },\n },\n },\n });\n },\n\n 'astro:server:setup': async () => {\n const configuration = getConfiguration();\n if (configuration.content.watch) {\n watch({ configuration });\n }\n },\n },\n }) satisfies AstroIntegration;\n"],"mappings":";;;;;;;;;;;;;;;;;AAgBA,MAAa,kBACV;CACC,MAAM;CACN,OAAO;EACL,sBAAsB,OAAO,EAAE,mBAAmB;GAChD,MAAM,yDAAkC;GACxC,MAAM,EAAE,aAAa,cAAc;AAGnC,kDAAsB,cAAc;AAEpC,gBAAa,EACX,MAAM;IACJ,SAAS;kCAEa;4CAEU;KAE9B,GAAI,WAAW,kCAAe,cAAc,CAAQ,GAAG,EAAE;KAC1D;IACD,SAAS,EACP,OAAO,EACL,mCAAY;KACV;KACA,YAAY,iCAA0B,MAAM;KAC7C,CAAC,EACH,EACF;IACF,EACF,CAAC;;EAGJ,sBAAsB,YAAY;GAChC,MAAM,yDAAkC;AACxC,OAAI,cAAc,QAAQ,MACxB,gCAAM,EAAE,eAAe,CAAC;;EAG7B;CACF"}