refactor: Update ServiceFileTypesUtil to include common directories and files to ignore

This commit is contained in:
Simon Larsen 2024-06-13 13:32:16 +01:00
parent a406287215
commit 17c47f7d89
No known key found for this signature in database
GPG Key ID: 96C5DCA24769DBCA
8 changed files with 228 additions and 204 deletions

View File

@ -5,36 +5,28 @@ import CodeRepositoryFile from './CodeRepositoryFile';
import Dictionary from 'Common/Types/Dictionary';
export default class CodeRepositoryUtil {
public static async createOrCheckoutBranch(data: {
repoPath: string;
branchName: string;
}): Promise<void> {
const command: string = `cd ${data.repoPath} && git checkout ${data.branchName} || git checkout -b ${data.branchName}`;
logger.debug("Executing command: " + command);
logger.debug('Executing command: ' + command);
const stdout = await Execute.executeCommand(
command
);
const stdout: string = await Execute.executeCommand(command);
logger.debug(stdout);
}
// discard all changes in the working directory
public static async discardChanges(data: {
repoPath: string;
}): Promise<void> {
const command: string = `cd ${data.repoPath} && git checkout .`;
logger.debug("Executing command: " + command);
logger.debug('Executing command: ' + command);
const stdout = await Execute.executeCommand(
command
);
const stdout: string = await Execute.executeCommand(command);
logger.debug(stdout);
}
@ -44,16 +36,15 @@ export default class CodeRepositoryUtil {
repoPath: string;
content: string;
}): Promise<void> {
const totalPath: string = LocalFile.sanitizeFilePath(`${data.repoPath}/${data.filePath}`);
const totalPath: string = LocalFile.sanitizeFilePath(
`${data.repoPath}/${data.filePath}`
);
const command: string = `echo "${data.content}" > ${totalPath}`;
logger.debug("Executing command: " + command);
logger.debug('Executing command: ' + command);
const stdout = await Execute.executeCommand(
command
);
const stdout: string = await Execute.executeCommand(command);
logger.debug(stdout);
}
@ -62,16 +53,15 @@ export default class CodeRepositoryUtil {
repoPath: string;
directoryPath: string;
}): Promise<void> {
const totalPath: string = LocalFile.sanitizeFilePath(
`${data.repoPath}/${data.directoryPath}`
);
const totalPath: string = LocalFile.sanitizeFilePath(`${data.repoPath}/${data.directoryPath}`);
const command: string = `mkdir ${totalPath}`;
logger.debug("Executing command: " + command);
const stdout = await Execute.executeCommand(
command
);
logger.debug('Executing command: ' + command);
const stdout: string = await Execute.executeCommand(command);
logger.debug(stdout);
}
@ -80,17 +70,15 @@ export default class CodeRepositoryUtil {
repoPath: string;
filePath: string;
}): Promise<void> {
const totalPath: string = LocalFile.sanitizeFilePath(`${data.repoPath}/${data.filePath}`);
const totalPath: string = LocalFile.sanitizeFilePath(
`${data.repoPath}/${data.filePath}`
);
const command: string = `rm ${totalPath}`;
logger.debug("Executing command: " + command);
logger.debug('Executing command: ' + command);
const stdout = await Execute.executeCommand(
command
);
const stdout: string = await Execute.executeCommand(command);
logger.debug(stdout);
}
@ -99,33 +87,28 @@ export default class CodeRepositoryUtil {
repoPath: string;
directoryPath: string;
}): Promise<void> {
const totalPath: string = LocalFile.sanitizeFilePath(`${data.repoPath}/${data.directoryPath}`);
const totalPath: string = LocalFile.sanitizeFilePath(
`${data.repoPath}/${data.directoryPath}`
);
const command: string = `rm -rf ${totalPath}`;
logger.debug("Executing command: " + command);
logger.debug('Executing command: ' + command);
const stdout = await Execute.executeCommand(
command
);
const stdout: string = await Execute.executeCommand(command);
logger.debug(stdout);
}
public static async createBranch(data: {
repoPath: string;
branchName: string;
}): Promise<void> {
const command: string = `cd ${data.repoPath} && git checkout -b ${data.branchName}`;
logger.debug("Executing command: " + command);
logger.debug('Executing command: ' + command);
const stdout = await Execute.executeCommand(
command
);
const stdout: string = await Execute.executeCommand(command);
logger.debug(stdout);
}
@ -134,14 +117,11 @@ export default class CodeRepositoryUtil {
repoPath: string;
branchName: string;
}): Promise<void> {
const command: string = `cd ${data.repoPath} && git checkout ${data.branchName}`;
logger.debug("Executing command: " + command);
logger.debug('Executing command: ' + command);
const stdout = await Execute.executeCommand(
command
);
const stdout: string = await Execute.executeCommand(command);
logger.debug(stdout);
}
@ -150,25 +130,25 @@ export default class CodeRepositoryUtil {
repoPath: string;
filePaths: Array<string>;
}): Promise<void> {
const filePaths: Array<string> = data.filePaths.map(
(filePath: string) => {
if (filePath.startsWith('/')) {
// remove the leading slash and return
return filePath.substring(1);
}
const filePaths = data.filePaths.map((filePath) => {
if(filePath.startsWith('/')){
// remove the leading slash and return
return filePath.substring(1);
}else{
return filePath;
}
});
const command: string = `cd ${data.repoPath} && git add ${filePaths.join(' ')}`;
logger.debug("Executing command: " + command);
const stdout = await Execute.executeCommand(
command
);
const command: string = `cd ${
data.repoPath
} && git add ${filePaths.join(' ')}`;
logger.debug('Executing command: ' + command);
const stdout: string = await Execute.executeCommand(command);
logger.debug(stdout);
}
@ -176,14 +156,11 @@ export default class CodeRepositoryUtil {
repoPath: string;
message: string;
}): Promise<void> {
const command: string = `cd ${data.repoPath} && git commit -m "${data.message}"`;
logger.debug("Executing command: " + command);
logger.debug('Executing command: ' + command);
const stdout = await Execute.executeCommand(
command
);
const stdout: string = await Execute.executeCommand(command);
logger.debug(stdout);
}
@ -204,11 +181,9 @@ export default class CodeRepositoryUtil {
const command: string = `cd ${repoPath} && git log -1 --pretty=format:"%H" ".${filePath}"`;
logger.debug("Executing command: " + command);
logger.debug('Executing command: ' + command);
const hash: string = await Execute.executeCommand(
command
);
const hash: string = await Execute.executeCommand(command);
logger.debug(hash);
@ -250,15 +225,14 @@ export default class CodeRepositoryUtil {
continue;
}
const filePath: string = LocalFile.sanitizeFilePath(
`${directoryPath}/${fileName}`
);
if(data.ignoreFilesOrDirectories.includes(fileName)){
if (data.ignoreFilesOrDirectories.includes(fileName)) {
continue;
}
const isDirectory: boolean = (
await Execute.executeCommand(
`file "${LocalFile.sanitizeFilePath(
@ -272,24 +246,22 @@ export default class CodeRepositoryUtil {
LocalFile.sanitizeFilePath(`${directoryPath}/${fileName}`)
);
continue;
}else{
if (
data.acceptedFileExtensions &&
data.acceptedFileExtensions.length > 0
) {
let shouldSkip: boolean = true;
for (const fileExtension of data.acceptedFileExtensions) {
if (fileName.endsWith(fileExtension)) {
shouldSkip = false;
break;
}
}
if (shouldSkip) {
continue;
} else if (
data.acceptedFileExtensions &&
data.acceptedFileExtensions.length > 0
) {
let shouldSkip: boolean = true;
for (const fileExtension of data.acceptedFileExtensions) {
if (fileName.endsWith(fileExtension)) {
shouldSkip = false;
break;
}
}
if (shouldSkip) {
continue;
}
}
const gitCommitHash: string = await this.getGitCommitHashForFile({

View File

@ -1,3 +1,5 @@
import Execute from '../../Execute';
import logger from '../../Logger';
import HostedCodeRepository from '../HostedCodeRepository/HostedCodeRepository';
import HTTPErrorResponse from 'Common/Types/API/HTTPErrorResponse';
import HTTPResponse from 'Common/Types/API/HTTPResponse';
@ -7,11 +9,8 @@ import PullRequestState from 'Common/Types/CodeRepository/PullRequestState';
import OneUptimeDate from 'Common/Types/Date';
import { JSONArray, JSONObject } from 'Common/Types/JSON';
import API from 'Common/Utils/API';
import Execute from '../../Execute';
import logger from '../../Logger';
export default class GitHubUtil extends HostedCodeRepository {
private getPullRequestFromJSONObject(data: {
pullRequest: JSONObject;
organizationName: string;
@ -153,45 +152,48 @@ export default class GitHubUtil extends HostedCodeRepository {
return allPullRequests;
}
public override async addRemote(data: { remoteName: string; organizationName: string; repositoryName: string; }): Promise<void> {
public override async addRemote(data: {
remoteName: string;
organizationName: string;
repositoryName: string;
}): Promise<void> {
const url: URL = URL.fromString(
`https://github.com/${data.organizationName}/${data.repositoryName}.git`
);
const command: string = `git remote add ${data.remoteName} ${url.toString()}`;
const command: string = `git remote add ${
data.remoteName
} ${url.toString()}`;
logger.debug("Executing command: " + command);
logger.debug('Executing command: ' + command);
const result: string = await Execute.executeCommand(command);
logger.debug(result);
}
public override async pushChanges(data: {
branchName: string;
organizationName: string;
repoName: string;
}){
repositoryName: string;
}): Promise<void> {
const branchName: string = data.branchName;
const username: string = this.username;
const username: string = this.username;
const password: string = this.authToken;
logger.debug("Pushing changes to remote repository with username: " + username);
logger.debug(
'Pushing changes to remote repository with username: ' + username
);
const command: string = `git push -u https://${username}:${password}@github.com/${data.organizationName}/${data.repositoryName}.git ${branchName}`;
logger.debug("Executing command: " + command);
logger.debug('Executing command: ' + command);
const result: string = await Execute.executeCommand(command);
logger.debug(result);
}
public override async createPullRequest(data: {
baseBranchName: string;
headBranchName: string;

View File

@ -5,10 +5,7 @@ import NotImplementedException from 'Common/Types/Exception/NotImplementedExcept
import ServiceRepository from 'Model/Models/ServiceRepository';
export default class HostedCodeRepository {
public constructor(data: {
authToken: string,
username: string,
}) {
public constructor(data: { authToken: string; username: string }) {
if (!data.authToken) {
throw new BadDataException('authToken is required');
}
@ -103,7 +100,7 @@ export default class HostedCodeRepository {
public async pushChanges(_data: {
branchName: string;
organizationName: string;
repoName: string;
repositoryName: string;
}): Promise<void> {
throw new NotImplementedException();
}

View File

@ -28,4 +28,4 @@ export const GetGitHubToken: GetStringOrNullFunction = (): string | null => {
export const GetGitHubUsername: GetStringOrNullFunction = (): string | null => {
const username: string | null = process.env['GITHUB_USERNAME'] || null;
return username;
}
};

View File

@ -1,4 +1,6 @@
import CodeRepositoryUtil, { CodeRepositoryResult } from './Utils/CodeRepository';
import CodeRepositoryUtil, {
CodeRepositoryResult,
} from './Utils/CodeRepository';
import InitUtil from './Utils/Init';
import ServiceRepositoryUtil from './Utils/ServiceRepository';
import HTTPErrorResponse from 'Common/Types/API/HTTPErrorResponse';
@ -22,30 +24,31 @@ const init: PromiseVoidFunction = async (): Promise<void> => {
});
logger.info(
`Files found in ${serviceRepository.serviceCatalog?.name}: ${Object.keys(filesInService).length
`Files found in ${serviceRepository.serviceCatalog?.name}: ${
Object.keys(filesInService).length
}`
);
const branchName = 'test-branch-4';
const branchName: string = 'test-branch-5';
await CodeRepositoryUtil.createOrCheckoutBranch({
serviceRepository: serviceRepository,
branchName: branchName,
});
// test code from here.
const file = filesInService[Object.keys(filesInService)[0]!];
// test code from here.
const file: CodeRepositoryFile | undefined =
filesInService[Object.keys(filesInService)[0]!];
await CodeRepositoryUtil.writeToFile({
filePath: file?.filePath!,
filePath: file!.filePath!,
content: 'Hello World',
});
// commit the changes
await CodeRepositoryUtil.addFilesToGit({
filePaths: [file?.filePath!],
filePaths: [file!.filePath!],
});
await CodeRepositoryUtil.commitChanges({
@ -54,6 +57,7 @@ const init: PromiseVoidFunction = async (): Promise<void> => {
await CodeRepositoryUtil.pushChanges({
branchName: branchName,
serviceRepository: serviceRepository,
});
// create a pull request
@ -62,8 +66,8 @@ const init: PromiseVoidFunction = async (): Promise<void> => {
title: 'Test PR',
body: 'Test PR body',
branchName: branchName,
serviceRepository: serviceRepository,
});
}
};
@ -73,15 +77,12 @@ init()
})
.catch(async (error: Error | HTTPErrorResponse) => {
try {
await CodeRepositoryUtil.discardChanges();
// change back to main branch.
await CodeRepositoryUtil.checkoutBranch({
branchName: 'main',
});
// change back to main branch.
await CodeRepositoryUtil.checkoutMainBranch();
} catch (e) {
// do nothing.
// do nothing.
}
logger.error('Error in starting OneUptime Copilot: ');

View File

@ -9,16 +9,16 @@ import HTTPErrorResponse from 'Common/Types/API/HTTPErrorResponse';
import HTTPResponse from 'Common/Types/API/HTTPResponse';
import URL from 'Common/Types/API/URL';
import CodeRepositoryType from 'Common/Types/CodeRepository/CodeRepositoryType';
import PullRequest from 'Common/Types/CodeRepository/PullRequest';
import PullRequestState from 'Common/Types/CodeRepository/PullRequestState';
import BadDataException from 'Common/Types/Exception/BadDataException';
import { JSONArray, JSONObject } from 'Common/Types/JSON';
import API from 'Common/Utils/API';
import CodeRepositoryServerUtil from 'CommonServer/Utils/CodeRepository/CodeRepository';
import GitHubUtil from 'CommonServer/Utils/CodeRepository/GitHub/GitHub';
import logger from 'CommonServer/Utils/Logger';
import CodeRepositoryModel from 'Model/Models/CodeRepository';
import ServiceRepository from 'Model/Models/ServiceRepository';
import CodeRepositoryServerUtil from 'CommonServer/Utils/CodeRepository/CodeRepository'
import PullRequest from 'Common/Types/CodeRepository/PullRequest';
export interface CodeRepositoryResult {
codeRepository: CodeRepositoryModel;
@ -29,7 +29,6 @@ export default class CodeRepositoryUtil {
public static codeRepositoryResult: CodeRepositoryResult | null = null;
public static gitHubUtil: GitHubUtil | null = null;
public static getGitHubUtil(): GitHubUtil {
if (!this.gitHubUtil) {
const gitHubToken: string | null = GetGitHubToken();
@ -39,13 +38,11 @@ export default class CodeRepositoryUtil {
if (!gitHubUsername) {
throw new BadDataException('GitHub Username is required');
}
if (!gitHubToken) {
throw new BadDataException('GitHub Token is required');
}
this.gitHubUtil = new GitHubUtil({
authToken: gitHubToken,
username: gitHubUsername!,
@ -55,30 +52,54 @@ export default class CodeRepositoryUtil {
return this.gitHubUtil;
}
public static getBranchName(data: {
branchName: string;
serviceRepository: ServiceRepository;
}): string {
if (!data.serviceRepository.serviceCatalog) {
throw new BadDataException('Service Catalog is required');
}
if (!data.serviceRepository.serviceCatalog.name) {
throw new BadDataException('Service Catalog Name is required');
}
return (
'oneuptime-' +
data.serviceRepository.serviceCatalog?.name?.toLowerCase() +
'-' +
data.branchName
);
}
public static async createBranch(data: {
branchName: string;
serviceRepository: ServiceRepository;
}): Promise<void> {
const branchName = 'oneuptime-' + (data.serviceRepository.serviceCatalog?.name?.toLowerCase()) + '-' + data.branchName;
const branchName: string = this.getBranchName({
branchName: data.branchName,
serviceRepository: data.serviceRepository,
});
await CodeRepositoryServerUtil.createBranch({
repoPath: GetLocalRepositoryPath(),
branchName: branchName,
})
});
}
public static async createOrCheckoutBranch(data: {
serviceRepository: ServiceRepository;
branchName: string;
}): Promise<void> {
const branchName = 'oneuptime-' + (data.serviceRepository.serviceCatalog?.name?.toLowerCase()) + '-' + data.branchName;
const branchName: string = this.getBranchName({
branchName: data.branchName,
serviceRepository: data.serviceRepository,
});
await CodeRepositoryServerUtil.createOrCheckoutBranch({
repoPath: GetLocalRepositoryPath(),
branchName: branchName,
})
});
}
public static async writeToFile(data: {
@ -89,7 +110,7 @@ export default class CodeRepositoryUtil {
repoPath: GetLocalRepositoryPath(),
filePath: data.filePath,
content: data.content,
})
});
}
public static async createDirectory(data: {
@ -98,16 +119,14 @@ export default class CodeRepositoryUtil {
await CodeRepositoryServerUtil.createDirectory({
repoPath: GetLocalRepositoryPath(),
directoryPath: data.directoryPath,
})
});
}
public static async deleteFile(data: {
filePath: string;
}): Promise<void> {
public static async deleteFile(data: { filePath: string }): Promise<void> {
await CodeRepositoryServerUtil.deleteFile({
repoPath: GetLocalRepositoryPath(),
filePath: data.filePath,
})
});
}
public static async deleteDirectory(data: {
@ -116,13 +135,13 @@ export default class CodeRepositoryUtil {
await CodeRepositoryServerUtil.deleteDirectory({
repoPath: GetLocalRepositoryPath(),
directoryPath: data.directoryPath,
})
});
}
public static async discardChanges(): Promise<void> {
await CodeRepositoryServerUtil.discardChanges({
repoPath: GetLocalRepositoryPath(),
})
});
}
public static async checkoutBranch(data: {
@ -131,11 +150,12 @@ export default class CodeRepositoryUtil {
await CodeRepositoryServerUtil.checkoutBranch({
repoPath: GetLocalRepositoryPath(),
branchName: data.branchName,
})
});
}
public static async checkoutMainBranch(): Promise<void> {
const codeRepository: CodeRepositoryModel = await this.getCodeRepository();
const codeRepository: CodeRepositoryModel =
await this.getCodeRepository();
if (!codeRepository.mainBranchName) {
throw new BadDataException('Main Branch Name is required');
@ -152,7 +172,7 @@ export default class CodeRepositoryUtil {
await CodeRepositoryServerUtil.addFilesToGit({
repoPath: GetLocalRepositoryPath(),
filePaths: data.filePaths,
})
});
}
public static async commitChanges(data: {
@ -161,45 +181,20 @@ export default class CodeRepositoryUtil {
await CodeRepositoryServerUtil.commitChanges({
repoPath: GetLocalRepositoryPath(),
message: data.message,
})
});
}
public static async pushChanges(data: {
branchName: string;
serviceRepository: ServiceRepository;
}): Promise<void> {
const branchName: string = this.getBranchName({
branchName: data.branchName,
serviceRepository: data.serviceRepository,
});
const codeRepository: CodeRepositoryModel = await this.getCodeRepository();
if (!codeRepository.mainBranchName) {
throw new BadDataException('Main Branch Name is required');
}
if(!codeRepository.organizationName){
throw new BadDataException('Organization Name is required');
}
if(!codeRepository.repositoryName){
throw new BadDataException('Repository Name is required');
}
if (codeRepository.repositoryHostedAt === CodeRepositoryType.GitHub) {
return await this.getGitHubUtil().pushChanges({
branchName: data.branchName,
organizationName: codeRepository.organizationName,
repoName: codeRepository.repositoryName,
});
}
}
public static async createPullRequest(data: {
branchName: string;
title: string;
body: string;
}): Promise<PullRequest> {
const codeRepository: CodeRepositoryModel = await this.getCodeRepository();
const codeRepository: CodeRepositoryModel =
await this.getCodeRepository();
if (!codeRepository.mainBranchName) {
throw new BadDataException('Main Branch Name is required');
@ -213,25 +208,54 @@ export default class CodeRepositoryUtil {
throw new BadDataException('Repository Name is required');
}
if (codeRepository.repositoryHostedAt === CodeRepositoryType.GitHub) {
return await this.getGitHubUtil().pushChanges({
branchName: branchName,
organizationName: codeRepository.organizationName,
repositoryName: codeRepository.repositoryName,
});
}
}
public static async createPullRequest(data: {
branchName: string;
title: string;
body: string;
serviceRepository: ServiceRepository;
}): Promise<PullRequest> {
const branchName: string = this.getBranchName({
branchName: data.branchName,
serviceRepository: data.serviceRepository,
});
const codeRepository: CodeRepositoryModel =
await this.getCodeRepository();
if (!codeRepository.mainBranchName) {
throw new BadDataException('Main Branch Name is required');
}
if (!codeRepository.organizationName) {
throw new BadDataException('Organization Name is required');
}
if (!codeRepository.repositoryName) {
throw new BadDataException('Repository Name is required');
}
if (codeRepository.repositoryHostedAt === CodeRepositoryType.GitHub) {
return await this.getGitHubUtil().createPullRequest({
headBranchName: data.branchName,
headBranchName: branchName,
baseBranchName: codeRepository.mainBranchName,
organizationName: codeRepository.organizationName,
repositoryName: codeRepository.repositoryName,
title: data.title,
body: data.body,
});
} else {
throw new BadDataException('Code Repository type not supported');
}
throw new BadDataException('Code Repository type not supported');
}
public static async getServicesToImproveCode(data: {
codeRepository: CodeRepositoryModel;
services: Array<ServiceRepository>;
@ -268,13 +292,16 @@ export default class CodeRepositoryUtil {
}
const numberOfPullRequestForThisService: number =
await this.getGitHubUtil().getNumberOfPullRequestsExistForService({
serviceRepository: service,
pullRequestState: PullRequestState.Open,
baseBranchName: data.codeRepository.mainBranchName,
organizationName: data.codeRepository.organizationName,
repositoryName: data.codeRepository.repositoryName,
});
await this.getGitHubUtil().getNumberOfPullRequestsExistForService(
{
serviceRepository: service,
pullRequestState: PullRequestState.Open,
baseBranchName: data.codeRepository.mainBranchName,
organizationName:
data.codeRepository.organizationName,
repositoryName: data.codeRepository.repositoryName,
}
);
if (
numberOfPullRequestForThisService <

View File

@ -1,9 +1,20 @@
import ServiceLanguage from 'Common/Types/ServiceCatalog/ServiceLanguage';
export default class ServiceFileTypesUtil {
private static getCommonDirectoriesToIgnore(): string[] {
return ['node_modules', '.git', 'build', 'dist', 'coverage', 'logs', 'tmp', 'temp', 'temporal', 'tempfiles', 'tempfiles'];
return [
'node_modules',
'.git',
'build',
'dist',
'coverage',
'logs',
'tmp',
'temp',
'temporal',
'tempfiles',
'tempfiles',
];
}
private static getCommonFilesToIgnore(): string[] {
@ -38,7 +49,12 @@ export default class ServiceFileTypesUtil {
filesToIgnore = ['packages', 'bin', 'obj'];
break;
case ServiceLanguage.CPlusPlus:
filesToIgnore = ['build', 'CMakeFiles', 'CMakeCache.txt', 'Makefile'];
filesToIgnore = [
'build',
'CMakeFiles',
'CMakeCache.txt',
'Makefile',
];
break;
case ServiceLanguage.Rust:
filesToIgnore = ['Cargo.lock'];
@ -47,7 +63,13 @@ export default class ServiceFileTypesUtil {
filesToIgnore = ['Podfile.lock'];
break;
case ServiceLanguage.Kotlin:
filesToIgnore = ['gradle', 'build', 'gradlew', 'gradlew.bat', 'gradle.properties'];
filesToIgnore = [
'gradle',
'build',
'gradlew',
'gradlew.bat',
'gradle.properties',
];
break;
case ServiceLanguage.TypeScript:
filesToIgnore = ['node_modules', 'package-lock.json'];
@ -68,7 +90,9 @@ export default class ServiceFileTypesUtil {
filesToIgnore = [];
}
return filesToIgnore.concat(this.getCommonFilesToIgnore()).concat(this.getCommonDirectoriesToIgnore());
return filesToIgnore
.concat(this.getCommonFilesToIgnore())
.concat(this.getCommonDirectoriesToIgnore());
}
private static getCommonFilesExtentions(): string[] {

View File

@ -26,9 +26,10 @@ export default class ServiceRepositoryUtil {
ServiceFileTypesUtil.getFileExtentionsByServiceLanguage(
serviceRepository.serviceCatalog!.serviceLanguage!
),
ignoreFilesOrDirectories: ServiceFileTypesUtil.getCommonFilesToIgnoreByServiceLanguage(
ignoreFilesOrDirectories:
ServiceFileTypesUtil.getCommonFilesToIgnoreByServiceLanguage(
serviceRepository.serviceCatalog!.serviceLanguage!
)
),
});
return allFiles;