mirror of
https://github.com/withastro/astro.git
synced 2024-12-16 21:46:22 -05:00
fix: content types sync in dev (#11727)
Co-authored-by: Princesseuh <3019731+Princesseuh@users.noreply.github.com>
This commit is contained in:
parent
6c1560fb0d
commit
3c2f93b66c
3 changed files with 10 additions and 6 deletions
5
.changeset/ten-buckets-matter.md
Normal file
5
.changeset/ten-buckets-matter.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
'astro': patch
|
||||
---
|
||||
|
||||
Fixes a type issue when using the Content Layer in dev
|
|
@ -590,11 +590,9 @@ async function writeContentFiles({
|
|||
|
||||
// If it's the first time, we inject types the usual way. sync() will handle creating files and references. If it's not the first time, we just override the dts content
|
||||
if (settings.injectedTypes.some((t) => t.filename === CONTENT_TYPES_FILE)) {
|
||||
fs.promises.writeFile(
|
||||
new URL(CONTENT_TYPES_FILE, settings.dotAstroDir),
|
||||
typeTemplateContent,
|
||||
'utf-8',
|
||||
);
|
||||
const filePath = fileURLToPath(new URL(CONTENT_TYPES_FILE, settings.dotAstroDir));
|
||||
await fs.promises.mkdir(path.dirname(filePath), { recursive: true });
|
||||
await fs.promises.writeFile(filePath, typeTemplateContent, 'utf-8');
|
||||
} else {
|
||||
settings.injectedTypes.push({
|
||||
filename: CONTENT_TYPES_FILE,
|
||||
|
|
|
@ -29,6 +29,7 @@ import type { Logger } from '../logger/core.js';
|
|||
import { formatErrorMessage } from '../messages.js';
|
||||
import { ensureProcessNodeEnv } from '../util.js';
|
||||
import { writeFiles } from './write-files.js';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
export type SyncOptions = {
|
||||
/**
|
||||
|
@ -122,7 +123,7 @@ export async function syncInternal({
|
|||
});
|
||||
await contentLayer.sync();
|
||||
settings.timer.end('Sync content layer');
|
||||
} else if (fs.existsSync(getContentPaths(settings.config, fs).contentDir.href)) {
|
||||
} else if (fs.existsSync(fileURLToPath(getContentPaths(settings.config, fs).contentDir))) {
|
||||
// Content is synced after writeFiles. That means references are not created
|
||||
// To work around it, we create a stub so the reference is created and content
|
||||
// sync will override the empty file
|
||||
|
|
Loading…
Reference in a new issue