diff --git a/.github/workflows/lint-megalinter.yaml b/.github/workflows/lint-megalinter.yaml index 246f82dc8fc9..b0e7070196c6 100644 --- a/.github/workflows/lint-megalinter.yaml +++ b/.github/workflows/lint-megalinter.yaml @@ -55,7 +55,7 @@ jobs: # You can override MegaLinter flavor used to have faster performances # More info at https://megalinter.io/flavors/ - uses: oxsecurity/megalinter@v8.2.0 + uses: oxsecurity/megalinter@v8.3.0 id: ml diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 35a2d424c238..d8b27de7b134 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -27,9 +27,14 @@ jobs: # # Would be better if we could only run when we know we have permissions. But # this will do... + + # 2024-12-09 — this is failing on normal PRs despite clearing the advisories + # in GitHub, and the action is archived. We have the GitHub security audits, + # `prqlc` doesn't cross any trust boundaries, so disabling for the moment. + # We can re-enable if a supported action is available. if: ${{ github.repository_owner == 'prql' && - !github.event.pull_request.head.repo.fork }} + !github.event.pull_request.head.repo.fork && 'run' == 'no' }} permissions: actions: read contents: read @@ -78,7 +83,7 @@ jobs: steps: - name: 📂 Checkout code uses: actions/checkout@v4 - - run: rustup override set nightly-2024-06-30 + - run: rustup override set nightly-2025-01-12 - uses: baptiste0928/cargo-install@v3 with: crate: cargo-udeps diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 4340d073e86b..8fb46bb51cbb 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -537,7 +537,7 @@ jobs: steps: - name: 📂 Checkout code uses: actions/checkout@v4 - - run: rustup override set nightly-2024-06-30 + - run: rustup override set nightly-2025-01-12 - uses: baptiste0928/cargo-install@v3 with: crate: cargo-hack diff --git a/.gitignore b/.gitignore index eff97a2511aa..86f73a9ee1c0 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,5 @@ codecov.json vendor .mypy_cache/ .hypothesis/ +.aider* +.env diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 01bc33960043..abeb5438d57a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,13 +10,13 @@ repos: # rustfmt handles rust files, and in some snapshots we expect trailing spaces. exclude: '.*\.(rs|snap)$' - repo: https://github.com/crate-ci/typos - rev: typos-dict-v0.11.35 + rev: dictgen-v0.3.1 hooks: - id: typos # https://github.com/crate-ci/typos/issues/347 pass_filenames: false - repo: https://github.com/rbubley/mirrors-prettier - rev: v3.3.3 + rev: v3.4.2 hooks: - id: prettier additional_dependencies: @@ -25,13 +25,13 @@ repos: # https://github.com/PRQL/prql/issues/3078 - prettier-plugin-go-template - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.7.4 + rev: v0.8.6 hooks: - id: ruff args: [--fix] - id: ruff-format - repo: https://github.com/pre-commit/mirrors-clang-format - rev: v19.1.3 + rev: v19.1.6 hooks: - id: clang-format types_or: [c, c++] @@ -45,7 +45,7 @@ repos: - id: clippy stages: [manual] - repo: https://github.com/rhysd/actionlint - rev: v1.7.4 + rev: v1.7.6 hooks: - id: actionlint - repo: https://github.com/tcort/markdown-link-check diff --git a/CHANGELOG.md b/CHANGELOG.md index 68fac711d654..c9fb01c5bbaf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ **Fixes**: +- Sort steps in sub-pipelines no longer cause a column lookup error + (@lukapeschke, #5066) + **Documentation**: **Web**: @@ -18,6 +21,8 @@ **New Contributors**: +- @lukapeschke, with #5066 + ## 0.13.2 0.13.2 is a tiny release to fix an issue publishing 0.13.1 to crates.io. @@ -1292,8 +1297,8 @@ below in this release). **Documentation**: -[This release, the changelog only contains a subset of -documentation improvements] +[This release, the changelog only contains a subset of documentation +improvements] - Add docs on aliases in [Select](https://prql-lang.org/book/reference/stdlib/transforms/select.html) diff --git a/Cargo.lock b/Cargo.lock index 3c4116340750..77da2ff462ed 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -80,9 +80,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "ansi-to-html" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d73c455ae09fa2223a75114789f30ad605e9e297f79537953523366c05995f5f" +checksum = "12e283a4fc285735ef99577e81a125f738429516161ac33977e466d0d8d40764" dependencies = [ "regex", "thiserror", @@ -139,9 +139,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.93" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" dependencies = [ "backtrace", ] @@ -333,7 +333,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -432,7 +432,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -488,7 +488,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", "syn_derive", ] @@ -604,9 +604,9 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" [[package]] name = "chrono" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" dependencies = [ "android-tzdata", "iana-time-zone", @@ -748,7 +748,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -1114,7 +1114,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -1125,7 +1125,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -1166,7 +1166,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -1176,7 +1176,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b" dependencies = [ "derive_builder_core", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -1187,7 +1187,7 @@ checksum = "61bb5a1014ce6dfc2a378578509abe775a5aa06bff584a547555d9efdb81b926" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -1257,7 +1257,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -1277,7 +1277,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -1444,7 +1444,7 @@ checksum = "b0fa992f1656e1707946bbba340ad244f0814009ef8c0118eb7b658395f19a2e" dependencies = [ "frunk_proc_macro_helpers", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -1456,7 +1456,7 @@ dependencies = [ "frunk_core", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -1468,7 +1468,7 @@ dependencies = [ "frunk_core", "frunk_proc_macro_helpers", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -1542,7 +1542,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -1622,9 +1622,9 @@ checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "glob" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "globset" @@ -1807,9 +1807,9 @@ checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" [[package]] name = "inotify" -version = "0.9.6" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" +checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc" dependencies = [ "bitflags 1.3.2", "inotify-sys", @@ -1852,6 +1852,15 @@ dependencies = [ "serde_json", ] +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", +] + [[package]] name = "inventory" version = "0.3.15" @@ -1941,10 +1950,11 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.72" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" +checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -2046,9 +2056,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.164" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libdbus-sys" @@ -2191,9 +2201,9 @@ dependencies = [ [[package]] name = "mdbook" -version = "0.4.42" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7624879735513024d323e7267a0b3a7176aceb0db537939beb4ee31d9e8945e3" +checksum = "fe1f98b8d66e537d2f0ba06e7dec4f44001deec539a2d18bfc102d6a86189148" dependencies = [ "anyhow", "chrono", @@ -2302,18 +2312,6 @@ dependencies = [ "adler", ] -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.48.0", -] - [[package]] name = "mio" version = "1.0.1" @@ -2322,6 +2320,7 @@ checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" dependencies = [ "hermit-abi 0.3.9", "libc", + "log", "wasi", "windows-sys 0.52.0", ] @@ -2364,7 +2363,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", "termcolor", "thiserror", ] @@ -2455,21 +2454,30 @@ dependencies = [ [[package]] name = "notify" -version = "6.1.1" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" +checksum = "c533b4c39709f9ba5005d8002048266593c1cfaf3c5f0739d5b8ab0c6c504009" dependencies = [ "bitflags 2.6.0", - "crossbeam-channel", "filetime", "fsevent-sys", "inotify", "kqueue", "libc", "log", - "mio 0.8.11", + "mio", + "notify-types", "walkdir", - "windows-sys 0.48.0", + "windows-sys 0.52.0", +] + +[[package]] +name = "notify-types" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7393c226621f817964ffb3dc5704f9509e107a8b024b489cc2c1b217378785df" +dependencies = [ + "instant", ] [[package]] @@ -2632,7 +2640,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -2735,7 +2743,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -2891,9 +2899,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.87" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -2991,7 +2999,7 @@ name = "prqlc-macros" version = "0.13.3" dependencies = [ "prqlc", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -3126,7 +3134,7 @@ dependencies = [ "proc-macro2", "pyo3-macros-backend", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -3139,7 +3147,7 @@ dependencies = [ "proc-macro2", "pyo3-build-config", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -3222,7 +3230,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -3321,21 +3329,21 @@ dependencies = [ [[package]] name = "rstest" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a2c585be59b6b5dd66a9d2084aa1d8bd52fbdb806eafdeffb52791147862035" +checksum = "03e905296805ab93e13c1ec3a03f4b6c4f35e9498a3d5fa96dc626d22c03cd89" dependencies = [ - "futures", "futures-timer", + "futures-util", "rstest_macros", "rustc_version", ] [[package]] name = "rstest_macros" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "825ea780781b15345a146be27eaefb05085e337e869bff01b4306a4fd4a9ad5a" +checksum = "ef0053bbffce09062bee4bcc499b0fbe7a57b879f1efe088d6d8d4c7adcdef9b" dependencies = [ "cfg-if", "glob", @@ -3345,7 +3353,7 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.87", + "syn 2.0.95", "unicode-ident", ] @@ -3416,9 +3424,9 @@ dependencies = [ [[package]] name = "rustler" -version = "0.35.0" +version = "0.35.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b705f2c3643cc170d8888cb6bad589155d9c0248f3104ef7a04c2b7ffbaf13fc" +checksum = "5a9f6bb374bf0a1431cff92ee6a89e39b9978fa4dbccc4137605be4ed5118779" dependencies = [ "inventory", "libloading", @@ -3428,15 +3436,15 @@ dependencies = [ [[package]] name = "rustler_codegen" -version = "0.35.0" +version = "0.35.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad56caff00562948bd6ac33c18dbc579e5a1bbee2d7f2f54073307e57f6b57a" +checksum = "f7914359a19fff34b2f0e9d4b7d4b02ca5ee597e52804c7472802b25e1ec543e" dependencies = [ "heck 0.5.0", "inventory", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -3520,9 +3528,9 @@ dependencies = [ [[package]] name = "schemars" -version = "1.0.0-alpha.15" +version = "1.0.0-alpha.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1848710f31190edab07d4dfee50b89cb4429a789c4aa9aa07356fbe59c59af52" +checksum = "88ef2a6523400a2228db974a8ddc9e1d3deaa04f51bddd7832ef8d7e531bafcc" dependencies = [ "dyn-clone", "ref-cast", @@ -3533,14 +3541,14 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "1.0.0-alpha.15" +version = "1.0.0-alpha.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09196e95ccdbafef196a660dc9380e322a222c73341162b611f0a8f32cc02375" +checksum = "c6d4e1945a3c9e58edaa708449b026519f7f4197185e1b5dbc689615c1ad724d" dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -3596,31 +3604,31 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.215" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.215" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -3631,14 +3639,14 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] name = "serde_json" -version = "1.0.133" +version = "1.0.134" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" +checksum = "d00f4175c42ee48b15416f6193a959ba3a0d67fc699a0db9ad12df9f83991c7d" dependencies = [ "itoa", "memchr", @@ -3770,9 +3778,9 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] name = "sqlformat" -version = "0.2.6" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bba3a93db0cc4f7bdece8bb09e77e2e785c20bfebf79eb8340ed80708048790" +checksum = "4c50d48fa7e40bc7e5c8249a39be9a4fb874a08b73dd3e0afd9e326176b6bd3b" dependencies = [ "nom", "unicode_categories", @@ -3780,9 +3788,9 @@ dependencies = [ [[package]] name = "sqlparser" -version = "0.51.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fe11944a61da0da3f592e19a45ebe5ab92dc14a779907ff1f08fbb797bfefc7" +checksum = "9a875d8cd437cc8a97e9aeaeea352ec9a19aea99c23e9effb17757291de80b08" dependencies = [ "log", "serde", @@ -3858,7 +3866,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -3871,7 +3879,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -3903,9 +3911,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.87" +version = "2.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" +checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" dependencies = [ "proc-macro2", "quote", @@ -3921,7 +3929,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -3949,12 +3957,13 @@ checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" [[package]] name = "tempfile" -version = "3.14.0" +version = "3.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" +checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" dependencies = [ "cfg-if", "fastrand", + "getrandom", "once_cell", "rustix", "windows-sys 0.59.0", @@ -3987,7 +3996,7 @@ checksum = "5c87c84c1e2198f924fb928d5c775e40aa508e5d6aa62d608f234c0270493d14" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", "unicode-ident", ] @@ -4017,7 +4026,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -4129,14 +4138,14 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.1" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" dependencies = [ "backtrace", "bytes", "libc", - "mio 1.0.1", + "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", @@ -4153,7 +4162,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -4194,9 +4203,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" dependencies = [ "bytes", "futures-core", @@ -4258,7 +4267,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] @@ -4497,9 +4506,9 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c" dependencies = [ "cfg-if", "once_cell", @@ -4508,36 +4517,37 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.45" +version = "0.4.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +checksum = "9dfaf8f50e5f293737ee323940c7d8b08a66a95a419223d9f41610ca08b0833d" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4545,32 +4555,32 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49" [[package]] name = "wasm-bindgen-test" -version = "0.3.45" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d381749acb0943d357dcbd8f0b100640679883fcdeeef04def49daf8d33a5426" +checksum = "3d919bb60ebcecb9160afee6c71b43a58a4f0517a2de0054cd050d02cec08201" dependencies = [ - "console_error_panic_hook", "js-sys", "minicov", + "once_cell", "scoped-tls", "wasm-bindgen", "wasm-bindgen-futures", @@ -4579,20 +4589,20 @@ dependencies = [ [[package]] name = "wasm-bindgen-test-macro" -version = "0.3.45" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c97b2ef2c8d627381e51c071c2ab328eac606d3f69dd82bcbca20a9e389d95f0" +checksum = "222ebde6ea87fbfa6bdd2e9f1fd8a91d60aee5db68792632176c4e16a74fc7d8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c" dependencies = [ "js-sys", "wasm-bindgen", @@ -4930,7 +4940,7 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.87", + "syn 2.0.95", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index eac6d6d83eb4..48a366625d4c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,6 +26,7 @@ rust-version = "1.70.0" version = "0.13.3" [profile.release] +lto = true # Optimize for binary size in releases of all crates, # since compiler is fast enough as it is (for now). opt-level = "s" @@ -45,7 +46,7 @@ allow-branch = ["*"] consolidate-commits = true [workspace.dependencies] -anyhow = "1.0.93" +anyhow = "1.0.95" arrow = { version = "53", features = [ "pyarrow", "prettyprint", @@ -57,10 +58,10 @@ itertools = "0.13.0" log = "0.4.22" pyo3 = { version = "0.22.6", features = ["abi3-py37", "anyhow"] } pyo3-build-config = "0.22.6" -schemars = "1.0.0-alpha.15" -semver = { version = "1.0.23", features = ["serde"] } -serde = { version = "1.0.215", features = ["derive"] } -serde_json = "1.0.133" +schemars = "1.0.0-alpha.17" +semver = { version = "1.0.24", features = ["serde"] } +serde = { version = "1.0.217", features = ["derive"] } +serde_json = "1.0.134" serde_yaml = { version = "0.9.34" } similar = "2.6.0" similar-asserts = "1.6.0" diff --git a/README.md b/README.md index a9835e7761bc..70b5e3701e67 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ We're also spending time thinking about: - Making it really easy to start using PRQL. We're doing that by building integrations with tools that folks already use; for example a VS Code extension, Jupyter integration, and the recent - [qStudio](https://www.timestored.com/qstudio/prql-ide) integration. If there + [QStudio](https://www.timestored.com/qstudio/prql-ide) integration. If there are tools you're familiar with that you think would be open to integrating with PRQL, please let us know in an issue. - Whether all our initial decisions were correct — for example diff --git a/prqlc/bindings/elixir/mix.lock b/prqlc/bindings/elixir/mix.lock index 378a7836ad40..e9652fd1e54b 100644 --- a/prqlc/bindings/elixir/mix.lock +++ b/prqlc/bindings/elixir/mix.lock @@ -1,20 +1,20 @@ %{ "castore": {:hex, :castore, "1.0.8", "dedcf20ea746694647f883590b82d9e96014057aff1d44d03ec90f36a5c0dc6e", [:mix], [], "hexpm", "0b2b66d2ee742cb1d9cb8c8be3b43c3a70ee8651f37b75a8b982e036752983f1"}, - "earmark_parser": {:hex, :earmark_parser, "1.4.41", "ab34711c9dc6212dda44fcd20ecb87ac3f3fce6f0ca2f28d4a00e4154f8cd599", [:mix], [], "hexpm", "a81a04c7e34b6617c2792e291b5a2e57ab316365c2644ddc553bb9ed863ebefa"}, - "ex_doc": {:hex, :ex_doc, "0.35.1", "de804c590d3df2d9d5b8aec77d758b00c814b356119b3d4455e4b8a8687aecaf", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "2121c6402c8d44b05622677b761371a759143b958c6c19f6558ff64d0aed40df"}, + "earmark_parser": {:hex, :earmark_parser, "1.4.42", "f23d856f41919f17cd06a493923a722d87a2d684f143a1e663c04a2b93100682", [:mix], [], "hexpm", "6915b6ca369b5f7346636a2f41c6a6d78b5af419d61a611079189233358b8b8b"}, + "ex_doc": {:hex, :ex_doc, "0.36.1", "4197d034f93e0b89ec79fac56e226107824adcce8d2dd0a26f5ed3a95efc36b1", [:mix], [{:earmark_parser, "~> 1.4.42", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "d7d26a7cf965dacadcd48f9fa7b5953d7d0cfa3b44fa7a65514427da44eafd89"}, "finch": {:hex, :finch, "0.19.0", "c644641491ea854fc5c1bbaef36bfc764e3f08e7185e1f084e35e0672241b76d", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.6.2 or ~> 1.7", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 1.1", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "fc5324ce209125d1e2fa0fcd2634601c52a787aff1cd33ee833664a5af4ea2b6"}, - "hpax": {:hex, :hpax, "1.0.0", "28dcf54509fe2152a3d040e4e3df5b265dcb6cb532029ecbacf4ce52caea3fd2", [:mix], [], "hexpm", "7f1314731d711e2ca5fdc7fd361296593fc2542570b3105595bb0bc6d0fad601"}, + "hpax": {:hex, :hpax, "1.0.1", "c857057f89e8bd71d97d9042e009df2a42705d6d690d54eca84c8b29af0787b0", [:mix], [], "hexpm", "4e2d5a4f76ae1e3048f35ae7adb1641c36265510a2d4638157fbcb53dda38445"}, "jason": {:hex, :jason, "1.4.4", "b9226785a9aa77b6857ca22832cffa5d5011a667207eb2a0ad56adb5db443b8a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "c5eb0cab91f094599f94d55bc63409236a8ec69a21a67814529e8d5f6cc90b3b"}, "makeup": {:hex, :makeup, "1.2.1", "e90ac1c65589ef354378def3ba19d401e739ee7ee06fb47f94c687016e3713d1", [:mix], [{:nimble_parsec, "~> 1.4", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "d36484867b0bae0fea568d10131197a4c2e47056a6fbe84922bf6ba71c8d17ce"}, - "makeup_elixir": {:hex, :makeup_elixir, "1.0.0", "74bb8348c9b3a51d5c589bf5aebb0466a84b33274150e3b6ece1da45584afc82", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "49159b7d7d999e836bedaf09dcf35ca18b312230cf901b725a64f3f42e407983"}, + "makeup_elixir": {:hex, :makeup_elixir, "1.0.1", "e928a4f984e795e41e3abd27bfc09f51db16ab8ba1aebdba2b3a575437efafc2", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "7284900d412a3e5cfd97fdaed4f5ed389b8f2b4cb49efc0eb3bd10e2febf9507"}, "makeup_erlang": {:hex, :makeup_erlang, "1.0.1", "c7f58c120b2b5aa5fd80d540a89fdf866ed42f1f3994e4fe189abebeab610839", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "8a89a1eeccc2d798d6ea15496a6e4870b75e014d1af514b1b71fa33134f57814"}, "mime": {:hex, :mime, "2.0.6", "8f18486773d9b15f95f4f4f1e39b710045fa1de891fada4516559967276e4dc2", [:mix], [], "hexpm", "c9945363a6b26d747389aac3643f8e0e09d30499a138ad64fe8fd1d13d9b153e"}, "mint": {:hex, :mint, "1.6.2", "af6d97a4051eee4f05b5500671d47c3a67dac7386045d87a904126fd4bbcea2e", [:mix], [{:castore, "~> 0.1.0 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:hpax, "~> 0.1.1 or ~> 0.2.0 or ~> 1.0", [hex: :hpax, repo: "hexpm", optional: false]}], "hexpm", "5ee441dffc1892f1ae59127f74afe8fd82fda6587794278d924e4d90ea3d63f9"}, "nimble_options": {:hex, :nimble_options, "1.1.1", "e3a492d54d85fc3fd7c5baf411d9d2852922f66e69476317787a7b2bb000a61b", [:mix], [], "hexpm", "821b2470ca9442c4b6984882fe9bb0389371b8ddec4d45a9504f00a66f650b44"}, "nimble_parsec": {:hex, :nimble_parsec, "1.4.0", "51f9b613ea62cfa97b25ccc2c1b4216e81df970acd8e16e8d1bdc58fef21370d", [:mix], [], "hexpm", "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"}, "nimble_pool": {:hex, :nimble_pool, "1.1.0", "bf9c29fbdcba3564a8b800d1eeb5a3c58f36e1e11d7b7fb2e084a643f645f06b", [:mix], [], "hexpm", "af2e4e6b34197db81f7aad230c1118eac993acc0dae6bc83bac0126d4ae0813a"}, - "req": {:hex, :req, "0.5.6", "8fe1eead4a085510fe3d51ad854ca8f20a622aae46e97b302f499dfb84f726ac", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.17", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 2.0.6 or ~> 2.1", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "cfaa8e720945d46654853de39d368f40362c2641c4b2153c886418914b372185"}, - "rustler": {:hex, :rustler, "0.35.0", "1e2e379e1150fab9982454973c74ac9899bd0377b3882166ee04127ea613b2d9", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:req, "~> 0.5", [hex: :req, repo: "hexpm", optional: false]}, {:toml, "~> 0.6", [hex: :toml, repo: "hexpm", optional: false]}], "hexpm", "a176bea1bb6711474f9dfad282066f2b7392e246459bf4e29dfff6d828779fdf"}, + "req": {:hex, :req, "0.5.8", "50d8d65279d6e343a5e46980ac2a70e97136182950833a1968b371e753f6a662", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.17", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 2.0.6 or ~> 2.1", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "d7fc5898a566477e174f26887821a3c5082b243885520ee4b45555f5d53f40ef"}, + "rustler": {:hex, :rustler, "0.35.1", "ec81961ef9ee833d721dafb4449cab29b16b969a3063a842bb9e3ea912f6b938", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:req, "~> 0.5", [hex: :req, repo: "hexpm", optional: false]}, {:toml, "~> 0.6", [hex: :toml, repo: "hexpm", optional: false]}], "hexpm", "3713b2e70e68ec2bfa8291dfd9cb811fe64a770f254cd9c331f8b34fa7989115"}, "telemetry": {:hex, :telemetry, "1.3.0", "fedebbae410d715cf8e7062c96a1ef32ec22e764197f70cda73d82778d61e7a2", [:rebar3], [], "hexpm", "7015fc8919dbe63764f4b4b87a95b7c0996bd539e0d499be6ec9d7f3875b79e6"}, "toml": {:hex, :toml, "0.7.0", "fbcd773caa937d0c7a02c301a1feea25612720ac3fa1ccb8bfd9d30d822911de", [:mix], [], "hexpm", "0690246a2478c1defd100b0c9b89b4ea280a22be9a7b313a8a058a2408a2fa70"}, } diff --git a/prqlc/bindings/elixir/native/prql/Cargo.toml b/prqlc/bindings/elixir/native/prql/Cargo.toml index 9e4641e2696c..fa060b825d61 100644 --- a/prqlc/bindings/elixir/native/prql/Cargo.toml +++ b/prqlc/bindings/elixir/native/prql/Cargo.toml @@ -22,4 +22,4 @@ test = false # See Readme for details on Mac [target.'cfg(not(any(target_family="wasm", target_os = "macos")))'.dependencies] prqlc = {path = "../../../../prqlc", default-features = false, version = "0.13.3" } -rustler = "0.35.0" +rustler = "0.35.1" diff --git a/prqlc/bindings/js/Cargo.toml b/prqlc/bindings/js/Cargo.toml index 955f5d9960ed..95cd87363b05 100644 --- a/prqlc/bindings/js/Cargo.toml +++ b/prqlc/bindings/js/Cargo.toml @@ -21,7 +21,7 @@ default = ["console_error_panic_hook"] [target.'cfg(target_family="wasm")'.dependencies] prqlc = {path = "../../prqlc", default-features = false} -wasm-bindgen = "0.2.95" +wasm-bindgen = "0.2.97" # The `console_error_panic_hook` crate provides better debugging of panics by # logging them with `console.error`. While the docs state that "This is great @@ -36,7 +36,7 @@ wasm-bindgen = "0.2.95" console_error_panic_hook = {version = "0.1.7", optional = true} [target.'cfg(target_family="wasm")'.dev-dependencies] -wasm-bindgen-test = "0.3.45" +wasm-bindgen-test = "0.3.47" [package.metadata.cargo-udeps.ignore] development = ["wasm-bindgen-test"] diff --git a/prqlc/bindings/js/package-lock.json b/prqlc/bindings/js/package-lock.json index 4914edb26a97..7f5c7de82d96 100644 --- a/prqlc/bindings/js/package-lock.json +++ b/prqlc/bindings/js/package-lock.json @@ -11,7 +11,121 @@ "devDependencies": { "chai": "^5.0.0", "cross-env": "^7.0.3", - "mocha": "^10.3.0" + "mocha": "^11.0.1" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" } }, "node_modules/ansi-colors": { @@ -79,7 +193,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/binary-extensions": { "version": "2.2.0", @@ -95,6 +210,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -323,6 +439,13 @@ "node": ">=0.3.1" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -387,11 +510,22 @@ "flat": "cli.js" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/fsevents": { "version": "2.3.2", @@ -426,19 +560,21 @@ } }, "node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, + "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">=12" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -456,6 +592,22 @@ "node": ">= 6" } }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -474,22 +626,6 @@ "he": "bin/he" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -568,6 +704,22 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -620,11 +772,19 @@ "get-func-name": "^2.0.1" } }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, "node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -632,11 +792,22 @@ "node": ">=10" } }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/mocha": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", - "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.0.1.tgz", + "integrity": "sha512-+3GkODfsDG71KSCQhc4IekSW+ItCK/kiez1Z28ksWvYhKXV/syxMlerR/sC7whDp7IyreZ4YxceMLdTs5hQE8A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-colors": "^4.1.3", "browser-stdout": "^1.3.1", @@ -645,7 +816,7 @@ "diff": "^5.2.0", "escape-string-regexp": "^4.0.0", "find-up": "^5.0.0", - "glob": "^8.1.0", + "glob": "^10.4.5", "he": "^1.2.0", "js-yaml": "^4.1.0", "log-symbols": "^4.1.0", @@ -664,7 +835,7 @@ "mocha": "bin/mocha.js" }, "engines": { - "node": ">= 14.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/ms": { @@ -682,15 +853,6 @@ "node": ">=0.10.0" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -721,6 +883,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -739,6 +908,23 @@ "node": ">=8" } }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/pathval": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", @@ -840,6 +1026,19 @@ "node": ">=8" } }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -854,6 +1053,22 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -866,6 +1081,20 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -943,11 +1172,24 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } }, "node_modules/y18n": { "version": "5.0.8", diff --git a/prqlc/bindings/js/package.json b/prqlc/bindings/js/package.json index aa34db939f98..08b900a98f0a 100644 --- a/prqlc/bindings/js/package.json +++ b/prqlc/bindings/js/package.json @@ -3,7 +3,7 @@ "description": "JavaScript bindings for prqlc", "devDependencies": { "chai": "^5.0.0", - "mocha": "^10.3.0", + "mocha": "^11.0.1", "cross-env": "^7.0.3" }, "files": [ diff --git a/prqlc/bindings/prqlc-c/Cargo.toml b/prqlc/bindings/prqlc-c/Cargo.toml index aa5499c148ce..b925662d93e4 100644 --- a/prqlc/bindings/prqlc-c/Cargo.toml +++ b/prqlc/bindings/prqlc-c/Cargo.toml @@ -23,7 +23,7 @@ doctest = false test = false [dependencies] -libc = "0.2.164" +libc = "0.2.169" prqlc = {path = "../../prqlc", default-features = false} serde_json = {workspace = true} diff --git a/prqlc/bindings/prqlc-python/pyproject.toml b/prqlc/bindings/prqlc-python/pyproject.toml index 0fa8fb2a6881..55a419fc2912 100644 --- a/prqlc/bindings/prqlc-python/pyproject.toml +++ b/prqlc/bindings/prqlc-python/pyproject.toml @@ -29,7 +29,7 @@ python-source = "python" [project.optional-dependencies] dev = [ "pytest >= 7", - "mypy == 1.13.0", + "mypy == 1.14.0", ] [tool.ruff] diff --git a/prqlc/prqlc-macros/Cargo.toml b/prqlc/prqlc-macros/Cargo.toml index aa7556c7034c..2e2b3d8cfa3b 100644 --- a/prqlc/prqlc-macros/Cargo.toml +++ b/prqlc/prqlc-macros/Cargo.toml @@ -16,7 +16,7 @@ test = false [dependencies] prqlc = {path = "../prqlc", default-features = false, version = "0.13.3" } -syn = "2.0.87" +syn = "2.0.95" [package.metadata.release] tag-name = "{{version}}" diff --git a/prqlc/prqlc-parser/Cargo.toml b/prqlc/prqlc-parser/Cargo.toml index 084ad035db5e..74a3142d71cf 100644 --- a/prqlc/prqlc-parser/Cargo.toml +++ b/prqlc/prqlc-parser/Cargo.toml @@ -17,7 +17,7 @@ enum-as-inner = {workspace = true} itertools = {workspace = true} log = {workspace = true} schemars = {workspace = true} -semver = {version = "1.0.23", features = ["serde"]} +semver = {version = "1.0.24", features = ["serde"]} serde = {workspace = true} serde_yaml = {workspace = true, optional = true} strum = {version = "0.26.3", features = ["std", "derive"]} diff --git a/prqlc/prqlc-parser/src/parser/mod.rs b/prqlc/prqlc-parser/src/parser/mod.rs index ef572c640958..f28ebff71fed 100644 --- a/prqlc/prqlc-parser/src/parser/mod.rs +++ b/prqlc/prqlc-parser/src/parser/mod.rs @@ -198,13 +198,15 @@ mod tests { "#); } + #[cfg(test)] + impl SupportsDocComment for String { + fn with_doc_comment(self, _doc_comment: Option) -> Self { + self + } + } + #[test] fn test_no_doc_comment_in_with_doc_comment() { - impl SupportsDocComment for String { - fn with_doc_comment(self, _doc_comment: Option) -> Self { - self - } - } assert_debug_snapshot!(parse_with_parser(r#"hello"#, with_doc_comment(new_line().ignore_then(ident_part()))).unwrap(), @r#""hello""#); } } diff --git a/prqlc/prqlc-parser/src/span.rs b/prqlc/prqlc-parser/src/span.rs index 6d75819303e3..7dcce0c92180 100644 --- a/prqlc/prqlc-parser/src/span.rs +++ b/prqlc/prqlc-parser/src/span.rs @@ -57,7 +57,7 @@ impl<'de> Deserialize<'de> for Span { { struct SpanVisitor {} - impl<'de> Visitor<'de> for SpanVisitor { + impl Visitor<'_> for SpanVisitor { type Value = Span; fn expecting(&self, f: &mut fmt::Formatter) -> fmt::Result { diff --git a/prqlc/prqlc/Cargo.toml b/prqlc/prqlc/Cargo.toml index 6f06772b2704..9f281f6695e0 100644 --- a/prqlc/prqlc/Cargo.toml +++ b/prqlc/prqlc/Cargo.toml @@ -56,7 +56,7 @@ prqlc-parser = { path = "../prqlc-parser", version = "0.13.3" } anstream = { version = "0.6.18", features = ["auto"] } ariadne = "0.4.1" -chrono = "0.4.38" +chrono = "0.4.39" csv = "1.3.1" enum-as-inner = { workspace = true } itertools = { workspace = true } @@ -69,8 +69,8 @@ semver = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } serde_yaml = { workspace = true, optional = true } -sqlformat = "0.2.6" -sqlparser = { version = "0.51.0", features = ["serde"] } +sqlformat = "0.3.3" +sqlparser = { version = "0.52.0", features = ["serde"] } strum = { version = "0.26.3", features = ["std", "derive"] } strum_macros = "0.26.4" @@ -81,7 +81,7 @@ vergen-gitcl = { version = "1.0.0", features = ["build"] } # unique dependencies from the CLI, marked as optional and included in the 'cli' # feature -anyhow = { version = "1.0.93", features = ["backtrace"], optional = true } +anyhow = { version = "1.0.95", features = ["backtrace"], optional = true } clap = { version = "4.4.18", features = [ "derive", "env", @@ -92,7 +92,7 @@ clio = { version = "0.3.3", features = ['clap-parse'], optional = true } color-eyre = { version = "0.6.3", optional = true } colorchoice-clap = { version = "1.0.0", optional = true } is-terminal = { version = "0.4.13", optional = true } -notify = { version = "6.1.1", optional = true } +notify = { version = "7.0.0", optional = true } walkdir = { version = "2.5.0", optional = true } # We use minijinja just for the Jinja lexer, which is not part of the @@ -123,20 +123,20 @@ tiberius = { version = "0.12.3", optional = true, default-features = false, feat "rustls", "tds73", ] } -tokio = { version = "1.41.1", optional = true, features = ["full"] } -tokio-util = { version = "0.7.12", optional = true, features = ["compat"] } +tokio = { version = "1.42.0", optional = true, features = ["full"] } +tokio-util = { version = "0.7.13", optional = true, features = ["compat"] } [dev-dependencies] # default-features=false required to allow wasm compilation (which we don't use # for benchmarks but simplifies the code) criterion = { version = "0.5.1", default-features = false } -glob = { version = "0.3.1" } +glob = { version = "0.3.2" } insta = { workspace = true } insta-cmd = { workspace = true } -rstest = "0.23.0" +rstest = "0.24.0" similar = { workspace = true } similar-asserts = { workspace = true } -tempfile = { version = "3.14.0" } +tempfile = { version = "3.15.0" } test_each_file = "0.3.4" # We use `benches/bench.rs` for the benchmark harness so disable searching for diff --git a/prqlc/prqlc/src/codegen/mod.rs b/prqlc/prqlc/src/codegen/mod.rs index 3ca401ed70f6..b69d349498a5 100644 --- a/prqlc/prqlc/src/codegen/mod.rs +++ b/prqlc/prqlc/src/codegen/mod.rs @@ -149,7 +149,7 @@ struct SeparatedExprs<'a, T: WriteSource> { line_end: &'static str, } -impl<'a, T: WriteSource> WriteSource for SeparatedExprs<'a, T> { +impl WriteSource for SeparatedExprs<'_, T> { fn write(&self, mut opt: WriteOpt) -> Option { // try inline if let Some(inline) = self.write_inline(opt.clone()) { @@ -180,7 +180,7 @@ impl<'a, T: WriteSource> WriteSource for SeparatedExprs<'a, T> { } } -impl<'a, T: WriteSource> SeparatedExprs<'a, T> { +impl SeparatedExprs<'_, T> { fn write_inline(&self, mut opt: WriteOpt) -> Option { let mut exprs = Vec::new(); for expr in self.exprs { diff --git a/prqlc/prqlc/src/error_message.rs b/prqlc/prqlc/src/error_message.rs index 8671304bcd7b..7f519b2068b6 100644 --- a/prqlc/prqlc/src/error_message.rs +++ b/prqlc/prqlc/src/error_message.rs @@ -220,7 +220,7 @@ impl<'a> FileTreeCache<'a> { } } -impl<'a> Cache for FileTreeCache<'a> { +impl Cache for FileTreeCache<'_> { type Storage = String; fn fetch(&mut self, id: &PathBuf) -> Result<&Source, Box> { let file_contents = match self.file_tree.sources.get(id) { diff --git a/prqlc/prqlc/src/ir/decl.rs b/prqlc/prqlc/src/ir/decl.rs index fc6c940862fe..a859af7881f8 100644 --- a/prqlc/prqlc/src/ir/decl.rs +++ b/prqlc/prqlc/src/ir/decl.rs @@ -148,7 +148,7 @@ impl std::fmt::Debug for Module { struct DebugNames<'a>(&'a HashMap); -impl<'a> std::fmt::Debug for DebugNames<'a> { +impl std::fmt::Debug for DebugNames<'_> { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let mut dm = f.debug_map(); for (n, decl) in self.0.iter().sorted_by_key(|x| x.0) { diff --git a/prqlc/prqlc/src/semantic/reporting.rs b/prqlc/prqlc/src/semantic/reporting.rs index 472bb883c179..039e2145afe1 100644 --- a/prqlc/prqlc/src/semantic/reporting.rs +++ b/prqlc/prqlc/src/semantic/reporting.rs @@ -41,7 +41,7 @@ struct Labeler<'a> { report: &'a mut ReportBuilder<'static, (String, Range)>, } -impl<'a> Labeler<'a> { +impl Labeler<'_> { fn label_module(&mut self, module: &Module) { for (_, decl) in module.names.iter() { if let DeclKind::TableDecl(TableDecl { @@ -67,7 +67,7 @@ impl<'a> Labeler<'a> { } } -impl<'a> pl::PlFold for Labeler<'a> { +impl pl::PlFold for Labeler<'_> { fn fold_expr(&mut self, node: pl::Expr) -> Result { if let Some(ident) = node.kind.as_ident() { if let Some(span) = node.span { diff --git a/prqlc/prqlc/src/semantic/resolver/flatten.rs b/prqlc/prqlc/src/semantic/resolver/flatten.rs index 7c9afb00a4f9..b96827adc67c 100644 --- a/prqlc/prqlc/src/semantic/resolver/flatten.rs +++ b/prqlc/prqlc/src/semantic/resolver/flatten.rs @@ -131,12 +131,31 @@ impl PlFold for Flattener { kind => (self.fold_expr(*t.input)?, fold_transform_kind(self, kind)?), }; + // In case we're appending or joining another pipeline, we do not want to apply the + // sub-pipeline's sort, as it may result in column lookup errors. Without this, we + // would try to join on `album_id` in the outer pipeline of the following query, but + // the column does not exist + // + // from artists + // join side:left ( + // from albums + // sort {`album_id`} + // derive {`album_name` = `name`} + // select {`artist_id`, `album_name`} + // ) (this.id == that.artist_id) + let sort = if matches!(kind, TransformKind::Join { .. } | TransformKind::Append(_)) + { + vec![] + } else { + self.sort.clone() + }; + ExprKind::TransformCall(TransformCall { input: Box::new(input), kind: Box::new(kind), partition: self.partition.clone(), frame: self.window.clone(), - sort: self.sort.clone(), + sort, }) } kind => self.fold_expr_kind(kind)?, diff --git a/prqlc/prqlc/src/sql/gen_query.rs b/prqlc/prqlc/src/sql/gen_query.rs index 1d999ef277ef..8fb7c57a08dd 100644 --- a/prqlc/prqlc/src/sql/gen_query.rs +++ b/prqlc/prqlc/src/sql/gen_query.rs @@ -582,6 +582,7 @@ fn default_select() -> Select { Select { distinct: None, top: None, + top_before_distinct: false, projection: Vec::new(), into: None, from: Vec::new(), diff --git a/prqlc/prqlc/src/sql/mod.rs b/prqlc/prqlc/src/sql/mod.rs index ac0bcd630d51..7d48988efbda 100644 --- a/prqlc/prqlc/src/sql/mod.rs +++ b/prqlc/prqlc/src/sql/mod.rs @@ -31,7 +31,7 @@ pub fn compile(query: rq::RelationalQuery, options: &Options) -> Result let formatted = sqlformat::format( &sql, &sqlformat::QueryParams::default(), - sqlformat::FormatOptions::default(), + &sqlformat::FormatOptions::default(), ); formatted + "\n" diff --git a/prqlc/prqlc/src/sql/pq/anchor.rs b/prqlc/prqlc/src/sql/pq/anchor.rs index 29537046d085..cb6bc559f51a 100644 --- a/prqlc/prqlc/src/sql/pq/anchor.rs +++ b/prqlc/prqlc/src/sql/pq/anchor.rs @@ -649,7 +649,7 @@ impl<'a> CidRedirector<'a> { } } -impl<'a> RqFold for CidRedirector<'a> { +impl RqFold for CidRedirector<'_> { fn fold_cid(&mut self, cid: CId) -> Result { Ok(self.cid_redirects.get(&cid).cloned().unwrap_or(cid)) } @@ -666,7 +666,7 @@ impl<'a> RqFold for CidRedirector<'a> { } } -impl<'a> PqMapper for CidRedirector<'a> { +impl PqMapper for CidRedirector<'_> { fn fold_rel(&mut self, rel: RIId) -> Result { Ok(rel) } diff --git a/prqlc/prqlc/src/sql/pq/context.rs b/prqlc/prqlc/src/sql/pq/context.rs index 9089bb668553..0c1c28418e7c 100644 --- a/prqlc/prqlc/src/sql/pq/context.rs +++ b/prqlc/prqlc/src/sql/pq/context.rs @@ -135,8 +135,8 @@ impl AnchorContext { QueryLoader::load(context, query) } - /// Generates a new ID and name for a wildcard column and registers it in the - /// AnchorContext's column_decls HashMap. + // /// Generates a new ID and name for a wildcard column and registers it in the + // /// AnchorContext's column_decls HashMap. // pub fn register_wildcard(&mut self, riid: RIId) -> CId { // let id = self.cid.gen(); // let kind = ColumnDecl::RelationColumn(riid, id, RelationColumn::Wildcard); @@ -240,7 +240,7 @@ impl AnchorContext { } } - /// Returns a set of all columns of all tables in a pipeline + // /// Returns a set of all columns of all tables in a pipeline // pub(super) fn collect_pipeline_inputs( // &self, // pipeline: &[SqlTransform], diff --git a/prqlc/prqlc/src/sql/pq/gen_query.rs b/prqlc/prqlc/src/sql/pq/gen_query.rs index c79fb621cade..bf7a94c503f7 100644 --- a/prqlc/prqlc/src/sql/pq/gen_query.rs +++ b/prqlc/prqlc/src/sql/pq/gen_query.rs @@ -125,9 +125,9 @@ struct TransformCompiler<'a> { ctx: &'a mut Context, } -impl<'a> RqFold for TransformCompiler<'a> {} +impl RqFold for TransformCompiler<'_> {} -impl<'a> PqMapper for TransformCompiler<'a> { +impl PqMapper for TransformCompiler<'_> { fn fold_rel(&mut self, rel: RIId) -> Result { compile_relation_instance(rel, self.ctx) } diff --git a/prqlc/prqlc/src/sql/pq/postprocess.rs b/prqlc/prqlc/src/sql/pq/postprocess.rs index 42a033f42818..fd617e2c073c 100644 --- a/prqlc/prqlc/src/sql/pq/postprocess.rs +++ b/prqlc/prqlc/src/sql/pq/postprocess.rs @@ -44,9 +44,9 @@ struct CteSorting { has_been_used: bool, } -impl<'a> RqFold for SortingInference<'a> {} +impl RqFold for SortingInference<'_> {} -impl<'a> PqFold for SortingInference<'a> { +impl PqFold for SortingInference<'_> { fn fold_sql_query(&mut self, query: SqlQuery) -> Result { let mut ctes = Vec::with_capacity(query.ctes.len()); for cte in query.ctes { @@ -102,7 +102,7 @@ impl<'a> PqFold for SortingInference<'a> { } } -impl<'a> PqMapper for SortingInference<'a> { +impl PqMapper for SortingInference<'_> { fn fold_rel(&mut self, rel: RelationExpr) -> Result { Ok(rel) } @@ -200,9 +200,9 @@ struct RelVarNameAssigner<'a> { ctx: &'a mut Context, } -impl<'a> RqFold for RelVarNameAssigner<'a> {} +impl RqFold for RelVarNameAssigner<'_> {} -impl<'a> PqFold for RelVarNameAssigner<'a> { +impl PqFold for RelVarNameAssigner<'_> { fn fold_sql_relation(&mut self, relation: SqlRelation) -> Result { // only fold AtomicPipelines Ok(match relation { @@ -221,7 +221,7 @@ impl<'a> PqFold for RelVarNameAssigner<'a> { } } -impl<'a> PqMapper for RelVarNameAssigner<'a> { +impl PqMapper for RelVarNameAssigner<'_> { fn fold_rel(&mut self, mut rel: RelationExpr) -> Result { // normal fold rel.kind = match rel.kind { diff --git a/prqlc/prqlc/tests/integration/sql.rs b/prqlc/prqlc/tests/integration/sql.rs index 8d86aa36074e..098f6640aca4 100644 --- a/prqlc/prqlc/tests/integration/sql.rs +++ b/prqlc/prqlc/tests/integration/sql.rs @@ -885,6 +885,89 @@ fn test_intersect_07() { ); } +#[test] +fn test_sort_in_nested_join() { + assert_snapshot!(compile(r#" + from albums + join side:left ( + from artists + sort {-`artist-id`} + take 10 + ) (this.artist_id == that.artist_id) | take 10 + "#).unwrap(), + @r#" + WITH table_0 AS ( + SELECT + * + FROM + artists + ORDER BY + "artist-id" DESC + LIMIT + 10 + ) + SELECT + albums.*, + table_0.* + FROM + albums + LEFT JOIN table_0 ON albums.artist_id = table_0.artist_id + LIMIT + 10 + "# + ); +} + +#[test] +fn test_sort_in_nested_append() { + assert_snapshot!(compile(r#" + from `albums` + select { `album_id`, `title` } + sort {+`album_id`} + take 2 + append ( + from `albums` + select { `album_id`, `title` } + sort {-`album_id`} + take 2 + ) + "#).unwrap(), + @r#" + WITH table_0 AS ( + SELECT + album_id, + title + FROM + albums + ORDER BY + album_id DESC + LIMIT + 2 + ) + SELECT + * + FROM + ( + SELECT + album_id, + title + FROM + albums + ORDER BY + album_id + LIMIT + 2 + ) AS table_1 + UNION + ALL + SELECT + * + FROM + table_0 + "# + ); +} + #[test] fn test_rn_ids_are_unique() { // this is wrong, output will have duplicate y_id and x_id diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 9987514514fe..5d865004fbe6 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,6 +1,6 @@ [toolchain] # Generally run 1 behind latest -channel = "1.81.0" +channel = "1.83.0" components = ["rustfmt", "clippy"] # We want two targets: wasm32, and the default target for the platform, which we # don't list here. (i.e. we use each platform to test each platform) diff --git a/web/book/Cargo.toml b/web/book/Cargo.toml index ef9683544c1d..124133f55565 100644 --- a/web/book/Cargo.toml +++ b/web/book/Cargo.toml @@ -18,10 +18,10 @@ name = "mdbook-prql" test = false [target.'cfg(not(target_family="wasm"))'.dependencies] -ansi-to-html = "0.2.1" +ansi-to-html = "0.2.2" anyhow = {workspace = true} itertools = {workspace = true} -mdbook = {version = "0.4.42", default-features = false} +mdbook = {version = "0.4.43", default-features = false} mdbook-preprocessor-boilerplate = "0.1.2" prqlc = {path = "../../prqlc/prqlc", default-features = false} pulldown-cmark = {version = "0.10.3", default-features = false} diff --git a/web/book/src/SUMMARY.md b/web/book/src/SUMMARY.md index 8b97c0f02c12..8f860505f94c 100644 --- a/web/book/src/SUMMARY.md +++ b/web/book/src/SUMMARY.md @@ -107,7 +107,7 @@ General information about the project, tooling and development. - [ClickHouse](./project/integrations/clickhouse.md) - [Jupyter](./project/integrations/jupyter.md) - [DuckDB](./project/integrations/duckdb.md) - - [qStudio](./project/integrations/qstudio.md) + - [QStudio](./project/integrations/qstudio.md) - [Prefect](./project/integrations/prefect.md) - [VS Code](./project/integrations/vscode.md) - [PostgreSQL](./project/integrations/postgresql.md) diff --git a/web/book/src/project/contributing/development.md b/web/book/src/project/contributing/development.md index 48e89d05755c..6e572fb03792 100644 --- a/web/book/src/project/contributing/development.md +++ b/web/book/src/project/contributing/development.md @@ -7,7 +7,8 @@ editing, and testing PRQL's compiler code in two minutes: - Install [`rustup` & `cargo`](https://doc.rust-lang.org/cargo/getting-started/installation.html). -- [Optional but highly recommended] Install `cargo-insta`, our testing framework: +- [Optional but highly recommended] Install `cargo-insta`, our testing + framework: ```sh cargo install cargo-insta diff --git a/web/book/src/project/integrations/README.md b/web/book/src/project/integrations/README.md index 328772eeba7b..c91df38f66ab 100644 --- a/web/book/src/project/integrations/README.md +++ b/web/book/src/project/integrations/README.md @@ -6,7 +6,7 @@ PRQL is building integrations with lots of external tools, including: - [ClickHouse](./clickhouse.md) - [Jupyter](./jupyter.md) - [DuckDB](./duckdb.md) -- [qStudio](./qstudio.md) +- [QStudio](./qstudio.md) - [Prefect](./prefect.md) - [VS Code](./vscode.md) - [PostgreSQL](./postgresql.md) diff --git a/web/book/src/project/integrations/qstudio.md b/web/book/src/project/integrations/qstudio.md index 2789e665517f..434e64ab7a50 100644 --- a/web/book/src/project/integrations/qstudio.md +++ b/web/book/src/project/integrations/qstudio.md @@ -1,17 +1,20 @@ -# qStudio IDE +# QStudio IDE -[qStudio](https://www.timestored.com/qstudio/prql-ide) is a SQL GUI that lets -you browse tables, run SQL scripts, and chart and export the results. qStudio +[QStudio](https://www.timestored.com/qstudio/prql-ide) is a SQL GUI that lets +you browse tables, run SQL scripts, and chart and export the results. QStudio runs on Windows, macOS and Linux, and works with every popular database including mysql, postgresql, mssql, kdb.... ```admonish note -qStudio relies on the PRQL compiler. You must ensure that `prqlc` is in your path. See the [installation instructions](https://prql-lang.org/book/project/integrations/prqlc-cli.html#installation) for `prqlc` in the PRQL reference guide for details. +QStudio relies on the PRQL compiler. You must ensure that `prqlc` is in your path. See the [installation instructions](https://prql-lang.org/book/project/integrations/prqlc-cli.html#installation) for `prqlc` in the PRQL reference guide for details. ``` -qStudio calls `prqlc` (the PRQL compiler) to generate SQL code from PRQL queries +QStudio calls `prqlc` (the PRQL compiler) to generate SQL code from PRQL queries (.prql files) then runs the SQL against the selected database to display the results. For more details, check out: -- [qStudio site](https://www.timestored.com/qstudio/prql-ide) -- [qStudio-PRQL Quick Start](https://github.com/richb-hanover/qStudio-PRQL_Quick_Start) +- [QStudio site](https://www.timestored.com/qstudio/prql-ide) +- [QStudio-PRQL Quick Start](https://github.com/richb-hanover/qStudio-PRQL_Quick_Start) +- There is a + [double-clickable macOS app](https://randomneuronsfiring.com/wp-content/uploads/QStudio.zip) + that bundles QStudio and the `prqlc` compiler. diff --git a/web/playground/package-lock.json b/web/playground/package-lock.json index 248ccd845951..a82ba967487f 100644 --- a/web/playground/package-lock.json +++ b/web/playground/package-lock.json @@ -11,7 +11,7 @@ "@duckdb/duckdb-wasm": "^1.29.0", "@monaco-editor/react": "^4.6.0", "@testing-library/jest-dom": "^6.6.0", - "@testing-library/react": "^16.0.0", + "@testing-library/react": "^16.1.0", "@testing-library/user-event": "^14.5.0", "monaco-editor": "^0.52.0", "prqlc": "file:../../prqlc/bindings/js", @@ -19,13 +19,13 @@ "react-dom": "^18.3.0", "react-syntax-highlighter": "^15.6.1", "web-vitals": "^4.2.0", - "yaml": "^2.6.0" + "yaml": "^2.7.0" }, "devDependencies": { "@babel/plugin-proposal-private-property-in-object": "^7.21.11", "@vitejs/plugin-react": "^4.3.0", "vite": "^5.4.6", - "vite-plugin-wasm": "^3.3.0" + "vite-plugin-wasm": "^3.4.1" } }, "../../prqlc/bindings/js": { @@ -35,7 +35,7 @@ "devDependencies": { "chai": "^5.0.0", "cross-env": "^7.0.3", - "mocha": "^10.3.0" + "mocha": "^11.0.1" } }, "node_modules/@adobe/css-tools": { @@ -1432,9 +1432,10 @@ "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==" }, "node_modules/@testing-library/react": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.0.0.tgz", - "integrity": "sha512-guuxUKRWQ+FgNX0h0NS0FIq3Q3uLtWVpBzcLOggmfMoUpgBnzBzvLLd4fbm6yS8ydJd94cIfY4yP9qUQjM2KwQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.1.0.tgz", + "integrity": "sha512-Q2ToPvg0KsVL0ohND9A3zLJWcOXXcO8IDu3fj11KhNt0UlCWyFyvnCIBkd12tidB2lkiVRG8VFqdhcqhqnAQtg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5" }, @@ -1443,10 +1444,10 @@ }, "peerDependencies": { "@testing-library/dom": "^10.0.0", - "@types/react": "^18.0.0", - "@types/react-dom": "^18.0.0", - "react": "^18.0.0", - "react-dom": "^18.0.0" + "@types/react": "^18.0.0 || ^19.0.0", + "@types/react-dom": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -2927,12 +2928,12 @@ } }, "node_modules/vite-plugin-wasm": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/vite-plugin-wasm/-/vite-plugin-wasm-3.3.0.tgz", - "integrity": "sha512-tVhz6w+W9MVsOCHzxo6SSMSswCeIw4HTrXEi6qL3IRzATl83jl09JVO1djBqPSwfjgnpVHNLYcaMbaDX5WB/pg==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/vite-plugin-wasm/-/vite-plugin-wasm-3.4.1.tgz", + "integrity": "sha512-ja3nSo2UCkVeitltJGkS3pfQHAanHv/DqGatdI39ja6McgABlpsZ5hVgl6wuR8Qx5etY3T5qgDQhOWzc5RReZA==", "dev": true, "peerDependencies": { - "vite": "^2 || ^3 || ^4 || ^5" + "vite": "^2 || ^3 || ^4 || ^5 || ^6" } }, "node_modules/web-vitals": { @@ -2957,9 +2958,9 @@ } }, "node_modules/yaml": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", - "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", + "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", "bin": { "yaml": "bin.mjs" }, diff --git a/web/playground/package.json b/web/playground/package.json index df910234eafb..8bbb1f30c29f 100644 --- a/web/playground/package.json +++ b/web/playground/package.json @@ -15,7 +15,7 @@ "@duckdb/duckdb-wasm": "^1.29.0", "@monaco-editor/react": "^4.6.0", "@testing-library/jest-dom": "^6.6.0", - "@testing-library/react": "^16.0.0", + "@testing-library/react": "^16.1.0", "@testing-library/user-event": "^14.5.0", "monaco-editor": "^0.52.0", "prqlc": "file:../../prqlc/bindings/js", @@ -23,13 +23,13 @@ "react-dom": "^18.3.0", "react-syntax-highlighter": "^15.6.1", "web-vitals": "^4.2.0", - "yaml": "^2.6.0" + "yaml": "^2.7.0" }, "devDependencies": { "@babel/plugin-proposal-private-property-in-object": "^7.21.11", "@vitejs/plugin-react": "^4.3.0", "vite": "^5.4.6", - "vite-plugin-wasm": "^3.3.0" + "vite-plugin-wasm": "^3.4.1" }, "eslintConfig": { "extends": [ diff --git a/web/playground/src/index.css b/web/playground/src/index.css index c3fef19ee5dc..ad86b6fb547b 100644 --- a/web/playground/src/index.css +++ b/web/playground/src/index.css @@ -1,8 +1,8 @@ body { margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", - "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", - sans-serif; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", + "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", + "Helvetica Neue", sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; diff --git a/web/website/config.yml b/web/website/config.yml index fc29c21d0503..916170a67146 100644 --- a/web/website/config.yml +++ b/web/website/config.yml @@ -71,6 +71,6 @@ params: - static/img/favicon-32x32.png title: PRQL - license: "© 2022-2023, PRQL Developers. Apache 2.0 Licensed" + license: "© 2022-2024, PRQL Developers. Apache 2.0 Licensed" googleAnalytics: G-LQJDD599T4 diff --git a/web/website/content/_index.md b/web/website/content/_index.md index c2b221cec2d6..4af0e31dd520 100644 --- a/web/website/content/_index.md +++ b/web/website/content/_index.md @@ -186,11 +186,11 @@ integrations_section: link: https://github.com/ywelsch/duckdb-prql text: A DuckDB extension to execute PRQL - - label: "qStudio" + - label: "QStudio" link: https://www.timestored.com/qstudio/prql-ide text: - "qStudio is a SQL GUI that lets you browse tables, run SQL scripts, and - chart and export the results. qStudio runs on Windows, macOS and Linux, + "QStudio is a SQL GUI that lets you browse tables, run SQL scripts, and + chart and export the results. QStudio runs on Windows, macOS and Linux, and works with every popular database including mysql, postgresql, mssql, kdb..."