diff --git a/package-lock.json b/package-lock.json index a5f77ad..4012a58 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "dynamo-data-transform", - "version": "0.1.8", + "version": "0.1.9", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dynamo-data-transform", - "version": "0.1.8", + "version": "0.1.9", "license": "MIT", "dependencies": { "@aws-sdk/client-dynamodb": "^3.82.0", diff --git a/package.json b/package.json index 9548aa7..7b24ca2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dynamo-data-transform", - "version": "0.1.8", + "version": "0.1.9", "description": "DynamoDB Data Transformation Tool", "main": "./index.js", "repository": "https://github.com/jitsecurity/dynamo-data-transform", @@ -57,4 +57,4 @@ "dynamodt": "./cli/index.js", "ddt": "./cli/index.js" } -} +} \ No newline at end of file diff --git a/src/command-handlers/up.js b/src/command-handlers/up.js index 3f01f83..cb7a113 100755 --- a/src/command-handlers/up.js +++ b/src/command-handlers/up.js @@ -31,7 +31,7 @@ const executeDataTransformation = async (ddb, transformation, table, isDryRun) = } }; -const isGreaterThanLatesttransformationNumber = (fileName, latestDataTransformationNumber) => { +const isGreaterThanLatestTransformationNumber = (fileName, latestDataTransformationNumber) => { const transformationFileNumber = parseTransformationFileNumber(fileName); return transformationFileNumber > latestDataTransformationNumber; }; @@ -42,10 +42,14 @@ const getScriptsToExecuteForTable = async (table, latestDataTransformationNumber const currentTransformationFiles = transformationFiles.filter((fileName) => { const isJsFile = path.extname(fileName) === TRANSFORMATION_SCRIPT_EXTENSION; - return isJsFile && isGreaterThanLatesttransformationNumber(fileName, latestDataTransformationNumber); + return isJsFile && isGreaterThanLatestTransformationNumber(fileName, latestDataTransformationNumber); }); - const sortedTransformationFiles = currentTransformationFiles.sort(); + const sortedTransformationFiles = currentTransformationFiles.sort((a, b) => { + const aNumber = parseTransformationFileNumber(a); + const bNumber = parseTransformationFileNumber(b); + return aNumber - bNumber; + }); const scriptsToExecute = sortedTransformationFiles .map((fileName) => require(