From 4cbd00e0522caeb9e974482368c85230ed724d48 Mon Sep 17 00:00:00 2001 From: Elias Kassell Date: Wed, 22 May 2024 16:13:35 +0000 Subject: [PATCH 1/3] Update to Google SQL formatter --- cli/api/BUILD | 2 +- contributing.md | 11 +++++ package.json | 2 +- packages/@dataform/cli/BUILD | 2 +- sqlx/BUILD | 2 +- sqlx/format.ts | 25 +++-------- yarn.lock | 82 ++++++++---------------------------- 7 files changed, 38 insertions(+), 88 deletions(-) diff --git a/cli/api/BUILD b/cli/api/BUILD index a841a0e02..94d7bcdf2 100644 --- a/cli/api/BUILD +++ b/cli/api/BUILD @@ -33,12 +33,12 @@ ts_library( "@npm//deepmerge", "@npm//fs-extra", "@npm//glob", + "@npm//google-sql-syntax-ts", "@npm//js-beautify", "@npm//js-yaml", "@npm//promise-pool-executor", "@npm//protobufjs", "@npm//semver", "@npm//tmp", - "@npm//sql-formatter", ], ) diff --git a/contributing.md b/contributing.md index e3f1e0304..05ed04ea4 100644 --- a/contributing.md +++ b/contributing.md @@ -52,6 +52,17 @@ bazel build cli The projects folder here is not built as it requires an environment file, which can be provided from the team. +### Add New NPM Dependencies + +Global yarn installations will throw errors when installing packages, instead you should use: + +```bash +$ bazel run @nodejs//:yarn add ... +``` + +Additionally, installed NPM dependencies need to be added to the `deps` of `ts_library` rules by +prefixing them with `@npm//...`. + ## The Contribution Process 1. Decide on what you'd like to contribute. The majority of open-source contributions come from: diff --git a/package.json b/package.json index 88b71db1b..fe3880a49 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "estraverse": "^5.1.0", "fs-extra": "^9.0.0", "glob": "^10.3.3", + "google-sql-syntax-ts": "^1.0.1", "grpc": "^1.24.0", "js-beautify": "^1.10.2", "js-yaml": "^4.1.0", @@ -56,7 +57,6 @@ "rollup": "^2.7.3", "rollup-plugin-dts": "^1.4.0", "semver": "^7.5.2", - "sql-formatter": "^12.2.1", "tarjan-graph": "^2.0.0", "tmp": "^0.2.0", "ts-loader": "^5.3.1", diff --git a/packages/@dataform/cli/BUILD b/packages/@dataform/cli/BUILD index 6eb043aa7..112f22edc 100644 --- a/packages/@dataform/cli/BUILD +++ b/packages/@dataform/cli/BUILD @@ -30,6 +30,7 @@ externals = [ "deepmerge", "fs-extra", "glob", + "google-sql-syntax-ts", "js-beautify", "js-yaml", "moo", @@ -39,7 +40,6 @@ externals = [ "protobufjs", "readline-sync", "semver", - "sql-formatter", "tarjan-graph", "tmp", "typeid-js", diff --git a/sqlx/BUILD b/sqlx/BUILD index c4d931fe1..a44d17d47 100644 --- a/sqlx/BUILD +++ b/sqlx/BUILD @@ -26,8 +26,8 @@ ts_library( "//common/errors", "@npm//@types/js-beautify", "@npm//@types/node", + "@npm//google-sql-syntax-ts", "@npm//js-beautify", - "@npm//sql-formatter", "@npm//typeid-js", ], ) diff --git a/sqlx/format.ts b/sqlx/format.ts index f5f6d258c..b65ef265f 100644 --- a/sqlx/format.ts +++ b/sqlx/format.ts @@ -1,6 +1,6 @@ import * as fs from "fs"; import * as jsBeautify from "js-beautify"; -import * as sqlFormatter from "sql-formatter"; +import { QueryFormatter, GoogleSqlDefinition } from "google-sql-syntax-ts"; import { promisify } from "util"; import { ErrorWithCause } from "df/common/errors/errors"; @@ -13,7 +13,7 @@ const JS_BEAUTIFY_OPTIONS = { max_preserve_newlines: 2 }; -const MAX_SQL_FORMAT_ATTEMPTS = 5; +const queryFormatter = new QueryFormatter(new GoogleSqlDefinition()); export function format(text: string, fileExtension: string) { try { @@ -73,7 +73,7 @@ function formatSqlx(node: SyntaxTreeNode, indent = "") { [placeholderId: string]: SyntaxTreeNode | string; } = {}; const unformattedPlaceholderSql = stripUnformattableText(sqlxStatement, placeholders).join(""); - const formattedPlaceholderSql = formatSql(unformattedPlaceholderSql); + const formattedPlaceholderSql = queryFormatter.formatQuery(unformattedPlaceholderSql); return formatEveryLine( replacePlaceholders(formattedPlaceholderSql, placeholders), line => `${indent}${line}` @@ -161,8 +161,8 @@ function stripUnformattableText( return placeholderId; } case SyntaxTreeNodeType.SQL_COMMENT: { - // sql-formatter knows how to format comments (as long as they keep to a single line); - // give it a hint. + // google-sql-syntax-ts knows how to format comments (as long as they keep to a single + // line); give it a hint. const commentPlaceholderId = part.concatenate().startsWith("--") ? `--${placeholderId}` : `/*${placeholderId}*/`; @@ -207,21 +207,6 @@ function formatJavaScript(text: string) { return jsBeautify.js(text, JS_BEAUTIFY_OPTIONS); } -function formatSql(text: string) { - let formatted = sqlFormatter.format(text, { language: "bigquery" }) as string; - // Unfortunately sql-formatter does not always produce final formatted output (even on plain SQL) in a single pass. - for (let attempts = 0; attempts < MAX_SQL_FORMAT_ATTEMPTS; attempts++) { - const newFormatted = sqlFormatter.format(formatted, { language: "bigquery" }) as string; - if (newFormatted === formatted) { - return newFormatted; - } - formatted = newFormatted; - } - throw new Error( - `SQL formatter was unable to determine final formatted form within ${MAX_SQL_FORMAT_ATTEMPTS} attempts. Original text: ${text}` - ); -} - function formatPlaceholderInSqlx( placeholderId: string, placeholderSyntaxNode: SyntaxTreeNode, diff --git a/yarn.lock b/yarn.lock index 791d182aa..d18f80914 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1686,11 +1686,6 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -discontinuous-range@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a" - integrity sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ== - dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" @@ -2529,6 +2524,13 @@ google-p12-pem@^3.0.3: dependencies: node-forge "^0.10.0" +google-sql-syntax-ts@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/google-sql-syntax-ts/-/google-sql-syntax-ts-1.0.1.tgz#219c20626481e1359307a5429b6585bf6a405c88" + integrity sha512-gHdfepEo5+fB3HSvpp+CS0C9OivFtetX3eQm503mxaUqt7LFTJoS5HGtT2CCVebxd7VfUjL7/LFgVuknTr1UDA== + dependencies: + monaco-editor "^0.44.0" + graceful-fs@^4.1.11, graceful-fs@^4.1.15: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" @@ -3553,6 +3555,11 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity "sha1-PrXtYmInVteaXw4qIh3+utdcL34= sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" +monaco-editor@^0.44.0: + version "0.44.0" + resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.44.0.tgz#3c0fe3655923bbf7dd647057302070b5095b6c59" + integrity sha512-5SmjNStN6bSuSE5WPT2ZV+iYn1/yI9sd4Igtk23ChvqB7kDk9lZbB9F5frsuvpB+2njdIeGGFf2G4gbE6rCC9Q== + moo@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.1.tgz#7aae7f384b9b09f620b6abf6f74ebbcd1b65dbc4" @@ -3612,16 +3619,6 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" -nearley@^2.20.1: - version "2.20.1" - resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.20.1.tgz#246cd33eff0d012faf197ff6774d7ac78acdd474" - integrity sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ== - dependencies: - commander "^2.19.0" - moo "^0.5.0" - railroad-diagrams "^1.0.0" - randexp "0.4.6" - neo-async@^2.5.0, neo-async@^2.6.1: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" @@ -4211,19 +4208,6 @@ querystring@0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" -railroad-diagrams@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e" - integrity sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A== - -randexp@0.4.6: - version "0.4.6" - resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3" - integrity sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ== - dependencies: - discontinuous-range "1.0.0" - ret "~0.1.10" - randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -4724,14 +4708,6 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" -sql-formatter@^12.2.1: - version "12.2.1" - resolved "https://registry.yarnpkg.com/sql-formatter/-/sql-formatter-12.2.1.tgz#6e048fea63c06f7f10371066502e4eb163967e17" - integrity sha512-rvNfY+g+mv3vxzqdDrsLVjhe/UZohYdCqUqyTK/JI8oXxnW4ObcldlclqUoL55SWQs8azEfFf66XfPBi6tkjfQ== - dependencies: - argparse "^2.0.1" - nearley "^2.20.1" - sshpk@^1.7.0: version "1.16.1" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" @@ -4802,16 +4778,8 @@ stream-shift@^1.0.0: resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" integrity "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= sha512-Afuc4BKirbx0fwm9bKOehZPG01DJkm/4qbklw4lo9nMPqd2x0kZTLcgwQUXdGiPPY489l3w8cQ5xEEAGbg8ACQ==" -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.2.3: + name string-width-cjs version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -4861,7 +4829,8 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.1: + name strip-ansi-cjs version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -4882,13 +4851,6 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" -strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -5571,7 +5533,8 @@ worker-farm@^1.7.0: dependencies: errno "~0.1.7" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: + name wrap-ansi-cjs version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -5589,15 +5552,6 @@ wrap-ansi@^5.1.0: string-width "^3.0.0" strip-ansi "^5.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" From afac159e43a4f7ed53c31d926a62f291897ed036 Mon Sep 17 00:00:00 2001 From: Elias Kassell Date: Thu, 23 May 2024 13:41:50 +0000 Subject: [PATCH 2/3] Make formatting in the CLI use the same SQL formatter as BigQuery --- package.json | 2 +- sqlx/format.ts | 2 +- sqlx/format_test.ts | 70 +++++++++++++++++++++------------------------ yarn.lock | 8 +++--- 4 files changed, 38 insertions(+), 44 deletions(-) diff --git a/package.json b/package.json index fe3880a49..347b47f53 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "estraverse": "^5.1.0", "fs-extra": "^9.0.0", "glob": "^10.3.3", - "google-sql-syntax-ts": "^1.0.1", + "google-sql-syntax-ts": "^1.0.3", "grpc": "^1.24.0", "js-beautify": "^1.10.2", "js-yaml": "^4.1.0", diff --git a/sqlx/format.ts b/sqlx/format.ts index b65ef265f..fe5c77f1f 100644 --- a/sqlx/format.ts +++ b/sqlx/format.ts @@ -1,6 +1,6 @@ import * as fs from "fs"; +import { GoogleSqlDefinition, QueryFormatter } from "google-sql-syntax-ts"; import * as jsBeautify from "js-beautify"; -import { QueryFormatter, GoogleSqlDefinition } from "google-sql-syntax-ts"; import { promisify } from "util"; import { ErrorWithCause } from "df/common/errors/errors"; diff --git a/sqlx/format_test.ts b/sqlx/format_test.ts index ff946c9f7..ccb2f38b8 100644 --- a/sqlx/format_test.ts +++ b/sqlx/format_test.ts @@ -32,9 +32,9 @@ js { jsFunction("table"); } -select +SELECT 1 -from +FROM \${ ref({ schema: "df_integration_test", @@ -78,17 +78,19 @@ SELECT let finalTableName = 'dkaodihwada'; } -drop something + DROP something --- -alter table \${tempTable} -rename to \${finalTableName} +ALTER TABLE + \${tempTable} RENAME TO \${finalTableName} --- SELECT - SUM(IF(session_start_event, 1, 0)) AS session_index + SUM( + IF + ( session_start_event, 1, 0 ) ) AS session_index `); }); @@ -111,21 +113,14 @@ where sample = 100`; tags: ["tag1", "tag2"] } -select - CAST( - REGEXP_EXTRACT("", r'^/([0-9]+)\\'\\"/.*') AS INT64 - ) AS id, - CAST( - REGEXP_EXTRACT("", r"^/([0-9]+)\\"\\'/.*") AS INT64 - ) AS id2, - IFNULL( - regexp_extract('', r'\\a?query=([^&]+)&*'), - regexp_extract('', r'\\a?q=([^&]+)&*') - ) AS id3, - regexp_extract('bar', r'bar') as ID4 -from +SELECT + CAST(REGEXP_EXTRACT("", r'^/([0-9]+)\\'\\"/.*') AS INT64) AS id, + CAST(REGEXP_EXTRACT("", r"^/([0-9]+)\\"\\'/.*") AS INT64) AS id2, + IFNULL ( REGEXP_EXTRACT('', r'\\a?query=([^&]+)&*'), REGEXP_EXTRACT('', r'\\a?q=([^&]+)&*') ) AS id3, + REGEXP_EXTRACT('bar', r'bar') AS ID4 +FROM \${ref("dab")} -where +WHERE sample = 100 `); }); @@ -171,21 +166,20 @@ as test } SELECT - MAX( - ( - SELECT - SUM(IF(track.event = "event_viewed_project_with_connection", 1, 0)) - FROM - UNNEST (records) - ) - ) > 0 as created_project, + MAX(( + SELECT + SUM( + IF + (track.event="event_viewed_project_with_connection",1,0)) + FROM + UNNEST(records)))>0 AS created_project, /* multi line comment */ - 2 as foo + 2 AS foo input "something" { - select - 1 as test + SELECT + 1 AS test /* something */ /* something else */ @@ -195,8 +189,8 @@ input "something" { }); test("Backslashes within regex don't cause 'r' prefix to separate.", async () => { const fileContents = `select regexp_extract("", r'abc\\de\\'fg select * from self()'), 'bar'`; - expect(format(fileContents, "sqlx")).equal(`select - regexp_extract("", r'abc\\de\\'fg select * from self()'), + expect(format(fileContents, "sqlx")).equal(`SELECT + REGEXP_EXTRACT("", r'abc\\de\\'fg select * from self()'), 'bar' `); }); @@ -218,7 +212,7 @@ SELECT MAKE_INTERVAL(1, day=>2, minute => 3)`; } SELECT - MAKE_INTERVAL(1, day => 2, minute => 3) + MAKE_INTERVAL(1, day=>2, minute => 3) `); }); @@ -236,7 +230,7 @@ QUALIFY MOD(ROW_NUMBER() OVER (), 2) = 0`; SELECT * FROM - UNNEST ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) AS n + UNNEST([0,1,2,3,4,5,6,7,8,9]) AS n WHERE n < 8 QUALIFY @@ -279,7 +273,7 @@ SELECT line string with indent""" AS multi_line, - REGEXP_CONTAINS("\\n abc\\n ", r''' + REGEXP_CONTAINS( "\\n abc\\n ", r''' abc ''') AS multi_line_regex, """ @@ -288,8 +282,8 @@ This project is ... """ AS with_js post_operations { - select - """1""" as inner_sql + SELECT + """1""" AS inner_sql } `); }); diff --git a/yarn.lock b/yarn.lock index d18f80914..6bbd68409 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2524,10 +2524,10 @@ google-p12-pem@^3.0.3: dependencies: node-forge "^0.10.0" -google-sql-syntax-ts@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/google-sql-syntax-ts/-/google-sql-syntax-ts-1.0.1.tgz#219c20626481e1359307a5429b6585bf6a405c88" - integrity sha512-gHdfepEo5+fB3HSvpp+CS0C9OivFtetX3eQm503mxaUqt7LFTJoS5HGtT2CCVebxd7VfUjL7/LFgVuknTr1UDA== +google-sql-syntax-ts@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/google-sql-syntax-ts/-/google-sql-syntax-ts-1.0.3.tgz#5d3c63dbc9b7147929a49fa82da02439871f1c20" + integrity sha512-hkO4n1dNS/GIUpSDSBmc7DbEgzFBJWKMJTI0ArHb/qNjveOP1UfAb8wAeBt9WSWkUGlnV2S0/gh+MHx8GCBI2Q== dependencies: monaco-editor "^0.44.0" From 2c80a215699573e008039d113c92b7a33dae25d6 Mon Sep 17 00:00:00 2001 From: Elias Kassell Date: Thu, 23 May 2024 15:46:10 +0000 Subject: [PATCH 3/3] Bump version --- version.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.bzl b/version.bzl index c6080b9de..d3ffe8070 100644 --- a/version.bzl +++ b/version.bzl @@ -1,3 +1,3 @@ # NOTE: If you change the format of this line, you must change the bash command # in /scripts/publish to extract the version string correctly. -DF_VERSION = "3.0.0-beta.5" +DF_VERSION = "3.0.0-beta.6"