From 5d2bff74a4e9db0624772882589b2b94f7be29d5 Mon Sep 17 00:00:00 2001 From: Julien Monnard Date: Sun, 23 Oct 2022 01:50:36 +0200 Subject: [PATCH 1/5] feat(node): add new methods to NodeOnDiskFile class --- .../remix-node/__tests__/fileUploadHandler-test.ts | 14 ++++++++++++++ packages/remix-node/upload/fileUploadHandler.ts | 9 ++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/packages/remix-node/__tests__/fileUploadHandler-test.ts b/packages/remix-node/__tests__/fileUploadHandler-test.ts index 0d52c6eae7e..02917450bd0 100644 --- a/packages/remix-node/__tests__/fileUploadHandler-test.ts +++ b/packages/remix-node/__tests__/fileUploadHandler-test.ts @@ -104,4 +104,18 @@ describe("NodeOnDiskFile", () => { expect(sliced.size).toBe(slicedRes.length); expect(await sliced.text()).toBe(slicedRes); }); + + it("returns the file path properly", async () => { + expect(file.getFilePath()).toEqual(filepath); + }); + + it("removes the file properly", async () => { + let newFilePath = `${filepath}-copy`; + fs.copyFileSync(filepath, newFilePath); + + let copiedFile = (file = new NodeOnDiskFile(newFilePath, "text/plain")); + expect(fs.existsSync(copiedFile.getFilePath())).toBe(true); + await copiedFile.remove(); + expect(fs.existsSync(copiedFile.getFilePath())).toBe(false); + }); }); diff --git a/packages/remix-node/upload/fileUploadHandler.ts b/packages/remix-node/upload/fileUploadHandler.ts index ad2836ab9c2..2f076cd1b79 100644 --- a/packages/remix-node/upload/fileUploadHandler.ts +++ b/packages/remix-node/upload/fileUploadHandler.ts @@ -1,6 +1,6 @@ import { randomBytes } from "crypto"; import { createReadStream, createWriteStream, statSync } from "fs"; -import { rm, mkdir, stat as statAsync } from "fs/promises"; +import { rm, mkdir, stat as statAsync, unlink } from "fs/promises"; import { tmpdir } from "os"; import { basename, dirname, extname, resolve as resolvePath } from "path"; import type { Readable } from "stream"; @@ -231,4 +231,11 @@ export class NodeOnDiskFile implements File { public get [Symbol.toStringTag]() { return "File"; } + + remove(): Promise { + return unlink(this.filepath); + } + getFilePath(): string { + return this.filepath; + } } From 5f40e7f8ca80423e44244b9d954224a7671e6b83 Mon Sep 17 00:00:00 2001 From: Julien Monnard Date: Sun, 23 Oct 2022 02:11:14 +0200 Subject: [PATCH 2/5] chore: add name to contributors for CLA signature --- contributors.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/contributors.yml b/contributors.yml index a9ae704ec43..17f858c425e 100644 --- a/contributors.yml +++ b/contributors.yml @@ -224,6 +224,7 @@ - juhanakristian - JulesBlm - juliaqiuxy +- julienmonnard - justinnoel - justinsalasdev - justinwaite From d4dc2be6782deccdd4a50e8646e9f3975fb668b7 Mon Sep 17 00:00:00 2001 From: Julien Monnard Date: Sun, 23 Oct 2022 02:22:03 +0200 Subject: [PATCH 3/5] added changeset --- .changeset/flat-cobras-beam.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/flat-cobras-beam.md diff --git a/.changeset/flat-cobras-beam.md b/.changeset/flat-cobras-beam.md new file mode 100644 index 00000000000..5126fd280ee --- /dev/null +++ b/.changeset/flat-cobras-beam.md @@ -0,0 +1,5 @@ +--- +"@remix-run/node": minor +--- + +Add a "remove" and a "getFilePath" methods to fileUploadHandler From 3944a027699cdfc0e16e68555e6d74e1e7b14b69 Mon Sep 17 00:00:00 2001 From: Julien Monnard Date: Mon, 24 Oct 2022 08:52:49 +0200 Subject: [PATCH 4/5] small changeset rewording --- .changeset/flat-cobras-beam.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/flat-cobras-beam.md b/.changeset/flat-cobras-beam.md index 5126fd280ee..b3f10941741 100644 --- a/.changeset/flat-cobras-beam.md +++ b/.changeset/flat-cobras-beam.md @@ -2,4 +2,4 @@ "@remix-run/node": minor --- -Add a "remove" and a "getFilePath" methods to fileUploadHandler +Add "remove" and "getFilePath" methods to fileUploadHandler From fe8718c35b44557310ea7654cb81dce1f131bd19 Mon Sep 17 00:00:00 2001 From: Julien Monnard Date: Thu, 27 Oct 2022 06:59:03 +0200 Subject: [PATCH 5/5] reference the class instead of the file in changeset --- .changeset/flat-cobras-beam.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/flat-cobras-beam.md b/.changeset/flat-cobras-beam.md index b3f10941741..9f9de96e51a 100644 --- a/.changeset/flat-cobras-beam.md +++ b/.changeset/flat-cobras-beam.md @@ -2,4 +2,4 @@ "@remix-run/node": minor --- -Add "remove" and "getFilePath" methods to fileUploadHandler +Add `remove` and `getFilePath` methods to `NodeOnDiskFile`