summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.changeset/warm-days-wash.md5
-rw-r--r--packages/astro/src/core/add/index.ts3
2 files changed, 7 insertions, 1 deletions
diff --git a/.changeset/warm-days-wash.md b/.changeset/warm-days-wash.md
new file mode 100644
index 000000000..1786fa814
--- /dev/null
+++ b/.changeset/warm-days-wash.md
@@ -0,0 +1,5 @@
+---
+'astro': patch
+---
+
+Fix: astro add generating "astro.config.mjs" outside project root
diff --git a/packages/astro/src/core/add/index.ts b/packages/astro/src/core/add/index.ts
index 5de4cf2c2..5dd6b5caa 100644
--- a/packages/astro/src/core/add/index.ts
+++ b/packages/astro/src/core/add/index.ts
@@ -19,6 +19,7 @@ import { parseNpmName } from '../util.js';
import { wrapDefaultExport } from './wrapper.js';
import { ensureImport } from './imports.js';
import { t, parse, visit, generate } from './babel.js';
+import { appendForwardSlash } from '../path.js';
export interface AddOptions {
logging: LogOptions;
@@ -91,7 +92,7 @@ export default async function add(names: string[], { cwd, flags, logging }: AddO
debug('add', `Found config at ${configURL}`);
} else {
info(logging, 'add', `Unable to locate a config file, generating one for you.`);
- configURL = new URL('./astro.config.mjs', root);
+ configURL = new URL('./astro.config.mjs', appendForwardSlash(root.href));
await fs.writeFile(fileURLToPath(configURL), CONSTS.CONFIG_STUB, { encoding: 'utf-8' });
}