From 7c9ed71bf1e13a0c825ba67946b6307d06f77233 Mon Sep 17 00:00:00 2001 From: Erika <3019731+Princesseuh@users.noreply.github.com> Date: Thu, 18 Jul 2024 11:45:25 +0200 Subject: [PATCH] feat: noSync flag for astro check (#11482) --- .changeset/grumpy-dolphins-jump.md | 5 +++++ packages/astro/src/cli/check/index.ts | 18 ++++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) create mode 100644 .changeset/grumpy-dolphins-jump.md diff --git a/.changeset/grumpy-dolphins-jump.md b/.changeset/grumpy-dolphins-jump.md new file mode 100644 index 000000000000..3a900ef8effd --- /dev/null +++ b/.changeset/grumpy-dolphins-jump.md @@ -0,0 +1,5 @@ +--- +'astro': minor +--- + +Adds a `--noSync` parameter to the `astro check` command to skip the type-gen step. This can be useful when running `astro check` inside packages that have Astro components, but are not Astro projects diff --git a/packages/astro/src/cli/check/index.ts b/packages/astro/src/cli/check/index.ts index ff7835fdca08..00bc3d11a285 100644 --- a/packages/astro/src/cli/check/index.ts +++ b/packages/astro/src/cli/check/index.ts @@ -24,14 +24,16 @@ export async function check(flags: Arguments) { return; } - // Run sync before check to make sure types are generated. - // NOTE: In the future, `@astrojs/check` can expose a `before lint` hook so that this works during `astro check --watch` too. - // For now, we run this once as usually `astro check --watch` is ran alongside `astro dev` which also calls `astro sync`. - const { default: sync } = await import('../../core/sync/index.js'); - try { - await sync({ inlineConfig: flagsToAstroInlineConfig(flags) }); - } catch (_) { - return process.exit(1); + if (!flags.noSync && !flags.help) { + // Run sync before check to make sure types are generated. + // NOTE: In the future, `@astrojs/check` can expose a `before lint` hook so that this works during `astro check --watch` too. + // For now, we run this once as usually `astro check --watch` is ran alongside `astro dev` which also calls `astro sync`. + const { default: sync } = await import('../../core/sync/index.js'); + try { + await sync({ inlineConfig: flagsToAstroInlineConfig(flags) }); + } catch (_) { + return process.exit(1); + } } const { check: checker, parseArgsAsCheckConfig } = checkPackage;