Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.
28 changes: 22 additions & 6 deletions Composer/packages/server/src/models/storage/localDiskStorage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -162,22 +162,38 @@ export class LocalDiskStorage implements IFileStorage {

async zip(source: string, exclusions, cb): Promise<void> {
const defaultDirectories = [
'/Controllers/',
'/dialogs/',
'/language-understanding/',
'/language-generation/',
'/settings/',
'/generated/',
'/form-dialogs/',
'/knowledge-base/',
'/language-generation/',
'/language-understanding/',
'/media/',
'/Properties/',
'/recognizers/',
'/form-dialogs/',
'/schemas/',
'/scripts/',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

on my mac it's Scripts, are these case-sensitive? (asking since you have Controllers)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The glob pattern we used is case-insensitive. I noticed some of the template bots is Scripts and some is scripts. maybe need align them in bot templates side;

'/settings/',
'/wwwroot/',
'/generated/',
];

const directoriesToInclude = defaultDirectories.filter((elem) => {
return exclusions?.directories == undefined || exclusions?.directories?.indexOf(elem) == -1;
});

const defaultFiles = [`*${FileExtensions.BotProject}`, `*${FileExtensions.Dialog}`, 'README.md', '.gitignore'];
const defaultFiles = [
`*${FileExtensions.BotProject}`,
`*${FileExtensions.Dialog}`,
`*.csproj`,
`*.cs`,
`*.js`,
`*.json`,
`Nuget.config`,
'web.config',
'README.md',
'.gitignore',
];

const filesToInclude = defaultFiles.filter((elem) => {
return exclusions?.files == undefined || exclusions?.files?.indexOf(elem) == -1;
Expand Down