Skip to content

Commit f79bd10

Browse files
committed
v1.2.1
1 parent 4526c6c commit f79bd10

File tree

3 files changed

+10
-33
lines changed

3 files changed

+10
-33
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@samkirkland/ftp-deploy",
3-
"version": "1.2.0",
3+
"version": "1.2.1",
44
"private": false,
55
"description": "Deploy files to a ftp server",
66
"main": "dist/module.js",

src/main.test.ts

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { HashDiff } from "./HashDiff";
22
import { IFileList, currentSyncFileVersion, IFile } from "./types";
33
import { Record } from "./types";
4-
import { applyExcludeFilter, applyFolderFiltersToSubItems, getDefaultSettings, ILogger, Timings } from "./utilities";
4+
import { applyExcludeFilter, getDefaultSettings, ILogger, Timings } from "./utilities";
55
import path from "path";
66
import FtpSrv from "ftp-srv";
77
import { getLocalFiles } from "./localFiles";
@@ -615,7 +615,7 @@ describe("getLocalFiles", () => {
615615
new MockedStats("node_modules/@samkirkland/"),
616616
];
617617

618-
const filteredStats = files.filter(file => applyExcludeFilter(file, applyFolderFiltersToSubItems(excludeDefaults)));
618+
const filteredStats = files.filter(file => applyExcludeFilter(file, excludeDefaults));
619619

620620
expect(filteredStats.map(f => f.path)).toStrictEqual(["test/sam"]);
621621
});
@@ -632,7 +632,7 @@ describe("getLocalFiles", () => {
632632
new MockedStats("test/.git/workflows/main.yml"),
633633
];
634634

635-
const filteredStats = files.filter(file => applyExcludeFilter(file, applyFolderFiltersToSubItems(excludeDefaults)));
635+
const filteredStats = files.filter(file => applyExcludeFilter(file, excludeDefaults));
636636

637637
expect(filteredStats.map(f => f.path)).toStrictEqual(["test/sam"]);
638638
});
@@ -652,7 +652,7 @@ describe("getLocalFiles", () => {
652652
new MockedStats("node_modules/@samkirkland/"),
653653
];
654654

655-
const filteredStats = files.filter(file => applyExcludeFilter(file, applyFolderFiltersToSubItems([])));
655+
const filteredStats = files.filter(file => applyExcludeFilter(file, []));
656656

657657
expect(filteredStats.length).toBe(11);
658658
});
@@ -663,7 +663,7 @@ describe("getLocalFiles", () => {
663663
new MockedStats("test/folder/"),
664664
];
665665

666-
const filteredStats = files.filter(file => applyExcludeFilter(file, applyFolderFiltersToSubItems(["*.js"])));
666+
const filteredStats = files.filter(file => applyExcludeFilter(file, ["*.js"]));
667667

668668
expect(filteredStats.map(f => f.path)).toStrictEqual(["test/folder/"]);
669669
});
@@ -674,7 +674,7 @@ describe("getLocalFiles", () => {
674674
new MockedStats("test/folder/"),
675675
];
676676

677-
const filteredStats = files.filter(file => applyExcludeFilter(file, applyFolderFiltersToSubItems(["**/folder/**"])));
677+
const filteredStats = files.filter(file => applyExcludeFilter(file, ["**/folder/**"]));
678678

679679
expect(filteredStats.map(f => f.path)).toStrictEqual(["test/test.js"]);
680680
});
@@ -685,7 +685,7 @@ describe("getLocalFiles", () => {
685685
new MockedStats("test/folder/"),
686686
];
687687

688-
const filteredStats = files.filter(file => applyExcludeFilter(file, applyFolderFiltersToSubItems(["**/folder/**"])));
688+
const filteredStats = files.filter(file => applyExcludeFilter(file, ["**/folder/**"]));
689689

690690
expect(filteredStats.map(f => f.path)).toStrictEqual(["test/test.js"]);
691691
});
@@ -697,21 +697,7 @@ describe("getLocalFiles", () => {
697697
new MockedStats("test/folder/newfile.js"),
698698
];
699699

700-
const filteredStats = files.filter(file => applyExcludeFilter(file, applyFolderFiltersToSubItems(["test/folder/**"])));
701-
702-
expect(filteredStats.map(f => f.path)).toStrictEqual(["test/test.js"]);
703-
});
704-
705-
test("exclude existing folder while adding new file", async () => {
706-
const files: MockedStats[] = [
707-
new MockedStats("test/test.js"),
708-
new MockedStats("test/folder/"),
709-
new MockedStats("test/folder/subFolder/"),
710-
new MockedStats("test/folder/newfile.js"),
711-
new MockedStats("test/folder/sub/sub/sub/sub/newfile.js"),
712-
];
713-
714-
const filteredStats = files.filter(file => applyExcludeFilter(file, applyFolderFiltersToSubItems(["test/folder/"])));
700+
const filteredStats = files.filter(file => applyExcludeFilter(file, ["test/folder/**"]));
715701

716702
expect(filteredStats.map(f => f.path)).toStrictEqual(["test/test.js"]);
717703
});

src/utilities.ts

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -185,21 +185,12 @@ export function getDefaultSettings(withoutDefaults: IFtpDeployArguments): IFtpDe
185185
"state-name": withoutDefaults["state-name"] ?? ".ftp-deploy-sync-state.json",
186186
"dry-run": withoutDefaults["dry-run"] ?? false,
187187
"dangerous-clean-slate": withoutDefaults["dangerous-clean-slate"] ?? false,
188-
"exclude": applyFolderFiltersToSubItems(withoutDefaults.exclude ?? excludeDefaults),
188+
"exclude": withoutDefaults.exclude ?? excludeDefaults,
189189
"log-level": withoutDefaults["log-level"] ?? "standard",
190190
"security": withoutDefaults.security ?? "loose",
191191
};
192192
}
193193

194-
/**
195-
* automatically exclude all sub-files/sub-folders if we exclude a folder.
196-
* For example "test/" should also exclude "test/file.txt"
197-
* to do this we add "**" to all folder paths
198-
*/
199-
export function applyFolderFiltersToSubItems(excludeFilters: Readonly<string[]>) {
200-
return excludeFilters.map(filter => filter.endsWith("/") ? `${filter}**` : filter);
201-
}
202-
203194
interface IStats {
204195
path: string;
205196
isDirectory(): boolean;

0 commit comments

Comments
 (0)