mirror of
https://github.com/withastro/astro.git
synced 2024-12-30 22:03:56 -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 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)) {
|
if (settings.injectedTypes.some((t) => t.filename === CONTENT_TYPES_FILE)) {
|
||||||
fs.promises.writeFile(
|
const filePath = fileURLToPath(new URL(CONTENT_TYPES_FILE, settings.dotAstroDir));
|
||||||
new URL(CONTENT_TYPES_FILE, settings.dotAstroDir),
|
await fs.promises.mkdir(path.dirname(filePath), { recursive: true });
|
||||||
typeTemplateContent,
|
await fs.promises.writeFile(filePath, typeTemplateContent, 'utf-8');
|
||||||
'utf-8',
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
settings.injectedTypes.push({
|
settings.injectedTypes.push({
|
||||||
filename: CONTENT_TYPES_FILE,
|
filename: CONTENT_TYPES_FILE,
|
||||||
|
|
|
@ -29,6 +29,7 @@ import type { Logger } from '../logger/core.js';
|
||||||
import { formatErrorMessage } from '../messages.js';
|
import { formatErrorMessage } from '../messages.js';
|
||||||
import { ensureProcessNodeEnv } from '../util.js';
|
import { ensureProcessNodeEnv } from '../util.js';
|
||||||
import { writeFiles } from './write-files.js';
|
import { writeFiles } from './write-files.js';
|
||||||
|
import { fileURLToPath } from 'node:url';
|
||||||
|
|
||||||
export type SyncOptions = {
|
export type SyncOptions = {
|
||||||
/**
|
/**
|
||||||
|
@ -122,7 +123,7 @@ export async function syncInternal({
|
||||||
});
|
});
|
||||||
await contentLayer.sync();
|
await contentLayer.sync();
|
||||||
settings.timer.end('Sync content layer');
|
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
|
// 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
|
// To work around it, we create a stub so the reference is created and content
|
||||||
// sync will override the empty file
|
// sync will override the empty file
|
||||||
|
|
Loading…
Reference in a new issue