diff --git a/boilerplate/files/.prettierrc b/boilerplate/files/.prettierrc index dc978ca52..f69dee35c 100644 --- a/boilerplate/files/.prettierrc +++ b/boilerplate/files/.prettierrc @@ -17,6 +17,9 @@ "options": { "formatter": "sql-formatter", "language": "tsql", + "identifierCase": "preserve", + "dataTypeCase": "preserve", + "functionCase": "upper", "keywordCase": "upper" } } diff --git a/boilerplate/forcedUpdates.json b/boilerplate/forcedUpdates.json index 66485e68d..b67b5c030 100644 --- a/boilerplate/forcedUpdates.json +++ b/boilerplate/forcedUpdates.json @@ -1,4 +1,8 @@ [ + { + "version": "6.0.3", + "files": [".prettierrc"] + }, { "version": "5.0.0", "files": [".vscode/settings.json", ".prettierrc"] diff --git a/package-lock.json b/package-lock.json index ed8a6c866..f074a7912 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "mustache": "4.2.0", "p-limit": "4.0.0", "prettier": "3.2.4", - "prettier-plugin-sql": "0.15.1", + "prettier-plugin-sql": "0.18.0", "semver": "7.5.4", "sfmc-sdk": "2.0.1", "simple-git": "3.22.0", @@ -1091,9 +1091,9 @@ } }, "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", "engines": { "node": ">=0.6" } @@ -4605,6 +4605,14 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsox": { + "version": "1.2.119", + "resolved": "https://registry.npmjs.org/jsox/-/jsox-1.2.119.tgz", + "integrity": "sha512-f37obwxWKKuylcaOzNlUlzfDvURSCpqTXs8yEivhvsp86D/DTIySxP4v5Qdlg24qCuzDSZ0mJr3krc/f7TZ/5A==", + "bin": { + "jsox": "lib/cli.js" + } + }, "node_modules/klaw": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", @@ -5748,9 +5756,9 @@ "dev": true }, "node_modules/node-sql-parser": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/node-sql-parser/-/node-sql-parser-4.10.0.tgz", - "integrity": "sha512-P4LZNX8drf+0X5zPtcE5o1SV7Wn4VpTGSYOnN8uY+TswtHrg3ymb193tYpF8EMp2LhGqqDUqTAnCr8hqjN3uQw==", + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/node-sql-parser/-/node-sql-parser-4.17.0.tgz", + "integrity": "sha512-3IhovpmUBpcETnoKK/KBdkz2mz53kVG5E1dnqz1QuYvtzdxYZW5xaGGEvW9u6Yyy2ivwR3eUZrn9inmEVef02w==", "dependencies": { "big-integer": "^1.6.48" }, @@ -6387,13 +6395,14 @@ } }, "node_modules/prettier-plugin-sql": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/prettier-plugin-sql/-/prettier-plugin-sql-0.15.1.tgz", - "integrity": "sha512-CWYgo4dXDhjA6ofvC6yUjsEOSzb5qdLmaloK8V+mPiSjkvMbatWsSTKjkV2g4k17shtqYmnU+WWOaYpFNbNL1A==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-sql/-/prettier-plugin-sql-0.18.0.tgz", + "integrity": "sha512-E7WXooLNtWyv79sYYHtQbfvXZ5B/OOR0ySBsB2evfrfvD4wJos1OKLBvVLC/a7+7YpG30bSUTgc2DEwz8ctPmQ==", "dependencies": { - "node-sql-parser": "^4.7.0", - "sql-formatter": "^12.2.3", - "tslib": "^2.6.0" + "jsox": "^1.2.118", + "node-sql-parser": "^4.12.0", + "sql-formatter": "^15.0.2", + "tslib": "^2.6.2" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -6402,7 +6411,7 @@ "url": "https://opencollective.com/unts" }, "peerDependencies": { - "prettier": "^3.0.0" + "prettier": "^3.0.3" } }, "node_modules/pretty-format": { @@ -7245,9 +7254,9 @@ "dev": true }, "node_modules/sql-formatter": { - "version": "12.2.4", - "resolved": "https://registry.npmjs.org/sql-formatter/-/sql-formatter-12.2.4.tgz", - "integrity": "sha512-Qj45LEHSfgrdYDOrAtIkR8SdS10SWcqCIM2WZwQwMKF2v9sM0K2dlThWPS7eYCUrhttZIrU1WwuIwHk7MjsWOw==", + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/sql-formatter/-/sql-formatter-15.1.2.tgz", + "integrity": "sha512-zBrLBclCNurCsQaO6yMvkXzHvv7eJPjiF8LIEQ5HdBV/x6UuWIZwqss3mlZ/6HLj+VYhFKeHpQnyLuZWG2agKQ==", "dependencies": { "argparse": "^2.0.1", "get-stdin": "=8.0.0", diff --git a/package.json b/package.json index 27186b483..fd2370e76 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "mustache": "4.2.0", "p-limit": "4.0.0", "prettier": "3.2.4", - "prettier-plugin-sql": "0.15.1", + "prettier-plugin-sql": "0.18.0", "semver": "7.5.4", "sfmc-sdk": "2.0.1", "simple-git": "3.22.0", diff --git a/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/get-response.json b/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/get-response.json index 9144d0e0b..32aa90a8c 100644 --- a/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/get-response.json +++ b/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/get-response.json @@ -3,7 +3,7 @@ "name": "testExisting_query", "key": "testExisting_query", "description": "bla bla", - "queryText": "SELECT\n SubscriberKey as testField\nFROM\n _Subscribers\nWHERE\n country IN ('test')\n", + "queryText": "Select\n SubscriberKey as testField, Trim(last_name) AS name\nFrom\n _Subscribers\nwhere\n country in ('test')\n", "targetName": "testExisting_dataExtension", "targetKey": "testExisting_dataExtension", "targetId": "21711373-72c1-ec11-b83b-48df37d1deb7", diff --git a/test/resources/9999999/automation/v1/queries/get-response.json b/test/resources/9999999/automation/v1/queries/get-response.json index 834827ed3..d07088bac 100644 --- a/test/resources/9999999/automation/v1/queries/get-response.json +++ b/test/resources/9999999/automation/v1/queries/get-response.json @@ -8,7 +8,7 @@ "name": "testExisting_query", "key": "testExisting_query", "description": "bla bla", - "queryText": "SELECT\n SubscriberKey as testField\nFROM\n _Subscribers\nWHERE\n country IN ('test')\n", + "queryText": "Select\n SubscriberKey as testField, Trim(last_name) AS name\nFrom\n _Subscribers\nwhere\n country in ('test')\n", "targetName": "testExisting_dataExtension", "targetKey": "testExisting_dataExtension", "targetId": "21711373-72c1-ec11-b83b-48df37d1deb7", @@ -25,7 +25,7 @@ "name": "testExisting_query2", "key": "testExisting_query2", "description": "bla bla", - "queryText": "SELECT\n SubscriberKey as testField\nFROM\n _Subscribers\nWHERE\n country IN ('test')\n", + "queryText": "Select\n SubscriberKey as testField, Trim(last_name) AS name\nfrom\n _Subscribers\nwhere\n country in ('test')\n", "targetName": "testExisting_dataExtension", "targetKey": "testExisting_dataExtension-WRONG", "targetId": "21711373-72c1-ec11-b83b-48df37d1deb7", @@ -42,7 +42,7 @@ "name": "testExisting_query_fixedKeys", "key": "testExisting_query_fixKeys", "description": "bla bla", - "queryText": "SELECT\n SubscriberKey as testField\nFROM\n _Subscribers\nWHERE\n country IN ('test')\n", + "queryText": "Select\n SubscriberKey as testField, Trim(last_name) AS name\nfrom\n _Subscribers\nwhere\n country in ('test')\n", "targetName": "testExisting_dataExtension", "targetKey": "testExisting_dataExtension", "targetId": "21711373-72c1-ec11-b83b-48df37d1deb7", diff --git a/test/resources/9999999/query/build-expected.sql b/test/resources/9999999/query/build-expected.sql index 4385e76e8..d1cba0e90 100644 --- a/test/resources/9999999/query/build-expected.sql +++ b/test/resources/9999999/query/build-expected.sql @@ -1,5 +1,6 @@ SELECT - SubscriberKey AS testField + SubscriberKey AS testField, + TRIM(last_name) AS name FROM _Subscribers WHERE diff --git a/test/resources/9999999/query/get-expected.sql b/test/resources/9999999/query/get-expected.sql index 2a32f5fad..c6da62468 100644 --- a/test/resources/9999999/query/get-expected.sql +++ b/test/resources/9999999/query/get-expected.sql @@ -1,5 +1,6 @@ SELECT - SubscriberKey AS testField + SubscriberKey AS testField, + TRIM(last_name) AS name FROM _Subscribers WHERE diff --git a/test/resources/9999999/query/template-expected.sql b/test/resources/9999999/query/template-expected.sql index 06aae9b31..a1210ae9f 100644 --- a/test/resources/9999999/query/template-expected.sql +++ b/test/resources/9999999/query/template-expected.sql @@ -1,5 +1,6 @@ SELECT - SubscriberKey AS testField + SubscriberKey AS testField, + TRIM(last_name) AS name FROM _Subscribers WHERE diff --git a/test/utils.js b/test/utils.js index 98021ae80..0e4b881c4 100644 --- a/test/utils.js +++ b/test/utils.js @@ -168,6 +168,7 @@ export function mockSetup(isDeploy) { 'node_modules/sql-formatter': fsmock.load( path.resolve(__dirname, '../node_modules/sql-formatter') ), + 'node_modules/jsox': fsmock.load(path.resolve(__dirname, '../node_modules/jsox')), 'node_modules/nearley': fsmock.load(path.resolve(__dirname, '../node_modules/nearley')), }; if (isDeploy) {