From cf1b27c26d89e6767fbcea33fa48c569936cf615 Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Tue, 29 Aug 2023 09:02:54 +0100 Subject: [PATCH] Only delete if rename succeeds --- .../file/replaceOriginalFile/1.0.0/index.js | 8 ++++---- .../file/replaceOriginalFile/1.0.0/index.ts | 17 +++++++++-------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/FlowPlugins/CommunityFlowPlugins/file/replaceOriginalFile/1.0.0/index.js b/FlowPlugins/CommunityFlowPlugins/file/replaceOriginalFile/1.0.0/index.js index cdc104e..0b210ac 100644 --- a/FlowPlugins/CommunityFlowPlugins/file/replaceOriginalFile/1.0.0/index.js +++ b/FlowPlugins/CommunityFlowPlugins/file/replaceOriginalFile/1.0.0/index.js @@ -95,15 +95,15 @@ var plugin = function (args) { return __awaiter(void 0, void 0, void 0, function return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 2000); })]; case 1: _a.sent(); - // delete original file - if (fs.existsSync(args.originalLibraryFile._id)) { - fs.unlinkSync(args.originalLibraryFile._id); - } // delete temp file if (fs.existsSync(newPath)) { fs.unlinkSync(newPath); } fs.renameSync(currentPath, newPathTmp); + // delete original file + if (fs.existsSync(args.originalLibraryFile._id)) { + fs.unlinkSync(args.originalLibraryFile._id); + } return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 2000); })]; case 2: _a.sent(); diff --git a/FlowPluginsTs/CommunityFlowPlugins/file/replaceOriginalFile/1.0.0/index.ts b/FlowPluginsTs/CommunityFlowPlugins/file/replaceOriginalFile/1.0.0/index.ts index 26ec914..ce6e5c7 100644 --- a/FlowPluginsTs/CommunityFlowPlugins/file/replaceOriginalFile/1.0.0/index.ts +++ b/FlowPluginsTs/CommunityFlowPlugins/file/replaceOriginalFile/1.0.0/index.ts @@ -5,7 +5,7 @@ import { } from '../../../../FlowHelpers/1.0.0/interfaces/interfaces'; /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ -const details = ():IpluginDetails => ({ +const details = (): IpluginDetails => ({ name: 'Replace Original File', description: 'Replace the original file', style: { @@ -24,7 +24,7 @@ const details = ():IpluginDetails => ({ ], }); -const getNewPath = (originalPath:string, tempPath:string) => { +const getNewPath = (originalPath: string, tempPath: string) => { const tempPathParts = tempPath.split('.'); const container = tempPathParts[tempPathParts.length - 1]; @@ -35,7 +35,7 @@ const getNewPath = (originalPath:string, tempPath:string) => { }; // eslint-disable-next-line @typescript-eslint/no-unused-vars -const plugin = async (args:IpluginInputArgs):Promise => { +const plugin = async (args: IpluginInputArgs): Promise => { const fs = require('fs'); const lib = require('../../../../../methods/lib')(); // eslint-disable-next-line @typescript-eslint/no-unused-vars,no-param-reassign @@ -67,17 +67,18 @@ const plugin = async (args:IpluginInputArgs):Promise => { await new Promise((resolve) => setTimeout(resolve, 2000)); - // delete original file - if (fs.existsSync(args.originalLibraryFile._id)) { - fs.unlinkSync(args.originalLibraryFile._id); - } - // delete temp file if (fs.existsSync(newPath)) { fs.unlinkSync(newPath); } fs.renameSync(currentPath, newPathTmp); + + // delete original file + if (fs.existsSync(args.originalLibraryFile._id)) { + fs.unlinkSync(args.originalLibraryFile._id); + } + await new Promise((resolve) => setTimeout(resolve, 2000)); fs.renameSync(newPathTmp, newPath);