UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

32 lines (30 loc) 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CodeFilePaths = void 0; const fs_1 = require("fs"); const path_1 = require("path"); const common_1 = require("../common"); class CodeFilePaths { static files; /** * Retrieves all code files from current repository. * @returns {Promise<string[]>} Promise of array containing file paths */ static async initialize() { if (!CodeFilePaths.files) { CodeFilePaths.files = await CodeFilePaths.searchFolder(common_1.Common.rootPath + '\\src\\app'); } return new Promise(resolvePromise => resolvePromise(CodeFilePaths.files)); } static async searchFolder(folderPath) { const subDirectories = await new Promise((resolvePromise, reject) => (0, fs_1.readdir)(folderPath, null, (err, fileResults) => err ? reject(err) : resolvePromise(fileResults))); const files = await Promise.all(subDirectories.map(async (subDirectory) => { const resource = (0, path_1.resolve)(folderPath, subDirectory); const fileStatus = await new Promise((resolvePromise, reject) => (0, fs_1.stat)(resource, (err, status) => err ? reject(err) : resolvePromise(status))); return fileStatus.isDirectory() ? this.searchFolder(resource) : resource; })); return Array.prototype.concat(...files); } } exports.CodeFilePaths = CodeFilePaths; //# sourceMappingURL=get-files.js.map