fix: bug with order in which the files and files ignore patterns are combined (#1684)

Co-authored-by: GitHub Action <action@github.com>
This commit is contained in:
Tonye Jack 2023-10-30 16:18:54 -06:00 committed by GitHub
parent 2fc653d87d
commit 7549e1e4b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 40 additions and 36 deletions

28
dist/index.js generated vendored
View File

@ -2542,20 +2542,7 @@ const getDirNamesIncludeFilesPattern = ({ inputs }) => {
}; };
exports.getDirNamesIncludeFilesPattern = getDirNamesIncludeFilesPattern; exports.getDirNamesIncludeFilesPattern = getDirNamesIncludeFilesPattern;
const getFilePatterns = ({ inputs, workingDirectory }) => __awaiter(void 0, void 0, void 0, function* () { const getFilePatterns = ({ inputs, workingDirectory }) => __awaiter(void 0, void 0, void 0, function* () {
let filePatterns = inputs.files let filePatterns = '';
.split(inputs.filesSeparator)
.filter(Boolean)
.join('\n');
if (inputs.filesFromSourceFile !== '') {
const inputFilesFromSourceFile = inputs.filesFromSourceFile
.split(inputs.filesFromSourceFileSeparator)
.filter(p => p !== '')
.map(p => path.join(workingDirectory, p));
core.debug(`files from source file: ${inputFilesFromSourceFile}`);
const filesFromSourceFiles = (yield getFilesFromSourceFile({ filePaths: inputFilesFromSourceFile })).join('\n');
core.debug(`files from source files patterns: ${filesFromSourceFiles}`);
filePatterns = filePatterns.concat('\n', filesFromSourceFiles);
}
if (inputs.filesIgnore) { if (inputs.filesIgnore) {
const filesIgnorePatterns = inputs.filesIgnore const filesIgnorePatterns = inputs.filesIgnore
.split(inputs.filesIgnoreSeparator) .split(inputs.filesIgnoreSeparator)
@ -2583,6 +2570,19 @@ const getFilePatterns = ({ inputs, workingDirectory }) => __awaiter(void 0, void
core.debug(`files ignore from source files patterns: ${filesIgnoreFromSourceFiles}`); core.debug(`files ignore from source files patterns: ${filesIgnoreFromSourceFiles}`);
filePatterns = filePatterns.concat('\n', filesIgnoreFromSourceFiles); filePatterns = filePatterns.concat('\n', filesIgnoreFromSourceFiles);
} }
if (inputs.files) {
filePatterns = filePatterns.concat('\n', inputs.files.split(inputs.filesSeparator).filter(Boolean).join('\n'));
}
if (inputs.filesFromSourceFile !== '') {
const inputFilesFromSourceFile = inputs.filesFromSourceFile
.split(inputs.filesFromSourceFileSeparator)
.filter(p => p !== '')
.map(p => path.join(workingDirectory, p));
core.debug(`files from source file: ${inputFilesFromSourceFile}`);
const filesFromSourceFiles = (yield getFilesFromSourceFile({ filePaths: inputFilesFromSourceFile })).join('\n');
core.debug(`files from source files patterns: ${filesFromSourceFiles}`);
filePatterns = filePatterns.concat('\n', filesFromSourceFiles);
}
if ((0, exports.isWindows)()) { if ((0, exports.isWindows)()) {
filePatterns = filePatterns.replace(/\r\n/g, '\n'); filePatterns = filePatterns.replace(/\r\n/g, '\n');
filePatterns = filePatterns.replace(/\r/g, '\n'); filePatterns = filePatterns.replace(/\r/g, '\n');

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@ -938,27 +938,7 @@ export const getFilePatterns = async ({
inputs: Inputs inputs: Inputs
workingDirectory: string workingDirectory: string
}): Promise<string[]> => { }): Promise<string[]> => {
let filePatterns = inputs.files let filePatterns = ''
.split(inputs.filesSeparator)
.filter(Boolean)
.join('\n')
if (inputs.filesFromSourceFile !== '') {
const inputFilesFromSourceFile = inputs.filesFromSourceFile
.split(inputs.filesFromSourceFileSeparator)
.filter(p => p !== '')
.map(p => path.join(workingDirectory, p))
core.debug(`files from source file: ${inputFilesFromSourceFile}`)
const filesFromSourceFiles = (
await getFilesFromSourceFile({filePaths: inputFilesFromSourceFile})
).join('\n')
core.debug(`files from source files patterns: ${filesFromSourceFiles}`)
filePatterns = filePatterns.concat('\n', filesFromSourceFiles)
}
if (inputs.filesIgnore) { if (inputs.filesIgnore) {
const filesIgnorePatterns = inputs.filesIgnore const filesIgnorePatterns = inputs.filesIgnore
@ -1001,6 +981,30 @@ export const getFilePatterns = async ({
filePatterns = filePatterns.concat('\n', filesIgnoreFromSourceFiles) filePatterns = filePatterns.concat('\n', filesIgnoreFromSourceFiles)
} }
if (inputs.files) {
filePatterns = filePatterns.concat(
'\n',
inputs.files.split(inputs.filesSeparator).filter(Boolean).join('\n')
)
}
if (inputs.filesFromSourceFile !== '') {
const inputFilesFromSourceFile = inputs.filesFromSourceFile
.split(inputs.filesFromSourceFileSeparator)
.filter(p => p !== '')
.map(p => path.join(workingDirectory, p))
core.debug(`files from source file: ${inputFilesFromSourceFile}`)
const filesFromSourceFiles = (
await getFilesFromSourceFile({filePaths: inputFilesFromSourceFile})
).join('\n')
core.debug(`files from source files patterns: ${filesFromSourceFiles}`)
filePatterns = filePatterns.concat('\n', filesFromSourceFiles)
}
if (isWindows()) { if (isWindows()) {
filePatterns = filePatterns.replace(/\r\n/g, '\n') filePatterns = filePatterns.replace(/\r\n/g, '\n')
filePatterns = filePatterns.replace(/\r/g, '\n') filePatterns = filePatterns.replace(/\r/g, '\n')