fix: issue with alternate message when importing from folder and git (#1216)

This commit is contained in:
Anirban Kar
2025-01-29 22:16:58 +05:30
committed by GitHub
parent 7016111906
commit f5fbf421e9
3 changed files with 31 additions and 8 deletions

View File

@@ -3,7 +3,8 @@ import { generateId } from './fileUtils';
export interface ProjectCommands {
type: string;
setupCommand: string;
setupCommand?: string;
startCommand?: string;
followupMessage: string;
}
@@ -33,7 +34,8 @@ export async function detectProjectCommands(files: FileContent[]): Promise<Proje
if (availableCommand) {
return {
type: 'Node.js',
setupCommand: `npm install && npm run ${availableCommand}`,
setupCommand: `npm install`,
startCommand: `npm run ${availableCommand}`,
followupMessage: `Found "${availableCommand}" script in package.json. Running "npm run ${availableCommand}" after installation.`,
};
}
@@ -53,7 +55,7 @@ export async function detectProjectCommands(files: FileContent[]): Promise<Proje
if (hasFile('index.html')) {
return {
type: 'Static',
setupCommand: 'npx --yes serve',
startCommand: 'npx --yes serve',
followupMessage: '',
};
}
@@ -62,17 +64,28 @@ export async function detectProjectCommands(files: FileContent[]): Promise<Proje
}
export function createCommandsMessage(commands: ProjectCommands): Message | null {
if (!commands.setupCommand) {
if (!commands.setupCommand && !commands.startCommand) {
return null;
}
let commandString = '';
if (commands.setupCommand) {
commandString += `
<boltAction type="shell">${commands.setupCommand}</boltAction>`;
}
if (commands.startCommand) {
commandString += `
<boltAction type="start">${commands.startCommand}</boltAction>
`;
}
return {
role: 'assistant',
content: `
<boltArtifact id="project-setup" title="Project Setup">
<boltAction type="shell">
${commands.setupCommand}
</boltAction>
${commandString}
</boltArtifact>${commands.followupMessage ? `\n\n${commands.followupMessage}` : ''}`,
id: generateId(),
createdAt: new Date(),