diff --git a/.changeset/tender-ravens-collect.md b/.changeset/tender-ravens-collect.md new file mode 100644 index 0000000000..73599e8cfc --- /dev/null +++ b/.changeset/tender-ravens-collect.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Fix for type declaration input being required for build even if types aren't being built. diff --git a/packages/cli/src/lib/builder/config.ts b/packages/cli/src/lib/builder/config.ts index a236e87806..f8305ad6e0 100644 --- a/packages/cli/src/lib/builder/config.ts +++ b/packages/cli/src/lib/builder/config.ts @@ -36,22 +36,6 @@ import { svgrTemplate } from '../svgrTemplate'; export const makeConfigs = async ( options: BuildOptions, ): Promise => { - const typesInput = paths.resolveTargetRoot( - 'dist-types', - relativePath(paths.targetRoot, paths.targetDir), - 'src/index.d.ts', - ); - - const declarationsExist = await fs.pathExists(typesInput); - if (!declarationsExist) { - const path = relativePath(paths.targetDir, typesInput); - throw new Error( - `No declaration files found at ${path}, be sure to run ${chalk.bgRed.white( - 'yarn tsc', - )} to generate .d.ts files before packaging`, - ); - } - const configs = new Array(); if (options.outputs.has(Output.cjs) || options.outputs.has(Output.esm)) { @@ -112,6 +96,22 @@ export const makeConfigs = async ( } if (options.outputs.has(Output.types)) { + const typesInput = paths.resolveTargetRoot( + 'dist-types', + relativePath(paths.targetRoot, paths.targetDir), + 'src/index.d.ts', + ); + + const declarationsExist = await fs.pathExists(typesInput); + if (!declarationsExist) { + const path = relativePath(paths.targetDir, typesInput); + throw new Error( + `No declaration files found at ${path}, be sure to run ${chalk.bgRed.white( + 'yarn tsc', + )} to generate .d.ts files before packaging`, + ); + } + configs.push({ input: typesInput, output: {