Socket
Socket
Sign inDemoInstall

@sqltools/formatter

Package Overview
Dependencies
0
Maintainers
2
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.2.3 to 1.2.5

13

lib/core/Formatter.js

@@ -10,3 +10,10 @@ "use strict";

var Params_1 = __importDefault(require("./Params"));
var trimSpacesEnd = function (str) { return str.replace(/[ \t]+$/u, ''); };
var spaceChars = [' ', '\t'];
var trimSpacesEnd = function (str) {
var end = str.length - 1;
while (end >= 0 && spaceChars.includes(str[end])) {
end--;
}
return str.substring(0, end + 1);
};
var Formatter = (function () {

@@ -89,3 +96,3 @@ function Formatter(cfg, tokenizer, tokenOverride) {

&& this.previousToken().value === ';') {
return query.replace(/(\n|\r\n)$/m, '') + token.value;
return query.replace(/(\n|\r\n)$/u, '') + token.value;
}

@@ -132,3 +139,3 @@ return query;

Formatter.prototype.formatTopLevelReservedWord = function (token, query) {
var shouldChangeTopLevel = (this.previousNonWhiteSpace.value !== ',' && !['GRANT'].includes(("" + this.previousNonWhiteSpace.value).toUpperCase()));
var shouldChangeTopLevel = (this.previousNonWhiteSpace.value !== ',' && !['GRANT'].includes("".concat(this.previousNonWhiteSpace.value).toUpperCase()));
if (shouldChangeTopLevel) {

@@ -135,0 +142,0 @@ this.indentation.decreaseTopLevel();

@@ -25,3 +25,3 @@ "use strict";

Indentation.prototype.decreaseTopLevel = function () {
if (last_1["default"](this.indentTypes) === INDENT_TYPE_TOP_LEVEL) {
if ((0, last_1["default"])(this.indentTypes) === INDENT_TYPE_TOP_LEVEL) {
this.indentTypes.pop();

@@ -28,0 +28,0 @@ }

@@ -13,3 +13,3 @@ "use strict";

this.AMBIGUOS_OPERATOR_REGEX = /^(\?\||\?&)/u;
this.OPERATOR_REGEX = /^(!=|<>|>>|<<|==|<=|>=|!<|!>|\|\|\/|\|\/|\|\||~~\*|~~|!~~\*|!~~|~\*|!~\*|!~|:=|&&|@>|<@|#-|@|.)/u;
this.OPERATOR_REGEX = /^(!=|<>|>>|<<|==|<=|>=|!<|!>|\|\|\/|\|\/|\|\||~~\*|~~|!~~\*|!~~|~\*|!~\*|!~|:=|=>|&&|@>|<@|#-|@@|@|.)/u;
this.NO_SPACE_OPERATOR_REGEX = /^(::|->>|->|#>>|#>)/u;

@@ -31,10 +31,11 @@ this.BLOCK_COMMENT_REGEX = /^(\/\*[^]*?(?:\*\/|$))/u;

Tokenizer.prototype.createLineCommentRegex = function (lineCommentTypes) {
return new RegExp("^((?:" + lineCommentTypes.map(function (c) { return escapeRegExp_1["default"](c); }).join('|') + ")[^>]*?(?:\r\n|\r|\n|$))", 'u');
var unMatchJSONOperators = '((?<!#)>|(?:[^>]))';
return new RegExp("^((?:".concat(lineCommentTypes.map(function (c) { return (0, escapeRegExp_1["default"])(c); }).join('|'), ")").concat(unMatchJSONOperators, ".*?(?:\r\n|\r|\n|$))"), 'u');
};
Tokenizer.prototype.createReservedWordRegex = function (reservedWords) {
var reservedWordsPattern = reservedWords.join('|').replace(/ /gu, '\\s+');
return new RegExp("^(" + reservedWordsPattern + ")\\b", 'iu');
return new RegExp("^(".concat(reservedWordsPattern, ")\\b"), 'iu');
};
Tokenizer.prototype.createWordRegex = function (specialChars) {
return new RegExp("^([\\p{Alphabetic}\\p{Mark}\\p{Decimal_Number}\\p{Connector_Punctuation}\\p{Join_Control}" + specialChars.join('') + "]+)", 'u');
return new RegExp("^([\\p{Alphabetic}\\p{Mark}\\p{Decimal_Number}\\p{Connector_Punctuation}\\p{Join_Control}".concat(specialChars.join(''), "]+)"), 'u');
};

@@ -50,3 +51,4 @@ Tokenizer.prototype.createStringRegex = function (stringTypes) {

"''": "(('[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)",
"N''": "((N'[^N'\\\\]*(?:\\\\.[^N'\\\\]*)*('|$))+)"
"N''": "((N'[^N'\\\\]*(?:\\\\.[^N'\\\\]*)*('|$))+)",
"E''": "(((E|e)'[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)"
};

@@ -61,3 +63,3 @@ return stringTypes.map(function (t) { return patterns[t]; }).join('|');

if (paren.length === 1) {
return escapeRegExp_1["default"](paren);
return (0, escapeRegExp_1["default"])(paren);
}

@@ -73,3 +75,3 @@ else {

var typesRegex = types.map(escapeRegExp_1["default"]).join('|');
return new RegExp("^((?:" + typesRegex + ")(?:" + pattern + "))", 'u');
return new RegExp("^((?:".concat(typesRegex, ")(?:").concat(pattern, "))"), 'u');
};

@@ -192,3 +194,3 @@ Tokenizer.prototype.tokenize = function (input) {

var key = _a.key, quoteChar = _a.quoteChar;
return key.replace(new RegExp(escapeRegExp_1["default"]('\\' + quoteChar), 'gu'), quoteChar);
return key.replace(new RegExp((0, escapeRegExp_1["default"])('\\' + quoteChar), 'gu'), quoteChar);
};

@@ -195,0 +197,0 @@ Tokenizer.prototype.getNumberToken = function (input) {

@@ -6,6 +6,8 @@ "use strict";

({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);

@@ -12,0 +14,0 @@ function __() { this.constructor = d; }

@@ -6,6 +6,8 @@ "use strict";

({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);

@@ -12,0 +14,0 @@ function __() { this.constructor = d; }

@@ -6,6 +6,8 @@ "use strict";

({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);

@@ -12,0 +14,0 @@ function __() { this.constructor = d; }

@@ -6,6 +6,8 @@ "use strict";

({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);

@@ -32,3 +34,3 @@ function __() { this.constructor = d; }

reservedTopLevelWordsNoIndent: reservedTopLevelWordsNoIndent,
stringTypes: ["\"\"", "N''", "''", '``', '[]'],
stringTypes: ["\"\"", "N''", "''", '``', '[]', "E''"],
openParens: ['(', 'CASE'],

@@ -35,0 +37,0 @@ closeParens: [')', 'END'],

@@ -11,3 +11,3 @@ "use strict";

var StandardSqlFormatter_1 = __importDefault(require("./languages/StandardSqlFormatter"));
exports.format = function (query, cfg) {
var format = function (query, cfg) {
if (cfg === void 0) { cfg = {}; }

@@ -26,6 +26,8 @@ switch (cfg.language) {

};
exports.tokenize = function (query, cfg) {
exports.format = format;
var tokenize = function (query, cfg) {
if (cfg === void 0) { cfg = {}; }
return new StandardSqlFormatter_1["default"](cfg).tokenize(query);
};
exports.tokenize = tokenize;
exports["default"] = {

@@ -32,0 +34,0 @@ format: exports.format,

{
"name": "@sqltools/formatter",
"version": "1.2.3",
"version": "1.2.5",
"description": "Formats SQL queries. Part of SQLTools",

@@ -28,2 +28,3 @@ "license": "MIT",

"scripts": {
"test:tsc": "tsc --noEmit -p ./tsconfig.json --skipLibCheck",
"clean": "rimraf lib dist *.tgz",

@@ -34,3 +35,3 @@ "test": "jest --config jest.config.js",

"precompile": "yarn run check && yarn run clean",
"compile": "./node_modules/.bin/tsc -p tsconfig.json",
"compile": "tsc -p ./tsconfig.json",
"build": "yarn run compile",

@@ -40,3 +41,4 @@ "prepare": "yarn run build",

"release": "npm pack && npm publish *.tgz --tag latest --access public",
"beta": "npm pack && npm publish *.tgz --tag beta --access public"
"beta": "npm pack && npm publish *.tgz --tag beta --access public",
"tag": "git tag formatter/$(node -e 'console.log(require(\"./package.json\").version)')"
},

@@ -54,8 +56,8 @@ "repository": {

"dedent-js": "^1.0.1",
"jest": "^24.7.0",
"jest-cli": "^24.7.0",
"jest": "^26.6.3",
"jest-cli": "^26.6.3",
"ts-jest": "^26.5.4",
"rimraf": "^3.0.0",
"ts-jest": "^24.0.1",
"typescript": "^3.4.1"
"typescript": "~4.8.3"
}
}
# SQLTools Formatter
[![GitHub](https://img.shields.io/github/license/mtxr/vscode-sqltools)](https://github.com/mtxr/vscode-sqltools/blob/master/LICENSE)
[![GitHub](https://img.shields.io/github/license/mtxr/vscode-sqltools)](https://github.com/mtxr/vscode-sqltools/blob/dev/LICENSE)

@@ -57,2 +57,7 @@ > Forked from [zeroturnaround/sql-formatter](https://zeroturnaround.github.io/sql-formatter/) but with improvements and ported Typescript.

#### v1.2.4
- Support PostgreSQL c-style escape strings in formatter. [#935](https://github.com/mtxr/vscode-sqltools/pull/935) - thanks to [@sivaramasubramanian](https://github.com/sivaramasubramanian).
- Support PostgreSQL @@ operator in formatter. [#936](https://github.com/mtxr/vscode-sqltools/pull/936) - thanks to [@remlse](https://github.com/remlse).
#### v1.2.3

@@ -59,0 +64,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc