summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.changeset/cold-spoons-battle.md5
-rw-r--r--packages/astro/src/cli/check/index.ts4
-rw-r--r--packages/astro/src/cli/index.ts4
-rw-r--r--packages/astro/src/core/build/index.ts2
-rw-r--r--packages/astro/src/core/sync/index.ts (renamed from packages/astro/src/cli/sync/index.ts)25
-rw-r--r--packages/astro/test/test-utils.js2
6 files changed, 31 insertions, 11 deletions
diff --git a/.changeset/cold-spoons-battle.md b/.changeset/cold-spoons-battle.md
new file mode 100644
index 000000000..1245d2a26
--- /dev/null
+++ b/.changeset/cold-spoons-battle.md
@@ -0,0 +1,5 @@
+---
+'astro': patch
+---
+
+Fix: run integration setup hooks during `astro sync`
diff --git a/packages/astro/src/cli/check/index.ts b/packages/astro/src/cli/check/index.ts
index 037525a5b..069ce343c 100644
--- a/packages/astro/src/cli/check/index.ts
+++ b/packages/astro/src/cli/check/index.ts
@@ -21,8 +21,8 @@ interface Result {
export async function check(settings: AstroSettings, { logging }: { logging: LogOptions }) {
console.log(bold('astro check'));
- const { sync } = await import('../sync/index.js');
- const syncRet = await sync(settings, { logging, fs });
+ const { syncCli } = await import('../../core/sync/index.js');
+ const syncRet = await syncCli(settings, { logging, fs });
// early exit on sync failure
if (syncRet === 1) return syncRet;
diff --git a/packages/astro/src/cli/index.ts b/packages/astro/src/cli/index.ts
index 27c2a323c..0cec490bd 100644
--- a/packages/astro/src/cli/index.ts
+++ b/packages/astro/src/cli/index.ts
@@ -212,9 +212,9 @@ async function runCommand(cmd: string, flags: yargs.Arguments) {
}
case 'sync': {
- const { sync } = await import('./sync/index.js');
+ const { syncCli } = await import('../core/sync/index.js');
- const ret = await sync(settings, { logging, fs });
+ const ret = await syncCli(settings, { logging, fs });
return process.exit(ret);
}
diff --git a/packages/astro/src/core/build/index.ts b/packages/astro/src/core/build/index.ts
index a2baa4609..638d78d10 100644
--- a/packages/astro/src/core/build/index.ts
+++ b/packages/astro/src/core/build/index.ts
@@ -81,7 +81,7 @@ class AstroBuilder {
);
await runHookConfigDone({ settings: this.settings, logging });
- const { sync } = await import('../../cli/sync/index.js');
+ const { sync } = await import('../sync/index.js');
const syncRet = await sync(this.settings, { logging, fs });
if (syncRet !== 0) {
return process.exit(syncRet);
diff --git a/packages/astro/src/cli/sync/index.ts b/packages/astro/src/core/sync/index.ts
index f321b8b0b..f849ff6cf 100644
--- a/packages/astro/src/cli/sync/index.ts
+++ b/packages/astro/src/core/sync/index.ts
@@ -5,16 +5,31 @@ import { createServer } from 'vite';
import type { AstroSettings } from '../../@types/astro';
import { createContentTypesGenerator } from '../../content/index.js';
import { globalContentConfigObserver } from '../../content/utils.js';
-import { getTimeStat } from '../../core/build/util.js';
-import { createVite } from '../../core/create-vite.js';
-import { AstroError, AstroErrorData } from '../../core/errors/index.js';
-import { info, LogOptions } from '../../core/logger/core.js';
+import { getTimeStat } from '../build/util.js';
+import { createVite } from '../create-vite.js';
+import { runHookConfigSetup } from '../../integrations/index.js';
+import { AstroError, AstroErrorData } from '../errors/index.js';
+import { info, LogOptions } from '../logger/core.js';
import { setUpEnvTs } from '../../vite-plugin-inject-env-ts/index.js';
+type ProcessExit = 0 | 1;
+
+export async function syncCli(
+ settings: AstroSettings,
+ { logging, fs }: { logging: LogOptions; fs: typeof fsMod }
+): Promise<ProcessExit> {
+ const resolvedSettings = await runHookConfigSetup({
+ settings,
+ logging,
+ command: 'build',
+ });
+ return sync(resolvedSettings, { logging, fs });
+}
+
export async function sync(
settings: AstroSettings,
{ logging, fs }: { logging: LogOptions; fs: typeof fsMod }
-): Promise<0 | 1> {
+): Promise<ProcessExit> {
const timerStart = performance.now();
// Needed to load content config
const tempViteServer = await createServer(
diff --git a/packages/astro/test/test-utils.js b/packages/astro/test/test-utils.js
index 856c0b09f..bb06f90e4 100644
--- a/packages/astro/test/test-utils.js
+++ b/packages/astro/test/test-utils.js
@@ -5,7 +5,7 @@ import fs from 'fs';
import os from 'os';
import stripAnsi from 'strip-ansi';
import { fileURLToPath } from 'url';
-import { sync } from '../dist/cli/sync/index.js';
+import { sync } from '../dist/core/sync/index.js';
import build from '../dist/core/build/index.js';
import { openConfig } from '../dist/core/config/config.js';
import { createSettings } from '../dist/core/config/index.js';