diff --git a/src/tooling/piral-cli/src/apps/build-pilet.ts b/src/tooling/piral-cli/src/apps/build-pilet.ts index 9ea2f54b1..4534db169 100644 --- a/src/tooling/piral-cli/src/apps/build-pilet.ts +++ b/src/tooling/piral-cli/src/apps/build-pilet.ts @@ -1,18 +1,15 @@ -import { dirname, basename, resolve, relative } from 'path'; +import { dirname, resolve } from 'path'; import { LogLevels, PiletBuildType, PiletSchemaVersion } from '../types'; -import { callPiletBuild, callPiralBuild } from '../bundler'; +import { callPiralBuild } from '../bundler'; import { removeDirectory, - retrievePiletData, setLogLevel, progress, logDone, logInfo, - createPiletDeclaration, ForceOverwrite, matchAnyPilet, fail, - config, log, writeJson, getPiletSpecMeta, @@ -22,10 +19,7 @@ import { cpuCount, concurrentWorkers, normalizePublicUrl, - combinePiletExternals, retrievePiletsInfo, - validateSharedDependencies, - defaultSchemaVersion, flattenExternals, triggerBuildPilet, } from '../common'; diff --git a/src/tooling/piral-cli/src/apps/declaration-pilet.ts b/src/tooling/piral-cli/src/apps/declaration-pilet.ts index faff4507e..5acc3ab18 100644 --- a/src/tooling/piral-cli/src/apps/declaration-pilet.ts +++ b/src/tooling/piral-cli/src/apps/declaration-pilet.ts @@ -52,6 +52,7 @@ export async function declarationPilet(baseDir = process.cwd(), options: Declara setLogLevel(logLevel); const allEntries = await matchAnyPilet(fullBase, entryList); + const results: Array = []; for (const item of allEntries) { const targetDir = dirname(item); @@ -59,18 +60,21 @@ export async function declarationPilet(baseDir = process.cwd(), options: Declara const piralInstances = apps.map((m) => m.appPackage.name); const externals = combinePiletExternals(piralInstances, peerDependencies, peerModules, importmap); const dest = resolve(root, target); - - await createPiletDeclaration( - piletPackage.name, - piralInstances, - root, - item, - externals, - dest, - forceOverwrite, - logLevel, + results.push( + await createPiletDeclaration( + piletPackage.name, + piralInstances, + root, + item, + externals, + dest, + forceOverwrite, + logLevel, + ), ); } - logDone(`Declaration created successfully in "${target}"!`); + if (results.every(Boolean)) { + logDone(`Declaration created successfully in "${target}"!`); + } } diff --git a/src/tooling/piral-cli/src/apps/declaration-piral.ts b/src/tooling/piral-cli/src/apps/declaration-piral.ts index c9f76d93b..cbf99a57c 100644 --- a/src/tooling/piral-cli/src/apps/declaration-piral.ts +++ b/src/tooling/piral-cli/src/apps/declaration-piral.ts @@ -40,6 +40,8 @@ export async function declarationPiral(baseDir = process.cwd(), options: Declara } = options; const fullBase = resolve(process.cwd(), baseDir); setLogLevel(logLevel); - await createPiralDeclaration(fullBase, entry, target, forceOverwrite, logLevel); - logDone(`Declaration created successfully in "${target}"!`); + + if (await createPiralDeclaration(fullBase, entry, target, forceOverwrite, logLevel)) { + logDone(`Declaration created successfully in "${target}"!`); + } } diff --git a/src/tooling/piral-cli/src/common/declaration.ts b/src/tooling/piral-cli/src/common/declaration.ts index 76772c26f..7d3916c7c 100644 --- a/src/tooling/piral-cli/src/common/declaration.ts +++ b/src/tooling/piral-cli/src/common/declaration.ts @@ -130,20 +130,14 @@ function createLogger(): Logger { async function createDeclarationFile( options: DeclOptions, - source: string, target: string, forceOverwrite: ForceOverwrite, ) { progress('Bundling declaration file ...'); + const result = await generateDeclaration(options); - try { - const result = await generateDeclaration(options); - - progress('Writing declaration file ...'); - await createFileIfNotExists(target, 'index.d.ts', result, forceOverwrite); - } catch (ex) { - log('declarationCouldNotBeGenerated_0076', source, ex); - } + progress('Writing declaration file ...'); + await createFileIfNotExists(target, 'index.d.ts', result, forceOverwrite); } export async function createPiletDeclaration( @@ -175,7 +169,15 @@ export async function createPiletDeclaration( logLevel, logger: createLogger(), }; - return await createDeclarationFile(options, root, target, forceOverwrite); + + try { + await createDeclarationFile(options, target, forceOverwrite); + return true; + } catch (ex) { + log('declarationCouldNotBeGenerated_0076', root, ex); + } + + return false; } } @@ -206,8 +208,15 @@ export async function createPiralDeclaration( validateSharedDependencies(externals); if (options.apis.length) { - return await createDeclarationFile(options, baseDir, target, forceOverwrite); + try { + await createDeclarationFile(options, target, forceOverwrite); + return true; + } catch (ex) { + log('declarationCouldNotBeGenerated_0076', baseDir, ex); + } + } else { + log('declarationCouldNotBeGenerated_0076', baseDir, 'The main Pilet API interface could not be found.'); } - log('declarationCouldNotBeGenerated_0076', baseDir, 'The main Pilet API interface could not be found.'); + return false; }