New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

prettier-sql

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

prettier-sql - npm Package Compare versions

Comparing version 5.0.0-beta.1 to 5.0.0

bin/prettier-sql-cli.js

55

CHANGELOG.md
# CHANGELOG
## NEXT [5.0.0] : 2021-11-03
## NEXT [5.0.0] : 2021-11-22
### Added
New Features:
Source:
- added support for ES6 module exports with TypeScript
- updated webpack with ts-loader for module types
- added tsc to babel commonjs build command
- added index.ts pass-through export
Other:
- added GH Actions for CI build
- added issue templates
### Updated
Source:
- updated demo page for all new options
Other:
- renamed library to `prettier-sql`
### Fixed
- fixed bugs related to operator tokens
### Removed
- removed Travis CI (replaced by GH Actions)
## [5.0.0-beta] : 2021-11-03
### Added
Source:
- added option `aliasAs` to toggle use of AS in column, table, query aliases

@@ -48,18 +82,8 @@ - modes: always (SELECT and table), select (SELECT only), never

### Removed
Files Removed:
- tokenTypes.ts (token types moved to TokenType enum in token.ts)
- sqlFormatter.d.ts (converted to TypeScript)
### Updated
Major changes:
Source:
- converted repo to Typescript
- overhauled Keyword lists for all languages
Other:
- added default options for all configs

@@ -74,1 +98,6 @@ - updated CLI to use config file

- updated Tokenizer class and token.ts to be more DRY
### Removed
- tokenTypes.ts (token types moved to TokenType enum in token.ts)
- sqlFormatter.d.ts (converted to TypeScript)

@@ -352,4 +352,2 @@ "use strict";

this.tokens.forEach(function (token, index) {
var _this3$tokenLookAhead, _this3$tokenLookBehin;
_this3.index = index;

@@ -366,3 +364,3 @@ token = _this3.tokenOverride(token);

if (token.type === _token.TokenType.RESERVED_COMMAND) {
_this3.withinSelect = (0, _token.isToken)('SELECT')(token);
_this3.withinSelect = _token.isToken.SELECT(token);
}

@@ -381,7 +379,7 @@ }

} else if (token.type === _token.TokenType.RESERVED_DEPENDENT_CLAUSE) {
formattedQuery = _this3.formatLogicalOperator(token, formattedQuery);
formattedQuery = _this3.formatDependentClause(token, formattedQuery);
} else if (token.type === _token.TokenType.RESERVED_LOGICAL_OPERATOR) {
formattedQuery = _this3.formatLogicalOperator(token, formattedQuery);
} else if (token.type === _token.TokenType.RESERVED_KEYWORD) {
if (!((0, _token.isToken)('AS')(token) && _this3.cfg.aliasAs === _types.AliasMode.never)) {
if (!(_token.isToken.AS(token) && _this3.cfg.aliasAs === _types.AliasMode.never)) {
// do not format if skipping AS

@@ -397,16 +395,4 @@ formattedQuery = _this3.formatWithSpaces(token, formattedQuery);

formattedQuery = _this3.formatPlaceholder(token, formattedQuery);
} else if (token.value === ',') {
formattedQuery = _this3.formatComma(token, formattedQuery);
} else if (token.value === ':') {
formattedQuery = _this3.formatWithSpaces(token, formattedQuery, 'after');
} else if (token.value === '.') {
formattedQuery = _this3.formatWithoutSpaces(token, formattedQuery);
} else if (token.value === ';') {
formattedQuery = _this3.formatQuerySeparator(token, formattedQuery);
} else if (token.value === '[' || token.value === '`' && ((_this3$tokenLookAhead = _this3.tokenLookAhead(2)) === null || _this3$tokenLookAhead === void 0 ? void 0 : _this3$tokenLookAhead.value) === '`') {
formattedQuery = _this3.formatWithSpaces(token, formattedQuery, 'before');
} else if (token.value === ']' || token.value === '`' && ((_this3$tokenLookBehin = _this3.tokenLookBehind(2)) === null || _this3$tokenLookBehin === void 0 ? void 0 : _this3$tokenLookBehin.value) === '`') {
formattedQuery = _this3.formatWithSpaces(token, formattedQuery, 'after');
} else if (token.type === _token.TokenType.OPERATOR && _this3.cfg.denseOperators) {
formattedQuery = _this3.formatWithoutSpaces(token, formattedQuery);
} else if (token.type === _token.TokenType.OPERATOR) {
formattedQuery = _this3.formatOperator(token, formattedQuery);
} else {

@@ -434,3 +420,4 @@ if (_this3.cfg.aliasAs !== _types.AliasMode.never) {

var missingSelectColumnAlias = // if select column alias is missing and alias is not never
this.withinSelect && token.type === _token.TokenType.WORD && ((0, _token.isToken)('END')(prevToken) || (prevToken === null || prevToken === void 0 ? void 0 : prevToken.type) === _token.TokenType.WORD && ((nextToken === null || nextToken === void 0 ? void 0 : nextToken.value) === ',' || (0, _token.isCommand)(nextToken)));
this.withinSelect && token.type === _token.TokenType.WORD && (_token.isToken.END(prevToken) || // isAs(prevToken) ||
(prevToken === null || prevToken === void 0 ? void 0 : prevToken.type) === _token.TokenType.WORD && ((nextToken === null || nextToken === void 0 ? void 0 : nextToken.value) === ',' || (0, _token.isCommand)(nextToken)));

@@ -472,3 +459,3 @@ if (missingTableAlias || missingSelectColumnAlias) {

}
} else if (!(((_this$tokenLookAhead2 = this.tokenLookAhead()) === null || _this$tokenLookAhead2 === void 0 ? void 0 : _this$tokenLookAhead2.value) === '(' && (0, _token.isToken)('FROM')(token))) {
} else if (!(((_this$tokenLookAhead2 = this.tokenLookAhead()) === null || _this$tokenLookAhead2 === void 0 ? void 0 : _this$tokenLookAhead2.value) === '(' && _token.isToken.FROM(token))) {
this.indentation.increaseTopLevel();

@@ -501,5 +488,33 @@ }

}, {
key: "formatOperator",
value: function formatOperator(token, query) {
// special operator
if (token.value === ',') {
return this.formatComma(token, query);
} else if (token.value === ';') {
return this.formatQuerySeparator(token, query);
} else if (['$', '['].includes(token.value)) {
return this.formatWithSpaces(token, query, 'before');
} else if ([':', ']'].includes(token.value)) {
return this.formatWithSpaces(token, query, 'after');
} else if (['.', '{', '}', '`'].includes(token.value)) {
return this.formatWithoutSpaces(token, query);
} // regular operator
if (this.cfg.denseOperators) {
return this.formatWithoutSpaces(token, query);
}
return this.formatWithSpaces(token, query);
}
}, {
key: "formatDependentClause",
value: function formatDependentClause(token, query) {
return this.addNewline(query) + this.equalizeWhitespace(this.show(token)) + ' ';
}
}, {
key: "formatLogicalOperator",
value: function formatLogicalOperator(token, query) {
if ((0, _token.isToken)('AND')(token) && (0, _token.isToken)('BETWEEN')(this.tokenLookBehind(2))) {
if (_token.isToken.AND(token) && _token.isToken.BETWEEN(this.tokenLookBehind(2))) {
return this.formatWithSpaces(token, query);

@@ -528,3 +543,3 @@ }

value: function formatBlockStart(token, query) {
if ((0, _token.isToken)('CASE')(token)) {
if (_token.isToken.CASE(token)) {
query = this.formatWithSpaces(token, query);

@@ -551,3 +566,3 @@ } else {

if (!(0, _token.isToken)('CASE')(token) || this.newline.mode === _types.NewlineMode.always) {
if (!_token.isToken.CASE(token) || this.newline.mode === _types.NewlineMode.always) {
query = this.addNewline(query);

@@ -593,3 +608,3 @@ }

return query;
} else if ((0, _token.isToken)('LIMIT')(this.previousReservedToken)) {
} else if (_token.isToken.LIMIT(this.previousReservedToken)) {
return query;

@@ -700,2 +715,3 @@ } else if (this.currentNewline) {

exports["default"] = Formatter;
module.exports = exports.default;
module.exports = exports.default;
//# sourceMappingURL=Formatter.js.map

@@ -114,2 +114,3 @@ "use strict";

exports["default"] = Indentation;
module.exports = exports.default;
module.exports = exports.default;
//# sourceMappingURL=Indentation.js.map

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

if (token.type === _token.TokenType.BLOCK_START && !(0, _token.isToken)('CASE')(token)) {
if (token.type === _token.TokenType.BLOCK_START && !_token.isToken.CASE(token)) {
level++;

@@ -126,2 +126,3 @@ } else if (token.type === _token.TokenType.BLOCK_END) {

exports["default"] = InlineBlock;
module.exports = exports.default;
module.exports = exports.default;
//# sourceMappingURL=InlineBlock.js.map

@@ -62,2 +62,3 @@ "use strict";

exports["default"] = Params;
module.exports = exports.default;
module.exports = exports.default;
//# sourceMappingURL=Params.js.map

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

});
exports.createLineCommentRegex = createLineCommentRegex;
exports.createOperatorRegex = createOperatorRegex;
exports.createLineCommentRegex = createLineCommentRegex;
exports.createParenRegex = createParenRegex;
exports.createPlaceholderRegex = createPlaceholderRegex;
exports.createReservedWordRegex = createReservedWordRegex;
exports.createWordRegex = createWordRegex;
exports.createStringPattern = createStringPattern;
exports.createStringRegex = createStringRegex;
exports.createParenRegex = createParenRegex;
exports.createPlaceholderRegex = createPlaceholderRegex;
exports.createWordRegex = createWordRegex;
var _utils = require("../utils");
function createOperatorRegex(multiLetterOperators) {
return new RegExp("^(".concat((0, _utils.sortByLengthDesc)(multiLetterOperators).map(_utils.escapeRegExp).join('|'), "|.)"), 'u');
function createOperatorRegex(monadOperators, polyadOperators) {
return new RegExp("^(".concat((0, _utils.sortByLengthDesc)(polyadOperators).map(_utils.escapeRegExp).join('|'), "|") + "[".concat(monadOperators.split('').map(_utils.escapeRegExp).join(''), "])"), 'u');
}

@@ -29,2 +29,4 @@

function createReservedWordRegex(reservedKeywords) {
var specialWordChars = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
if (reservedKeywords.length === 0) {

@@ -35,8 +37,16 @@ return new RegExp("^\b$", 'u');

var reservedKeywordsPattern = (0, _utils.sortByLengthDesc)(reservedKeywords).join('|').replace(/ /g, '\\s+');
return new RegExp("^(".concat(reservedKeywordsPattern, ")\\b"), 'iu');
return new RegExp("^(".concat(reservedKeywordsPattern, ")(?![").concat((0, _utils.escapeRegExp)(specialWordChars), "]+)\\b"), 'iu');
}
function createWordRegex() {
var specialChars = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
return new RegExp("^([\\p{Alphabetic}\\p{Mark}\\p{Decimal_Number}\\p{Connector_Punctuation}\\p{Join_Control}".concat(specialChars.join(''), "]+)"), 'u');
var _specialChars$prefix, _specialChars$suffix, _specialChars$any;
var specialChars = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var prefixLookBehind = "[".concat((0, _utils.escapeRegExp)((_specialChars$prefix = specialChars.prefix) !== null && _specialChars$prefix !== void 0 ? _specialChars$prefix : ''), "]*");
var suffixLookAhead = "[".concat((0, _utils.escapeRegExp)((_specialChars$suffix = specialChars.suffix) !== null && _specialChars$suffix !== void 0 ? _specialChars$suffix : ''), "]*");
var unicodeWordChar = '\\p{Alphabetic}\\p{Mark}\\p{Decimal_Number}\\p{Connector_Punctuation}\\p{Join_Control}';
var specialWordChars = "".concat((0, _utils.escapeRegExp)((_specialChars$any = specialChars.any) !== null && _specialChars$any !== void 0 ? _specialChars$any : ''));
var arrayAccessor = '\\[\\d\\]';
var mapAccessor = "\\[['\"][".concat(unicodeWordChar, "]+['\"]\\]");
return new RegExp("^((".concat(prefixLookBehind, "([").concat(unicodeWordChar).concat(specialWordChars, "]+)").concat(suffixLookAhead, ")(").concat(arrayAccessor, "|").concat(mapAccessor, ")?)"), 'u');
} // This enables the following string patterns:

@@ -60,5 +70,6 @@ // 1. backtick quoted string using `` to escape

"N''": "((N'[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)",
"x''": "((x'[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)",
"U&''": "((U&'[^'\\\\]*(?:\\\\.[^'\\\\]*)*('|$))+)",
'U&""': '((U&"[^"\\\\]*(?:\\\\.[^"\\\\]*)*("|$))+)',
$$: '((?<tag>\\$\\w*\\$)[\\s\\S]*?(?:\\k<tag>|$))'
'$$': '((?<tag>\\$\\w*\\$)[\\s\\S]*?(?:\\k<tag>|$))'
};

@@ -97,2 +108,3 @@

return new RegExp("^((?:".concat(typesRegex, ")(?:").concat(pattern, "))"), 'u');
}
}
//# sourceMappingURL=regexFactory.js.map

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

});
exports.isReserved = exports.isCommand = exports.isToken = exports.ZWS = exports.TokenType = void 0;
exports.testToken = exports.isToken = exports.isReserved = exports.isCommand = exports.ZWS = exports.TokenType = void 0;
var TokenType;

@@ -33,23 +33,60 @@ exports.TokenType = TokenType;

var spaces = "[".concat(ZWS_REGEX, "\\s]");
var testTokens = {
AS: TokenType.RESERVED_KEYWORD,
AND: TokenType.RESERVED_LOGICAL_OPERATOR,
BETWEEN: TokenType.RESERVED_KEYWORD,
CASE: TokenType.BLOCK_START,
BY: TokenType.RESERVED_KEYWORD,
END: TokenType.BLOCK_END,
FROM: TokenType.RESERVED_COMMAND,
LATERAL: TokenType.RESERVED_DEPENDENT_CLAUSE,
LIMIT: TokenType.RESERVED_COMMAND,
SELECT: TokenType.RESERVED_COMMAND,
SET: TokenType.RESERVED_COMMAND,
WINDOW: TokenType.RESERVED_COMMAND
};
var isToken = function isToken(testToken) {
var testToken = function testToken(compareToken) {
return function (token) {
return (token === null || token === void 0 ? void 0 : token.type) === testTokens[testToken] && new RegExp("^".concat(spaces, "*").concat(testToken).concat(spaces, "*$"), 'iu').test(token === null || token === void 0 ? void 0 : token.value);
return (token === null || token === void 0 ? void 0 : token.type) === compareToken.type && new RegExp("^".concat(spaces, "*").concat(compareToken.value).concat(spaces, "*$"), 'iu').test(token === null || token === void 0 ? void 0 : token.value);
};
};
exports.testToken = testToken;
var isToken = {
AS: testToken({
value: 'AS',
type: TokenType.RESERVED_KEYWORD
}),
AND: testToken({
value: 'AND',
type: TokenType.RESERVED_LOGICAL_OPERATOR
}),
BETWEEN: testToken({
value: 'BETWEEN',
type: TokenType.RESERVED_KEYWORD
}),
CASE: testToken({
value: 'CASE',
type: TokenType.BLOCK_START
}),
BY: testToken({
value: 'BY',
type: TokenType.RESERVED_KEYWORD
}),
END: testToken({
value: 'END',
type: TokenType.BLOCK_END
}),
FROM: testToken({
value: 'FROM',
type: TokenType.RESERVED_COMMAND
}),
LATERAL: testToken({
value: 'LATERAL',
type: TokenType.RESERVED_DEPENDENT_CLAUSE
}),
LIMIT: testToken({
value: 'LIMIT',
type: TokenType.RESERVED_COMMAND
}),
SELECT: testToken({
value: 'SELECT',
type: TokenType.RESERVED_COMMAND
}),
SET: testToken({
value: 'SET',
type: TokenType.RESERVED_COMMAND
}),
WINDOW: testToken({
value: 'WINDOW',
type: TokenType.RESERVED_COMMAND
})
};
exports.isToken = isToken;

@@ -67,2 +104,3 @@

exports.isReserved = isReserved;
exports.isReserved = isReserved;
//# sourceMappingURL=token.js.map

@@ -66,2 +66,3 @@ "use strict";

var _this = this,
_cfg$specialWordChars,
_cfg$reservedDependen,

@@ -95,3 +96,4 @@ _cfg$operators,

this.WHITESPACE_REGEX = /^([\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+)/;
this.REGEX_MAP = (_this$REGEX_MAP = {}, _defineProperty(_this$REGEX_MAP, _token.TokenType.WORD, regexFactory.createWordRegex(cfg.specialWordChars)), _defineProperty(_this$REGEX_MAP, _token.TokenType.STRING, regexFactory.createStringRegex(cfg.stringTypes)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_KEYWORD, regexFactory.createReservedWordRegex(cfg.reservedKeywords)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_DEPENDENT_CLAUSE, regexFactory.createReservedWordRegex((_cfg$reservedDependen = cfg.reservedDependentClauses) !== null && _cfg$reservedDependen !== void 0 ? _cfg$reservedDependen : [])), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_LOGICAL_OPERATOR, regexFactory.createReservedWordRegex(cfg.reservedLogicalOperators)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_COMMAND, regexFactory.createReservedWordRegex(cfg.reservedCommands)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_BINARY_COMMAND, regexFactory.createReservedWordRegex(cfg.reservedBinaryCommands)), _defineProperty(_this$REGEX_MAP, _token.TokenType.OPERATOR, regexFactory.createOperatorRegex(['<>', '<=', '>='].concat(_toConsumableArray((_cfg$operators = cfg.operators) !== null && _cfg$operators !== void 0 ? _cfg$operators : [])))), _defineProperty(_this$REGEX_MAP, _token.TokenType.BLOCK_START, regexFactory.createParenRegex(cfg.blockStart)), _defineProperty(_this$REGEX_MAP, _token.TokenType.BLOCK_END, regexFactory.createParenRegex(cfg.blockEnd)), _defineProperty(_this$REGEX_MAP, _token.TokenType.LINE_COMMENT, regexFactory.createLineCommentRegex(cfg.lineCommentTypes)), _defineProperty(_this$REGEX_MAP, _token.TokenType.BLOCK_COMMENT, /^(\/\*(?:(?![])[\s\S])*?(?:\*\/|$))/), _defineProperty(_this$REGEX_MAP, _token.TokenType.NUMBER, /^((\x2D[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*)?[0-9]+(\.[0-9]+)?([Ee]\x2D?[0-9]+(\.[0-9]+)?)?|0x[0-9A-Fa-f]+|0b[01]+)\b/), _defineProperty(_this$REGEX_MAP, _token.TokenType.PLACEHOLDER, NULL_REGEX), _this$REGEX_MAP);
var specialWordCharsAll = Object.values((_cfg$specialWordChars = cfg.specialWordChars) !== null && _cfg$specialWordChars !== void 0 ? _cfg$specialWordChars : {}).join('');
this.REGEX_MAP = (_this$REGEX_MAP = {}, _defineProperty(_this$REGEX_MAP, _token.TokenType.WORD, regexFactory.createWordRegex(cfg.specialWordChars)), _defineProperty(_this$REGEX_MAP, _token.TokenType.STRING, regexFactory.createStringRegex(cfg.stringTypes)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_KEYWORD, regexFactory.createReservedWordRegex(cfg.reservedKeywords, specialWordCharsAll)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_DEPENDENT_CLAUSE, regexFactory.createReservedWordRegex((_cfg$reservedDependen = cfg.reservedDependentClauses) !== null && _cfg$reservedDependen !== void 0 ? _cfg$reservedDependen : [], specialWordCharsAll)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_LOGICAL_OPERATOR, regexFactory.createReservedWordRegex(cfg.reservedLogicalOperators, specialWordCharsAll)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_COMMAND, regexFactory.createReservedWordRegex(cfg.reservedCommands, specialWordCharsAll)), _defineProperty(_this$REGEX_MAP, _token.TokenType.RESERVED_BINARY_COMMAND, regexFactory.createReservedWordRegex(cfg.reservedBinaryCommands, specialWordCharsAll)), _defineProperty(_this$REGEX_MAP, _token.TokenType.OPERATOR, regexFactory.createOperatorRegex('+-/*%&|^><=.,;[]{}`:$', ['<>', '<=', '>=', '!='].concat(_toConsumableArray((_cfg$operators = cfg.operators) !== null && _cfg$operators !== void 0 ? _cfg$operators : [])))), _defineProperty(_this$REGEX_MAP, _token.TokenType.BLOCK_START, regexFactory.createParenRegex(cfg.blockStart)), _defineProperty(_this$REGEX_MAP, _token.TokenType.BLOCK_END, regexFactory.createParenRegex(cfg.blockEnd)), _defineProperty(_this$REGEX_MAP, _token.TokenType.LINE_COMMENT, regexFactory.createLineCommentRegex(cfg.lineCommentTypes)), _defineProperty(_this$REGEX_MAP, _token.TokenType.BLOCK_COMMENT, /^(\/\*(?:(?![])[\s\S])*?(?:\*\/|$))/), _defineProperty(_this$REGEX_MAP, _token.TokenType.NUMBER, /^((\x2D[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*)?[0-9]+(\.[0-9]+)?([Ee][\+\x2D]?[0-9]+(\.[0-9]+)?)?|0x[0-9A-Fa-f]+|0b[01]+)\b/), _defineProperty(_this$REGEX_MAP, _token.TokenType.PLACEHOLDER, NULL_REGEX), _this$REGEX_MAP);
this.INDEXED_PLACEHOLDER_REGEX = regexFactory.createPlaceholderRegex((_cfg$indexedPlacehold = cfg.indexedPlaceholderTypes) !== null && _cfg$indexedPlacehold !== void 0 ? _cfg$indexedPlacehold : [], '[0-9]*');

@@ -231,2 +233,3 @@ this.IDENT_NAMED_PLACEHOLDER_REGEX = regexFactory.createPlaceholderRegex(cfg.namedPlaceholderTypes, '[a-zA-Z0-9._$]+');

exports["default"] = Tokenizer;
module.exports = exports.default;
module.exports = exports.default;
//# sourceMappingURL=Tokenizer.js.map

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

_defineProperty(Db2Formatter, "stringTypes", ["\"\"", "''", '``', '[]']);
_defineProperty(Db2Formatter, "stringTypes", ["\"\"", "''", '``', '[]', "x''"]);

@@ -173,6 +173,9 @@ _defineProperty(Db2Formatter, "blockStart", ['(']);

_defineProperty(Db2Formatter, "specialWordChars", ['#', '@']);
_defineProperty(Db2Formatter, "specialWordChars", {
any: '#@'
});
_defineProperty(Db2Formatter, "operators", ['**', '!=', '!>', '!>', '||']);
_defineProperty(Db2Formatter, "operators", ['**', '!>', '!<', '||']);
module.exports = exports.default;
module.exports = exports.default;
//# sourceMappingURL=Db2Formatter.js.map

@@ -14,2 +14,4 @@ "use strict";

var _token = require("../core/token");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -112,2 +114,18 @@

}
}, {
key: "tokenOverride",
value: function tokenOverride(token) {
var _this$tokenLookAhead;
// [SET] ( ...
if (_token.isToken.SET(token) && ((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.value) === '(') {
// This is SET datatype, not SET statement
return {
type: _token.TokenType.RESERVED_KEYWORD,
value: token.value
};
}
return token;
}
}]);

@@ -142,6 +160,9 @@

_defineProperty(MariaDbFormatter, "specialWordChars", ['@']);
_defineProperty(MariaDbFormatter, "specialWordChars", {
prefix: '@'
});
_defineProperty(MariaDbFormatter, "operators", [':=', '<<', '>>', '!=', '<>', '<=>', '&&', '||']);
_defineProperty(MariaDbFormatter, "operators", [':=', '<<', '>>', '<=>', '&&', '||']);
module.exports = exports.default;
module.exports = exports.default;
//# sourceMappingURL=MariaDbFormatter.js.map

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

var reservedKeywords = ['ACCESSIBLE', 'ACCOUNT', 'ACTION', 'ACTIVE', 'ADMIN', 'AFTER', 'AGAINST', 'AGGREGATE', 'ALGORITHM', 'ALL', 'ALTER', 'ALWAYS', 'ANALYSE', 'ANALYZE', 'ANY', 'ARRAY', 'AS', 'ASC', 'ASENSITIVE', 'AT', 'ATTRIBUTE', 'AUTHENTICATION', 'AUTOEXTEND_SIZE', 'AUTO_INCREMENT', 'AVG_ROW_LENGTH', 'BACKUP', 'BEFORE', 'BEGIN', 'BETWEEN', 'BIGINT', 'BIT', 'BLOB', 'BLOCK', 'BOOL', 'BOOLEAN', 'BOTH', 'BTREE', 'BUCKETS', 'BY', 'BYTE', 'CACHE', 'CASCADE', 'CASCADED', 'CATALOG_NAME', 'CHAIN', 'CHALLENGE_RESPONSE', 'CHANGE', 'CHANGED', 'CHANNEL', 'CHARACTER', 'CHECK', 'CHECKSUM', 'CIPHER', 'CLASS_ORIGIN', 'CLIENT', 'CLOSE', 'CODE', 'COLLATE', 'COLUMN', 'COLUMNS', 'COLUMN_FORMAT', 'COLUMN_NAME', 'COMMENT', 'COMMITTED', 'COMPACT', 'COMPLETION', 'COMPONENT', 'COMPRESSED', 'COMPRESSION', 'CONCURRENT', 'CONDITION', 'CONNECTION', 'CONSISTENT', 'CONSTRAINT', 'CONSTRAINT_CATALOG', 'CONSTRAINT_NAME', 'CONSTRAINT_SCHEMA', 'CONTAINS', 'CONTEXT', 'CONTINUE', 'CPU', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURSOR', 'CURSOR_NAME', 'DATA', 'DATABASES', 'DATAFILE', 'DATETIME', 'DAY_HOUR', 'DAY_MICROSECOND', 'DAY_MINUTE', 'DAY_SECOND', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT_AUTH', 'DEFINER', 'DEFINITION', 'DELAYED', 'DELAY_KEY_WRITE', 'DESC', 'DESCRIPTION', 'DES_KEY_FILE', 'DETERMINISTIC', 'DIAGNOSTICS', 'DIRECTORY', 'DISABLE', 'DISCARD', 'DISK', 'DISTINCT', 'DISTINCTROW', 'DOUBLE', 'DROP', 'DUAL', 'DUMPFILE', 'DUPLICATE', 'DYNAMIC', 'EACH', 'EMPTY', 'ENABLE', 'ENCLOSED', 'ENCRYPTION', 'ENDS', 'ENFORCED', 'ENGINE', 'ENGINES', 'ENGINE_ATTRIBUTE', 'ENUM', 'ERROR', 'ERRORS', 'ESCAPE', 'ESCAPED', 'EVENT', 'EVENTS', 'EVERY', 'EXCHANGE', 'EXCLUDE', 'EXISTS', 'EXIT', 'EXPANSION', 'EXPIRE', 'EXPORT', 'EXTENDED', 'EXTENT_SIZE', 'FACTOR', 'FAILED_LOGIN_ATTEMPTS', 'FALSE', 'FAST', 'FAULTS', 'FETCH', 'FIELDS', 'FILE', 'FILE_BLOCK_SIZE', 'FILTER', 'FINISH', 'FIRST', 'FIXED', 'FLOAT', 'FLOAT4', 'FLOAT8', 'FOLLOWING', 'FOLLOWS', 'FOR', 'FORCE', 'FOREIGN', 'FOUND', 'FULL', 'FULLTEXT', 'FUNCTION', 'GENERAL', 'GENERATED', 'GEOMCOLLECTION', 'GEOMETRY', 'GEOMETRYCOLLECTION', 'GET', 'GET_MASTER_PUBLIC_KEY', 'GET_SOURCE_PUBLIC_KEY', 'GLOBAL', 'GRANTS', 'GROUP', 'GROUPS', 'GROUP_REPLICATION', 'GTID_ONLY', 'HASH', 'HIGH_PRIORITY', 'HISTOGRAM', 'HISTORY', 'HOST', 'HOSTS', 'HOUR_MICROSECOND', 'HOUR_MINUTE', 'HOUR_SECOND', 'IDENTIFIED', 'IGNORE', 'IGNORE_SERVER_IDS', 'IMPORT', 'INACTIVE', 'INDEX', 'INDEXES', 'INFILE', 'INITIAL', 'INITIAL_SIZE', 'INITIATE', 'INNER', 'INOUT', 'INSENSITIVE', 'INSERT_METHOD', 'INSTALL', 'INSTANCE', 'INT', 'INT1', 'INT2', 'INT3', 'INT4', 'INT8', 'INTEGER', 'INTO', 'INVISIBLE', 'INVOKER', 'IO', 'IO_AFTER_GTIDS', 'IO_BEFORE_GTIDS', 'IO_THREAD', 'IPC', 'ISOLATION', 'ISSUER', 'ITERATE', 'JSON', 'KEY', 'KEYRING', 'KEYS', 'KEY_BLOCK_SIZE', 'LANGUAGE', 'LAST', 'LEADING', 'LEAVE', 'LEAVES', 'LESS', 'LEVEL', 'LINEAR', 'LINES', 'LINESTRING', 'LIST', 'LOAD', 'LOCAL', 'LOCK', 'LOCKED', 'LOCKS', 'LOGFILE', 'LOGS', 'LONG', 'LONGBLOB', 'LONGTEXT', 'LOOP', 'LOW_PRIORITY', 'MASTER', 'MASTER_AUTO_POSITION', 'MASTER_BIND', 'MASTER_COMPRESSION_ALGORITHMS', 'MASTER_CONNECT_RETRY', 'MASTER_DELAY', 'MASTER_HEARTBEAT_PERIOD', 'MASTER_HOST', 'MASTER_LOG_FILE', 'MASTER_LOG_POS', 'MASTER_PASSWORD', 'MASTER_PORT', 'MASTER_PUBLIC_KEY_PATH', 'MASTER_RETRY_COUNT', 'MASTER_SERVER_ID', 'MASTER_SSL', 'MASTER_SSL_CA', 'MASTER_SSL_CAPATH', 'MASTER_SSL_CERT', 'MASTER_SSL_CIPHER', 'MASTER_SSL_CRL', 'MASTER_SSL_CRLPATH', 'MASTER_SSL_KEY', 'MASTER_SSL_VERIFY_SERVER_CERT', 'MASTER_TLS_CIPHERSUITES', 'MASTER_TLS_VERSION', 'MASTER_USER', 'MASTER_ZSTD_COMPRESSION_LEVEL', 'MAXVALUE', 'MAX_CONNECTIONS_PER_HOUR', 'MAX_QUERIES_PER_HOUR', 'MAX_ROWS', 'MAX_SIZE', 'MAX_UPDATES_PER_HOUR', 'MAX_USER_CONNECTIONS', 'MEDIUM', 'MEDIUMBLOB', 'MEDIUMINT', 'MEDIUMTEXT', 'MEMBER', 'MEMORY', 'MERGE', 'MESSAGE_TEXT', 'MIDDLEINT', 'MIGRATE', 'MINUTE_MICROSECOND', 'MINUTE_SECOND', 'MIN_ROWS', 'MODE', 'MODIFIES', 'MODIFY', 'MULTILINESTRING', 'MULTIPOINT', 'MULTIPOLYGON', 'MUTEX', 'MYSQL_ERRNO', 'NAME', 'NAMES', 'NATIONAL', 'NATURAL', 'NCHAR', 'NDB', 'NDBCLUSTER', 'NESTED', 'NETWORK_NAMESPACE', 'NEVER', 'NEW', 'NEXT', 'NO', 'NODEGROUP', 'NONE', 'NOWAIT', 'NO_WAIT', 'NO_WRITE_TO_BINLOG', 'NULL', 'NULLS', 'NUMBER', 'NUMERIC', 'NVARCHAR', 'OF', 'OFF', 'OFFSET', 'OJ', 'OLD', 'ONE', 'ONLY', 'OPEN', 'OPTIMIZE', 'OPTIMIZER_COSTS', 'OPTION', 'OPTIONAL', 'OPTIONALLY', 'OPTIONS', 'ORDER', 'ORDINALITY', 'ORGANIZATION', 'OTHERS', 'OUT', 'OUTER', 'OUTFILE', 'OVER', 'OWNER', 'PACK_KEYS', 'PAGE', 'PARSER', 'PARSE_GCOL_EXPR', 'PARTIAL', 'PARTITION', 'PARTITIONING', 'PARTITIONS', 'PASSWORD', 'PASSWORD_LOCK_TIME', 'PATH', 'PERSIST', 'PERSIST_ONLY', 'PHASE', 'PLUGIN', 'PLUGINS', 'PLUGIN_DIR', 'POINT', 'POLYGON', 'PORT', 'PRECEDES', 'PRECEDING', 'PRECISION', 'PRESERVE', 'PREV', 'PRIMARY', 'PRIVILEGES', 'PRIVILEGE_CHECKS_USER', 'PROCEDURE', 'PROCESS', 'PROCESSLIST', 'PROFILE', 'PROFILES', 'PROXY', 'PURGE', 'QUERY', 'QUICK', 'RANDOM', 'RANGE', 'READ', 'READS', 'READ_ONLY', 'READ_WRITE', 'REAL', 'REBUILD', 'RECOVER', 'RECURSIVE', 'REDOFILE', 'REDO_BUFFER_SIZE', 'REDUNDANT', 'REFERENCE', 'REFERENCES', 'REGISTRATION', 'RELAY', 'RELAYLOG', 'RELAY_LOG_FILE', 'RELAY_LOG_POS', 'RELAY_THREAD', 'RELEASE', 'RELOAD', 'REMOTE', 'REMOVE', 'RENAME', 'REORGANIZE', 'REPAIR', 'REPEATABLE', 'REPLICA', 'REPLICAS', 'REPLICATE_DO_DB', 'REPLICATE_DO_TABLE', 'REPLICATE_IGNORE_DB', 'REPLICATE_IGNORE_TABLE', 'REPLICATE_REWRITE_DB', 'REPLICATE_WILD_DO_TABLE', 'REPLICATE_WILD_IGNORE_TABLE', 'REPLICATION', 'REQUIRE', 'REQUIRE_ROW_FORMAT', 'RESIGNAL', 'RESOURCE', 'RESPECT', 'RESTORE', 'RESTRICT', 'RESUME', 'RETAIN', 'RETURN', 'RETURNED_SQLSTATE', 'RETURNING', 'RETURNS', 'REUSE', 'ROLE', 'ROLLUP', 'ROTATE', 'ROUTINE', 'ROW', 'ROWS', 'ROW_FORMAT', 'RTREE', 'SCHEDULE', 'SCHEMAS', 'SCHEMA_NAME', 'SECONDARY', 'SECONDARY_ENGINE', 'SECONDARY_ENGINE_ATTRIBUTE', 'SECONDARY_LOAD', 'SECONDARY_UNLOAD', 'SECOND_MICROSECOND', 'SECURITY', 'SENSITIVE', 'SEPARATOR', 'SERIAL', 'SERIALIZABLE', 'SERVER', 'SESSION', 'SHARE', 'SIGNAL', 'SIGNED', 'SIMPLE', 'SKIP', 'SLAVE', 'SLOW', 'SMALLINT', 'SNAPSHOT', 'SOCKET', 'SOME', 'SONAME', 'SOUNDS', 'SOURCE', 'SOURCE_AUTO_POSITION', 'SOURCE_BIND', 'SOURCE_COMPRESSION_ALGORITHMS', 'SOURCE_CONNECT_RETRY', 'SOURCE_DELAY', 'SOURCE_HEARTBEAT_PERIOD', 'SOURCE_HOST', 'SOURCE_LOG_FILE', 'SOURCE_LOG_POS', 'SOURCE_PASSWORD', 'SOURCE_PORT', 'SOURCE_PUBLIC_KEY_PATH', 'SOURCE_RETRY_COUNT', 'SOURCE_SSL', 'SOURCE_SSL_CA', 'SOURCE_SSL_CAPATH', 'SOURCE_SSL_CERT', 'SOURCE_SSL_CIPHER', 'SOURCE_SSL_CRL', 'SOURCE_SSL_CRLPATH', 'SOURCE_SSL_KEY', 'SOURCE_SSL_VERIFY_SERVER_CERT', 'SOURCE_TLS_CIPHERSUITES', 'SOURCE_TLS_VERSION', 'SOURCE_USER', 'SOURCE_ZSTD_COMPRESSION_LEVEL', 'SPATIAL', 'SPECIFIC', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'SQL_AFTER_GTIDS', 'SQL_AFTER_MTS_GAPS', 'SQL_BEFORE_GTIDS', 'SQL_BIG_RESULT', 'SQL_BUFFER_RESULT', 'SQL_CACHE', 'SQL_CALC_FOUND_ROWS', 'SQL_NO_CACHE', 'SQL_SMALL_RESULT', 'SQL_THREAD', 'SQL_TSI_DAY', 'SQL_TSI_HOUR', 'SQL_TSI_MINUTE', 'SQL_TSI_MONTH', 'SQL_TSI_QUARTER', 'SQL_TSI_SECOND', 'SQL_TSI_WEEK', 'SQL_TSI_YEAR', 'SRID', 'SSL', 'STACKED', 'START', 'STARTING', 'STARTS', 'STATS_AUTO_RECALC', 'STATS_PERSISTENT', 'STATS_SAMPLE_PAGES', 'STATUS', 'STOP', 'STORAGE', 'STORED', 'STREAM', 'STRING', 'SUBCLASS_ORIGIN', 'SUBJECT', 'SUBPARTITION', 'SUBPARTITIONS', 'SUPER', 'SUSPEND', 'SWAPS', 'SWITCHES', 'SYSTEM', 'TABLES', 'TABLESPACE', 'TABLE_CHECKSUM', 'TABLE_NAME', 'TEMPORARY', 'TEMPTABLE', 'TERMINATED', 'TEXT', 'THAN', 'THREAD_PRIORITY', 'TIES', 'TINYBLOB', 'TINYINT', 'TINYTEXT', 'TLS', 'TO', 'TRAILING', 'TRANSACTION', 'TRIGGER', 'TRIGGERS', 'TRUE', 'TYPE', 'TYPES', 'UNBOUNDED', 'UNCOMMITTED', 'UNDEFINED', 'UNDO', 'UNDOFILE', 'UNDO_BUFFER_SIZE', 'UNICODE', 'UNINSTALL', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNREGISTER', 'UNSIGNED', 'UNTIL', 'UPGRADE', 'USAGE', 'USER_RESOURCES', 'USE_FRM', 'USING', 'VALIDATION', 'VALUE', 'VARBINARY', 'VARCHAR', 'VARCHARACTER', 'VARIABLES', 'VARYING', 'VCPU', 'VIEW', 'VIRTUAL', 'VISIBLE', 'WAIT', 'WARNINGS', 'WHILE', 'WINDOW', 'WITHOUT', 'WORK', 'WRAPPER', 'WRITE', 'X509', 'XID', 'XML', 'YEAR_MONTH', 'ZEROFILL', 'ZONE'];
var reservedKeywords = ['ACCESSIBLE', 'ACCOUNT', 'ACTION', 'ACTIVE', 'ADMIN', 'AFTER', 'AGAINST', 'AGGREGATE', 'ALGORITHM', 'ALL', 'ALTER', 'ALWAYS', 'ANALYSE', 'ANALYZE', 'ANY', 'ARRAY', 'AS', 'ASC', 'ASENSITIVE', 'AT', 'ATTRIBUTE', 'AUTHENTICATION', 'AUTOEXTEND_SIZE', 'AUTO_INCREMENT', 'AVG_ROW_LENGTH', 'BACKUP', 'BEFORE', 'BEGIN', 'BETWEEN', 'BIGINT', 'BIT', 'BLOB', 'BLOCK', 'BOOL', 'BOOLEAN', 'BOTH', 'BTREE', 'BUCKETS', 'BY', 'BYTE', 'CACHE', 'CASCADE', 'CASCADED', 'CATALOG_NAME', 'CHAIN', 'CHALLENGE_RESPONSE', 'CHANGE', 'CHANGED', 'CHANNEL', 'CHARACTER', 'CHECK', 'CHECKSUM', 'CIPHER', 'CLASS_ORIGIN', 'CLIENT', 'CLOSE', 'CODE', 'COLLATE', 'COLUMN', 'COLUMNS', 'COLUMN_FORMAT', 'COLUMN_NAME', 'COMMENT', 'COMMITTED', 'COMPACT', 'COMPLETION', 'COMPONENT', 'COMPRESSED', 'COMPRESSION', 'CONCURRENT', 'CONDITION', 'CONNECTION', 'CONSISTENT', 'CONSTRAINT', 'CONSTRAINT_CATALOG', 'CONSTRAINT_NAME', 'CONSTRAINT_SCHEMA', 'CONTAINS', 'CONTEXT', 'CONTINUE', 'CPU', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURSOR', 'CURSOR_NAME', 'DATA', 'DATABASES', 'DATAFILE', 'DATETIME', 'DAY_HOUR', 'DAY_MICROSECOND', 'DAY_MINUTE', 'DAY_SECOND', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT_AUTH', 'DEFINER', 'DEFINITION', 'DELAYED', 'DELAY_KEY_WRITE', 'DESC', 'DESCRIPTION', 'DES_KEY_FILE', 'DETERMINISTIC', 'DIAGNOSTICS', 'DIRECTORY', 'DISABLE', 'DISCARD', 'DISK', 'DISTINCT', 'DISTINCTROW', 'DOUBLE', 'DROP', 'DUAL', 'DUMPFILE', 'DUPLICATE', 'DYNAMIC', 'EACH', 'EMPTY', 'ENABLE', 'ENCLOSED', 'ENCRYPTION', 'ENDS', 'ENFORCED', 'ENGINE', 'ENGINES', 'ENGINE_ATTRIBUTE', 'ENUM', 'ERROR', 'ERRORS', 'ESCAPE', 'ESCAPED', 'EVENT', 'EVENTS', 'EVERY', 'EXCHANGE', 'EXCLUDE', 'EXISTS', 'EXIT', 'EXPANSION', 'EXPIRE', 'EXPORT', 'EXTENDED', 'EXTENT_SIZE', 'FACTOR', 'FAILED_LOGIN_ATTEMPTS', 'FALSE', 'FAST', 'FAULTS', 'FETCH', 'FIELDS', 'FILE', 'FILE_BLOCK_SIZE', 'FILTER', 'FINISH', 'FIRST', 'FIXED', 'FLOAT', 'FLOAT4', 'FLOAT8', 'FOLLOWING', 'FOLLOWS', 'FOR', 'FORCE', 'FOREIGN', 'FOUND', 'FULL', 'FULLTEXT', 'FUNCTION', 'GENERAL', 'GENERATED', 'GEOMCOLLECTION', 'GEOMETRY', 'GEOMETRYCOLLECTION', 'GET', 'GET_MASTER_PUBLIC_KEY', 'GET_SOURCE_PUBLIC_KEY', 'GLOBAL', '@@GLOBAL', 'GRANTS', 'GROUP', 'GROUPS', 'GROUP_REPLICATION', 'GTID_ONLY', 'HASH', 'HIGH_PRIORITY', 'HISTOGRAM', 'HISTORY', 'HOST', 'HOSTS', 'HOUR_MICROSECOND', 'HOUR_MINUTE', 'HOUR_SECOND', 'IDENTIFIED', 'IGNORE', 'IGNORE_SERVER_IDS', 'IMPORT', 'INACTIVE', 'INDEX', 'INDEXES', 'INFILE', 'INITIAL', 'INITIAL_SIZE', 'INITIATE', 'INNER', 'INOUT', 'INSENSITIVE', 'INSERT_METHOD', 'INSTALL', 'INSTANCE', 'INT', 'INT1', 'INT2', 'INT3', 'INT4', 'INT8', 'INTEGER', 'INTO', 'INVISIBLE', 'INVOKER', 'IO', 'IO_AFTER_GTIDS', 'IO_BEFORE_GTIDS', 'IO_THREAD', 'IPC', 'ISOLATION', 'ISSUER', 'ITERATE', 'JSON', 'KEY', 'KEYRING', 'KEYS', 'KEY_BLOCK_SIZE', 'LANGUAGE', 'LAST', 'LEADING', 'LEAVE', 'LEAVES', 'LESS', 'LEVEL', 'LINEAR', 'LINES', 'LINESTRING', 'LIST', 'LOAD', 'LOCAL', 'LOCK', 'LOCKED', 'LOCKS', 'LOGFILE', 'LOGS', 'LONG', 'LONGBLOB', 'LONGTEXT', 'LOOP', 'LOW_PRIORITY', 'MASTER', 'MASTER_AUTO_POSITION', 'MASTER_BIND', 'MASTER_COMPRESSION_ALGORITHMS', 'MASTER_CONNECT_RETRY', 'MASTER_DELAY', 'MASTER_HEARTBEAT_PERIOD', 'MASTER_HOST', 'MASTER_LOG_FILE', 'MASTER_LOG_POS', 'MASTER_PASSWORD', 'MASTER_PORT', 'MASTER_PUBLIC_KEY_PATH', 'MASTER_RETRY_COUNT', 'MASTER_SERVER_ID', 'MASTER_SSL', 'MASTER_SSL_CA', 'MASTER_SSL_CAPATH', 'MASTER_SSL_CERT', 'MASTER_SSL_CIPHER', 'MASTER_SSL_CRL', 'MASTER_SSL_CRLPATH', 'MASTER_SSL_KEY', 'MASTER_SSL_VERIFY_SERVER_CERT', 'MASTER_TLS_CIPHERSUITES', 'MASTER_TLS_VERSION', 'MASTER_USER', 'MASTER_ZSTD_COMPRESSION_LEVEL', 'MAXVALUE', 'MAX_CONNECTIONS_PER_HOUR', 'MAX_QUERIES_PER_HOUR', 'MAX_ROWS', 'MAX_SIZE', 'MAX_UPDATES_PER_HOUR', 'MAX_USER_CONNECTIONS', 'MEDIUM', 'MEDIUMBLOB', 'MEDIUMINT', 'MEDIUMTEXT', 'MEMBER', 'MEMORY', 'MERGE', 'MESSAGE_TEXT', 'MIDDLEINT', 'MIGRATE', 'MINUTE_MICROSECOND', 'MINUTE_SECOND', 'MIN_ROWS', 'MODE', 'MODIFIES', 'MODIFY', 'MULTILINESTRING', 'MULTIPOINT', 'MULTIPOLYGON', 'MUTEX', 'MYSQL_ERRNO', 'NAME', 'NAMES', 'NATIONAL', 'NATURAL', 'NCHAR', 'NDB', 'NDBCLUSTER', 'NESTED', 'NETWORK_NAMESPACE', 'NEVER', 'NEW', 'NEXT', 'NO', 'NODEGROUP', 'NONE', 'NOWAIT', 'NO_WAIT', 'NO_WRITE_TO_BINLOG', 'NULL', 'NULLS', 'NUMBER', 'NUMERIC', 'NVARCHAR', 'OF', 'OFF', 'OFFSET', 'OJ', 'OLD', 'ONE', 'ONLY', 'OPEN', 'OPTIMIZE', 'OPTIMIZER_COSTS', 'OPTION', 'OPTIONAL', 'OPTIONALLY', 'OPTIONS', 'ORDER', 'ORDINALITY', 'ORGANIZATION', 'OTHERS', 'OUT', 'OUTER', 'OUTFILE', 'OVER', 'OWNER', 'PACK_KEYS', 'PAGE', 'PARSER', 'PARSE_GCOL_EXPR', 'PARTIAL', 'PARTITION', 'PARTITIONING', 'PARTITIONS', 'PASSWORD', 'PASSWORD_LOCK_TIME', 'PATH', 'PERSIST', '@@PERSIST', 'PERSIST_ONLY', '@@PERSIST_ONLY', 'PHASE', 'PLUGIN', 'PLUGINS', 'PLUGIN_DIR', 'POINT', 'POLYGON', 'PORT', 'PRECEDES', 'PRECEDING', 'PRECISION', 'PRESERVE', 'PREV', 'PRIMARY', 'PRIVILEGES', 'PRIVILEGE_CHECKS_USER', 'PROCEDURE', 'PROCESS', 'PROCESSLIST', 'PROFILE', 'PROFILES', 'PROXY', 'PURGE', 'QUERY', 'QUICK', 'RANDOM', 'RANGE', 'READ', 'READS', 'READ_ONLY', 'READ_WRITE', 'REAL', 'REBUILD', 'RECOVER', 'RECURSIVE', 'REDOFILE', 'REDO_BUFFER_SIZE', 'REDUNDANT', 'REFERENCE', 'REFERENCES', 'REGISTRATION', 'RELAY', 'RELAYLOG', 'RELAY_LOG_FILE', 'RELAY_LOG_POS', 'RELAY_THREAD', 'RELEASE', 'RELOAD', 'REMOTE', 'REMOVE', 'RENAME', 'REORGANIZE', 'REPAIR', 'REPEATABLE', 'REPLICA', 'REPLICAS', 'REPLICATE_DO_DB', 'REPLICATE_DO_TABLE', 'REPLICATE_IGNORE_DB', 'REPLICATE_IGNORE_TABLE', 'REPLICATE_REWRITE_DB', 'REPLICATE_WILD_DO_TABLE', 'REPLICATE_WILD_IGNORE_TABLE', 'REPLICATION', 'REQUIRE', 'REQUIRE_ROW_FORMAT', 'RESIGNAL', 'RESOURCE', 'RESPECT', 'RESTORE', 'RESTRICT', 'RESUME', 'RETAIN', 'RETURN', 'RETURNED_SQLSTATE', 'RETURNING', 'RETURNS', 'REUSE', 'ROLE', 'ROLLUP', 'ROTATE', 'ROUTINE', 'ROW', 'ROWS', 'ROW_FORMAT', 'RTREE', 'SCHEDULE', 'SCHEMAS', 'SCHEMA_NAME', 'SECONDARY', 'SECONDARY_ENGINE', 'SECONDARY_ENGINE_ATTRIBUTE', 'SECONDARY_LOAD', 'SECONDARY_UNLOAD', 'SECOND_MICROSECOND', 'SECURITY', 'SENSITIVE', 'SEPARATOR', 'SERIAL', 'SERIALIZABLE', 'SERVER', 'SESSION', '@@SESSION', 'SHARE', 'SIGNAL', 'SIGNED', 'SIMPLE', 'SKIP', 'SLAVE', 'SLOW', 'SMALLINT', 'SNAPSHOT', 'SOCKET', 'SOME', 'SONAME', 'SOUNDS', 'SOURCE', 'SOURCE_AUTO_POSITION', 'SOURCE_BIND', 'SOURCE_COMPRESSION_ALGORITHMS', 'SOURCE_CONNECT_RETRY', 'SOURCE_DELAY', 'SOURCE_HEARTBEAT_PERIOD', 'SOURCE_HOST', 'SOURCE_LOG_FILE', 'SOURCE_LOG_POS', 'SOURCE_PASSWORD', 'SOURCE_PORT', 'SOURCE_PUBLIC_KEY_PATH', 'SOURCE_RETRY_COUNT', 'SOURCE_SSL', 'SOURCE_SSL_CA', 'SOURCE_SSL_CAPATH', 'SOURCE_SSL_CERT', 'SOURCE_SSL_CIPHER', 'SOURCE_SSL_CRL', 'SOURCE_SSL_CRLPATH', 'SOURCE_SSL_KEY', 'SOURCE_SSL_VERIFY_SERVER_CERT', 'SOURCE_TLS_CIPHERSUITES', 'SOURCE_TLS_VERSION', 'SOURCE_USER', 'SOURCE_ZSTD_COMPRESSION_LEVEL', 'SPATIAL', 'SPECIFIC', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'SQL_AFTER_GTIDS', 'SQL_AFTER_MTS_GAPS', 'SQL_BEFORE_GTIDS', 'SQL_BIG_RESULT', 'SQL_BUFFER_RESULT', 'SQL_CACHE', 'SQL_CALC_FOUND_ROWS', 'SQL_NO_CACHE', 'SQL_SMALL_RESULT', 'SQL_THREAD', 'SQL_TSI_DAY', 'SQL_TSI_HOUR', 'SQL_TSI_MINUTE', 'SQL_TSI_MONTH', 'SQL_TSI_QUARTER', 'SQL_TSI_SECOND', 'SQL_TSI_WEEK', 'SQL_TSI_YEAR', 'SRID', 'SSL', 'STACKED', 'START', 'STARTING', 'STARTS', 'STATS_AUTO_RECALC', 'STATS_PERSISTENT', 'STATS_SAMPLE_PAGES', 'STATUS', 'STOP', 'STORAGE', 'STORED', 'STREAM', 'STRING', 'SUBCLASS_ORIGIN', 'SUBJECT', 'SUBPARTITION', 'SUBPARTITIONS', 'SUPER', 'SUSPEND', 'SWAPS', 'SWITCHES', 'SYSTEM', 'TABLES', 'TABLESPACE', 'TABLE_CHECKSUM', 'TABLE_NAME', 'TEMPORARY', 'TEMPTABLE', 'TERMINATED', 'TEXT', 'THAN', 'THREAD_PRIORITY', 'TIES', 'TINYBLOB', 'TINYINT', 'TINYTEXT', 'TLS', 'TO', 'TRAILING', 'TRANSACTION', 'TRIGGER', 'TRIGGERS', 'TRUE', 'TYPE', 'TYPES', 'UNBOUNDED', 'UNCOMMITTED', 'UNDEFINED', 'UNDO', 'UNDOFILE', 'UNDO_BUFFER_SIZE', 'UNICODE', 'UNINSTALL', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNREGISTER', 'UNSIGNED', 'UNTIL', 'UPGRADE', 'USAGE', 'USER_RESOURCES', 'USE_FRM', 'USING', 'VALIDATION', 'VALUE', 'VARBINARY', 'VARCHAR', 'VARCHARACTER', 'VARIABLES', 'VARYING', 'VCPU', 'VIEW', 'VIRTUAL', 'VISIBLE', 'WAIT', 'WARNINGS', 'WHILE', 'WINDOW', 'WITHOUT', 'WORK', 'WRAPPER', 'WRITE', 'X509', 'XID', 'XML', 'YEAR_MONTH', 'ZEROFILL', 'ZONE'];
/**

@@ -120,12 +120,20 @@ * Priority 1 (first)

value: function tokenOverride(token) {
if ((0, _token.isToken)('LATERAL')(token)) {
var _this$tokenLookAhead;
var _this$tokenLookAhead, _this$tokenLookAhead2;
if (((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.type) === _token.TokenType.BLOCK_START) {
// This is a subquery, treat it like a join
return {
type: _token.TokenType.RESERVED_LOGICAL_OPERATOR,
value: token.value
};
}
// [LATERAL] ( ...
if (_token.isToken.LATERAL(token) && ((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.type) === _token.TokenType.BLOCK_START) {
// This is a subquery, treat it like a join
return {
type: _token.TokenType.RESERVED_LOGICAL_OPERATOR,
value: token.value
};
} // [SET] ( ...
if (_token.isToken.SET(token) && ((_this$tokenLookAhead2 = this.tokenLookAhead()) === null || _this$tokenLookAhead2 === void 0 ? void 0 : _this$tokenLookAhead2.value) === '(') {
// This is SET datatype, not SET statement
return {
type: _token.TokenType.RESERVED_KEYWORD,
value: token.value
};
}

@@ -164,6 +172,9 @@

_defineProperty(MySqlFormatter, "specialWordChars", ['@']);
_defineProperty(MySqlFormatter, "specialWordChars", {
prefix: '@:'
});
_defineProperty(MySqlFormatter, "operators", [':=', '<<', '>>', '!=', '<>', '<=>', '&&', '||', '->', '->>']);
_defineProperty(MySqlFormatter, "operators", [':=', '<<', '>>', '<=>', '&&', '||', '->', '->>']);
module.exports = exports.default;
module.exports = exports.default;
//# sourceMappingURL=MySqlFormatter.js.map

@@ -141,4 +141,5 @@ "use strict";

_defineProperty(N1qlFormatter, "operators", ['==', '!=']);
_defineProperty(N1qlFormatter, "operators", ['==']);
module.exports = exports.default;
module.exports = exports.default;
//# sourceMappingURL=N1qlFormatter.js.map

@@ -109,19 +109,28 @@ "use strict";

value: function tokenOverride(token) {
if ((0, _token.isToken)('SET')(token) && (0, _token.isToken)('BY')(this.previousReservedToken)) {
var _this$tokenLookAhead, _this$tokenLookBehind, _this$tokenLookAhead2;
// `table`[.]`column`
if (token.value === '.' && (_this$tokenLookAhead = this.tokenLookAhead()) !== null && _this$tokenLookAhead !== void 0 && _this$tokenLookAhead.value.startsWith('`') && (_this$tokenLookBehind = this.tokenLookBehind()) !== null && _this$tokenLookBehind !== void 0 && _this$tokenLookBehind.value.endsWith('`')) {
// This is an operator, do not insert spaces
return {
type: _token.TokenType.OPERATOR,
value: token.value
};
} // BY [SET]
if (_token.isToken.SET(token) && _token.isToken.BY(this.previousReservedToken)) {
return {
type: _token.TokenType.RESERVED_KEYWORD,
value: token.value
};
}
} // [LATERAL] ( ...
if ((0, _token.isToken)('LATERAL')(token)) {
var _this$tokenLookAhead;
if (((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.type) === _token.TokenType.BLOCK_START) {
// This is a subquery, treat it like a join
return {
type: _token.TokenType.RESERVED_LOGICAL_OPERATOR,
value: token.value
};
}
if (_token.isToken.LATERAL(token) && ((_this$tokenLookAhead2 = this.tokenLookAhead()) === null || _this$tokenLookAhead2 === void 0 ? void 0 : _this$tokenLookAhead2.type) === _token.TokenType.BLOCK_START) {
// This is a subquery, treat it like a join
return {
type: _token.TokenType.RESERVED_LOGICAL_OPERATOR,
value: token.value
};
}

@@ -160,6 +169,10 @@

_defineProperty(PlSqlFormatter, "specialWordChars", ['_', '$', '#', '.', '@']);
_defineProperty(PlSqlFormatter, "specialWordChars", {
any: '_$#.@'
});
_defineProperty(PlSqlFormatter, "operators", ['||', '**', '!=', ':=']);
_defineProperty(PlSqlFormatter, "operators", ['||', '**', ':=', '~=', '^=', '>>', '<<', '=>' // '..' // breaks operator test, handled by .
]);
module.exports = exports.default;
module.exports = exports.default;
//# sourceMappingURL=PlSqlFormatter.js.map

@@ -149,3 +149,4 @@ "use strict";

var reservedDependentClauses = ['ON', 'WHEN', 'THEN', 'ELSE', 'LATERAL']; // https://www.postgresql.org/docs/14/index.html
var reservedDependentClauses = ['ON', 'WHEN', 'THEN', 'ELSE', 'LATERAL'];
var binaryOperators = ['<<', '>>', '||/', '|/', '::', ':=', '->>', '->', '=>', '~~*', '~~', '!~~*', '!~~', '~*', '!~*', '!~', '!!', '||', '@-@', '@@', '##', '<->', '&&', '&<', '&>', '<<|', '&<|', '|>>', '|&>', '<^', '^>', '?#', '?-', '?|', '?-|', '?||', '@>', '<@', '~=', '>>=', '<<=', '@@@']; // https://www.postgresql.org/docs/14/index.html

@@ -184,12 +185,11 @@ var PostgreSqlFormatter = /*#__PURE__*/function (_Formatter) {

value: function tokenOverride(token) {
if ((0, _token.isToken)('LATERAL')(token)) {
var _this$tokenLookAhead;
var _this$tokenLookAhead;
if (((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.type) === _token.TokenType.BLOCK_START) {
// This is a subquery, treat it like a join
return {
type: _token.TokenType.RESERVED_LOGICAL_OPERATOR,
value: token.value
};
}
// [LATERAL] ( ...
if (_token.isToken.LATERAL(token) && ((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.type) === _token.TokenType.BLOCK_START) {
// This is a subquery, treat it like a join
return {
type: _token.TokenType.RESERVED_LOGICAL_OPERATOR,
value: token.value
};
}

@@ -218,3 +218,3 @@

_defineProperty(PostgreSqlFormatter, "stringTypes", ["\"\"", "''", "U&''", 'U&""', '$$']);
_defineProperty(PostgreSqlFormatter, "stringTypes", ["\"\"", "''", "U&''", 'U&""', '$$', '``']);

@@ -231,4 +231,5 @@ _defineProperty(PostgreSqlFormatter, "blockStart", ['(', 'CASE']);

_defineProperty(PostgreSqlFormatter, "operators", ['!=', '<<', '>>', '||/', '|/', '::', '->>', '->', '~~*', '~~', '!~~*', '!~~', '~*', '!~*', '!~', '!!']);
_defineProperty(PostgreSqlFormatter, "operators", binaryOperators);
module.exports = exports.default;
module.exports = exports.default;
//# sourceMappingURL=PostgreSqlFormatter.js.map

@@ -222,4 +222,5 @@ "use strict";

_defineProperty(RedshiftFormatter, "operators", ['|/', '||/', '<<', '>>', '!=', '||']);
_defineProperty(RedshiftFormatter, "operators", ['|/', '||/', '<<', '>>', '||']);
module.exports = exports.default;
module.exports = exports.default;
//# sourceMappingURL=RedshiftFormatter.js.map

@@ -151,25 +151,20 @@ "use strict";

value: function tokenOverride(token) {
// Fix cases where names are ambiguously keywords or functions
if ((0, _token.isToken)('WINDOW')(token)) {
var aheadToken = this.tokenLookAhead();
var _this$tokenLookAhead, _this$tokenLookBehind;
if ((aheadToken === null || aheadToken === void 0 ? void 0 : aheadToken.type) === _token.TokenType.BLOCK_START) {
// This is a function call, treat it as a reserved word
return {
type: _token.TokenType.RESERVED_KEYWORD,
value: token.value
};
}
}
// [WINDOW](...)
if (_token.isToken.WINDOW(token) && ((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.type) === _token.TokenType.BLOCK_START) {
// This is a function call, treat it as a reserved word
return {
type: _token.TokenType.RESERVED_KEYWORD,
value: token.value
};
} // .[END]
if ((0, _token.isToken)('END')(token)) {
var backToken = this.tokenLookBehind();
if ((backToken === null || backToken === void 0 ? void 0 : backToken.type) === _token.TokenType.OPERATOR && (backToken === null || backToken === void 0 ? void 0 : backToken.value) === '.') {
// This is window().end (or similar) not CASE ... END
return {
type: _token.TokenType.WORD,
value: token.value
};
}
if (_token.isToken.END(token) && ((_this$tokenLookBehind = this.tokenLookBehind()) === null || _this$tokenLookBehind === void 0 ? void 0 : _this$tokenLookBehind.value) === '.') {
// This is window().end (or similar) not CASE ... END
return {
type: _token.TokenType.WORD,
value: token.value
};
} // TODO: deprecate this once ITEMS is merged with COLLECTION

@@ -179,5 +174,5 @@

if (/ITEMS/i.test(token.value) && token.type === _token.TokenType.RESERVED_KEYWORD) {
var _this$tokenLookBehind, _this$tokenLookAhead;
var _this$tokenLookBehind2, _this$tokenLookAhead2;
if (!(/COLLECTION/i.test((_this$tokenLookBehind = this.tokenLookBehind()) === null || _this$tokenLookBehind === void 0 ? void 0 : _this$tokenLookBehind.value) && /TERMINATED/i.test((_this$tokenLookAhead = this.tokenLookAhead()) === null || _this$tokenLookAhead === void 0 ? void 0 : _this$tokenLookAhead.value))) {
if (!(/COLLECTION/i.test((_this$tokenLookBehind2 = this.tokenLookBehind()) === null || _this$tokenLookBehind2 === void 0 ? void 0 : _this$tokenLookBehind2.value) && /TERMINATED/i.test((_this$tokenLookAhead2 = this.tokenLookAhead()) === null || _this$tokenLookAhead2 === void 0 ? void 0 : _this$tokenLookAhead2.value))) {
// this is a word and not COLLECTION ITEMS

@@ -224,4 +219,5 @@ return {

_defineProperty(SparkSqlFormatter, "operators", ['!=', '<=>', '&&', '||', '==']);
_defineProperty(SparkSqlFormatter, "operators", ['<=>', '&&', '||', '==', '->']);
module.exports = exports.default;
module.exports = exports.default;
//# sourceMappingURL=SparkSqlFormatter.js.map

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

_defineProperty(StandardSqlFormatter, "stringTypes", ["\"\"", "''"]);
_defineProperty(StandardSqlFormatter, "stringTypes", ["\"\"", "''", '``']);

@@ -127,2 +127,3 @@ _defineProperty(StandardSqlFormatter, "blockStart", ['(', 'CASE']);

module.exports = exports.default;
module.exports = exports.default;
//# sourceMappingURL=StandardSqlFormatter.js.map

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

_defineProperty(TSqlFormatter, "stringTypes", ["\"\"", "N''", "''", '[]']);
_defineProperty(TSqlFormatter, "stringTypes", ["\"\"", "N''", "''", '[]', '``']);

@@ -181,6 +181,9 @@ _defineProperty(TSqlFormatter, "blockStart", ['(', 'CASE']);

_defineProperty(TSqlFormatter, "specialWordChars", ['#', '@']);
_defineProperty(TSqlFormatter, "specialWordChars", {
any: '#@'
});
_defineProperty(TSqlFormatter, "operators", ['>=', '<=', '<>', '!=', '!<', '!>', '+=', '-=', '*=', '/=', '%=', '|=', '&=', '^=', '::']);
_defineProperty(TSqlFormatter, "operators", ['!<', '!>', '+=', '-=', '*=', '/=', '%=', '|=', '&=', '^=', '::']);
module.exports = exports.default;
module.exports = exports.default;
//# sourceMappingURL=TSqlFormatter.js.map

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

});
exports.format = exports.supportedDialects = exports.formatters = void 0;
exports.supportedDialects = exports.formatters = exports.format = void 0;

@@ -153,2 +153,3 @@ var _Db2Formatter = _interopRequireDefault(require("./languages/Db2Formatter"));

exports.format = format;
exports.format = format;
//# sourceMappingURL=sqlFormatter.js.map

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

});
exports.CommaPosition = exports.AliasMode = exports.NewlineMode = exports.KeywordMode = void 0;
exports.NewlineMode = exports.KeywordMode = exports.CommaPosition = exports.AliasMode = void 0;
var KeywordMode;

@@ -44,2 +44,3 @@ exports.KeywordMode = KeywordMode;

CommaPosition["tabular"] = "tabular";
})(CommaPosition || (exports.CommaPosition = CommaPosition = {}));
})(CommaPosition || (exports.CommaPosition = CommaPosition = {}));
//# sourceMappingURL=types.js.map

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

});
exports.tabulateLines = exports.maxLength = exports.sortByLengthDesc = exports.escapeRegExp = exports.isEmpty = exports.last = exports.trimSpacesEnd = void 0;
exports.trimSpacesEnd = exports.tabulateLines = exports.sortByLengthDesc = exports.maxLength = exports.last = exports.isEmpty = exports.escapeRegExp = void 0;

@@ -68,2 +68,3 @@ // Only removes spaces, not newlines

exports.tabulateLines = tabulateLines;
exports.tabulateLines = tabulateLines;
//# sourceMappingURL=utils.js.map
{
"name": "prettier-sql",
"version": "5.0.0-beta.1",
"version": "5.0.0",
"description": "Format whitespace in a SQL query to make it more readable",
"license": "MIT",
"main": "lib/sqlFormatter.js",
"main": "lib/index.js",
"module": "dist/prettier-sql.min.js",
"types": "lib/index.d.ts",
"bin": {
"prettier-sql": "./bin/sqlfmt.js"
"prettier-sql": "./bin/prettier-sql-cli.js"
},

@@ -26,28 +28,3 @@ "keywords": [

"contributors": [
"Adrien Pyke <adpyke@gmail.com>",
"Andrew",
"Benjamin Bellamy",
"bingou",
"Damon Davison <ddavison@avalere.com>",
"Davut Can Abacigil <can@teamsql.io>",
"Erik Hirmo <erik.hirmo@roguewave.com>",
"George Leslie-Waksman <waksman@gmail.com>",
"Ian Campbell <icampbell@immuta.com>",
"ivan baktsheev",
"João Pimentel Ferreira",
"Martin Nowak <code@dawg.eu>",
"Matheus Salmi <mathsalmi@gmail.com>",
"Matheus Teixeira <matheus.mtxr@gmail.com>",
"Nicolas Dermine <nicolas.dermine@gmail.com>",
"Offir Baron <ofir@panoply.io>",
"Olexandr Sydorchuk <olexandr.syd@gmail.com>",
"Rafael Pinto <raprp@posteo.de>",
"Rahel Rjadnev-Meristo <rahelini@gmail.com>",
"Rene Saarsoo <nene@triin.net>",
"Rodrigo Stuchi",
"Sasha Aliashkevich <olsender@gmail.com>",
"Sean Song <mail@seansong.dev>",
"Sergei Egorov <sergei.egorov@zeroturnaround.com>",
"Tyler Jones <tyler.jones@txwormhole.com>",
"Uku Pattak <ukupat@gmail.com>"
"Sean Song <mail@seansong.dev>"
],

@@ -57,7 +34,6 @@ "files": [

"dist",
"lib",
"src"
"lib"
],
"scripts": {
"clean": "rimraf lib dist",
"clean": "rimraf lib dist coverage",
"lint": "eslint .",

@@ -71,3 +47,3 @@ "pretty": "prettier --write .",

"prepare": "npm run clean && npm run fix && npm run check && npm run build",
"build:commonjs": "babel src --out-dir lib --extensions .ts",
"build:commonjs": "babel src --out-dir lib --extensions .ts --source-maps && tsc --module commonjs --emitDeclarationOnly --isolatedModules",
"build:umd": "webpack --config webpack.dev.js",

@@ -115,6 +91,7 @@ "build:umd:min": "webpack --config webpack.prod.js",

"rimraf": "^3.0.2",
"ts-loader": "^9.2.6",
"typescript": "^4.3.5",
"webpack": "^4.43.0",
"webpack-cli": "^3.3.12",
"webpack-merge": "^5.0.8"
"webpack": "^5.64.1",
"webpack-cli": "^4.9.1",
"webpack-merge": "^5.8.0"
},

@@ -121,0 +98,0 @@ "jest": {

@@ -1,7 +0,10 @@

# SQL Formatter [![NPM version](https://img.shields.io/npm/v/prettier-sql.svg)](https://npmjs.com/package/prettier-sql) ![Dev Build](https://github.com/github/docs/actions/workflows/webpack.yaml/badge.svg?event=push&branch=develop) ![Prod Build](https://github.com/github/docs/actions/workflows/webpack.yaml/badge.svg?event=push&branch=master) [![Coverage Status](https://coveralls.io/repos/github/inferrinizzard/prettier-sql/badge.svg?branch=master)](https://coveralls.io/github/inferrrinizzard/prettier-sql?branch=master)
<img src="static/prettier-sql-clean.svg" width="128"/>
**SQL Formatter** is a JavaScript library for pretty-printing SQL queries.
# Prettier SQL [![NPM version](https://img.shields.io/npm/v/prettier-sql.svg)](https://npmjs.com/package/prettier-sql) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/inferrinizzard/prettier-sql/coveralls/develop?label=Dev%20Build&logo=Github) ![GitHub Workflow Status (event)](https://img.shields.io/github/workflow/status/inferrinizzard/prettier-sql/webpack/master?event=push&label=Prod%20Build&logo=Github) ![Coveralls](https://img.shields.io/coveralls/github/inferrinizzard/prettier-sql?branch=master&label=Coverage&logo=coveralls&style=plastic)
## **Prettier SQL** is a JavaScript library for pretty-printing SQL queries.
It started as a port of a [PHP Library][], but has since considerably diverged.
SQL formatter supports the following dialects:
Prettier SQL supports the following dialects:

@@ -33,2 +36,3 @@ - **sql** - [Standard SQL][]

- [Usage without NPM](#usage-without-npm)
- [Usage with VSCode](#usage-with-vscode)
- [Contributing](#contributing)

@@ -44,2 +48,8 @@

Also available with yarn:
```sh
yarn add prettier-sql
```
## Usage

@@ -113,3 +123,3 @@

SQL Formatter
Prettier SQL

@@ -124,3 +134,3 @@ positional arguments:

-l, --language {db2,mariadb,mysql,n1ql,plsql,postgresql,redshift,spark,sql,tsql}
SQL Formatter dialect (defaults to basic sql)
SQL dialect (defaults to standard sql)
-c, --config CONFIG

@@ -150,3 +160,3 @@ Path to config json file (will use default configs if unspecified)

```json
```ts
{

@@ -158,3 +168,3 @@ "indent": string,

"mode": "always" | "itemCount" | "lineWidth" | "hybrid" | "never",
"itemCount":? number
"itemCount"?: number // only used if newline.mode is itemCount or hybrid
},

@@ -179,17 +189,16 @@ "breakBeforeBooleanOperator": boolean,

If you don't use a module bundler, clone the repository, run `npm install` and grab a file from `/dist` directory to use inside a `<script>` tag.
This makes SQL Formatter available as a global variable `window.sqlFormatter`.
This makes Prettier SQL available as a global variable `window.prettierSql`.
## Contributing
### Usage with VSCode
Make sure to run all checks:
Prettier SQL is also available as a VSCode extension here: \
https://marketplace.visualstudio.com/items?itemName=inferrinizzard.prettier-sql-vscode
```sh
npm run check
```
## Contributing
...and you're ready to poke us with a pull request.
Please see [CONTRIBUTING.md](CONTRIBUTING.md)
## License
[MIT](https://github.com/inferrinizzard/prettier-sql/blob/master/LICENSE)
[MIT](LICENSE)

@@ -196,0 +205,0 @@ [php library]: https://github.com/jdorn/sql-formatter

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc