From bc00f3976d7e4b8b05c59a79e91584b08cc9108a Mon Sep 17 00:00:00 2001 From: Will Scullin Date: Thu, 14 Nov 2024 15:44:36 -0800 Subject: [PATCH] React 18 (#245) * Update to React 18 * Malloy 0.0.214 * Fix typing --- package-lock.json | 181 ++++++++---------- package.json | 18 +- packages/query-composer/example/example.tsx | 5 +- packages/query-composer/package.json | 10 +- .../GroupByContextBar/GroupByContextBar.tsx | 2 +- .../SelectContextBar/SelectContextBar.tsx | 2 +- src/core/markdown.ts | 3 +- src/index.tsx | 8 +- 8 files changed, 102 insertions(+), 127 deletions(-) diff --git a/package-lock.json b/package-lock.json index bc81cdd6..ea7f3250 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,19 +9,19 @@ "version": "0.0.0", "license": "MIT", "dependencies": { - "@malloydata/db-bigquery": "0.0.209", - "@malloydata/db-duckdb": "0.0.209", - "@malloydata/db-postgres": "0.0.209", - "@malloydata/malloy": "0.0.209", + "@malloydata/db-bigquery": "0.0.214", + "@malloydata/db-duckdb": "0.0.214", + "@malloydata/db-postgres": "0.0.214", + "@malloydata/malloy": "0.0.214", "@malloydata/query-composer": "*", - "@malloydata/render": "0.0.209", + "@malloydata/render": "0.0.214", "@popperjs/core": "^2.11.4", "cors": "^2.8.5", "duckdb": "^0.9.2", "express": "^4.21.1", "mdast-comment-marker": "^2.1.0", - "react": "^17.0.2", - "react-dom": "^17.0.2", + "react": "^18.3.1", + "react-dom": "^18.3.1", "react-hotkeys": "^2.0.0", "react-query": "^3.34.16", "react-router-dom": "^6.4.3", @@ -42,8 +42,8 @@ "@types/jest": "^29.5.13", "@types/node": "^18.11.11", "@types/node-fetch": "^2.6.2", - "@types/react": "^17.0.38", - "@types/react-dom": "^17.0.11", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", "@types/styled-components": "^5.1.19", "@types/tar-stream": "^2.2.2", "@typescript-eslint/eslint-plugin": "v6.21.0", @@ -75,7 +75,6 @@ }, "node_modules/@ampproject/remapping": { "version": "2.3.0", - "dev": true, "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -98,7 +97,6 @@ }, "node_modules/@babel/compat-data": { "version": "7.25.4", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -106,7 +104,6 @@ }, "node_modules/@babel/core": { "version": "7.25.2", - "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", @@ -135,7 +132,6 @@ }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", - "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -155,10 +151,11 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -166,7 +163,6 @@ }, "node_modules/@babel/helper-compilation-targets": { "version": "7.25.2", - "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.25.2", @@ -181,7 +177,6 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { "version": "5.1.1", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^3.0.2" @@ -189,7 +184,6 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", - "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -197,7 +191,6 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { "version": "3.1.1", - "dev": true, "license": "ISC" }, "node_modules/@babel/helper-module-imports": { @@ -213,7 +206,6 @@ }, "node_modules/@babel/helper-module-transforms": { "version": "7.25.2", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.24.7", @@ -232,14 +224,12 @@ "version": "7.25.7", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", - "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { "version": "7.24.7", - "dev": true, "license": "MIT", "dependencies": { "@babel/traverse": "^7.24.7", @@ -250,22 +240,23 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "license": "MIT", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { "version": "7.24.8", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -273,7 +264,6 @@ }, "node_modules/@babel/helpers": { "version": "7.25.6", - "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.25.0", @@ -403,7 +393,6 @@ "version": "7.25.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.25.7" }, @@ -600,12 +589,12 @@ } }, "node_modules/@babel/types": { - "version": "7.25.6", - "license": "MIT", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2014,14 +2003,14 @@ } }, "node_modules/@malloydata/db-bigquery": { - "version": "0.0.209", - "resolved": "https://registry.npmjs.org/@malloydata/db-bigquery/-/db-bigquery-0.0.209.tgz", - "integrity": "sha512-4ua/lFTXR1Bu4CGm6361Rll5ZOeWxZGTuNHuKp1xY5OY9mm/cvh9+sJbnWYBe17mS7AFVxLBclbct0mRrLzb4Q==", + "version": "0.0.214", + "resolved": "https://registry.npmjs.org/@malloydata/db-bigquery/-/db-bigquery-0.0.214.tgz", + "integrity": "sha512-tA/kqc5NLrnuh4YyBod5oaTBZH75gQuIUKGzOB86Q47ymIPyvfrKBODgbORWywSTnSJZVKH9HZbQMg5H7oR3Pg==", "dependencies": { "@google-cloud/bigquery": "^7.3.0", "@google-cloud/common": "^5.0.1", "@google-cloud/paginator": "^5.0.0", - "@malloydata/malloy": "^0.0.209", + "@malloydata/malloy": "^0.0.214", "gaxios": "^4.2.0" }, "engines": { @@ -2029,12 +2018,12 @@ } }, "node_modules/@malloydata/db-duckdb": { - "version": "0.0.209", - "resolved": "https://registry.npmjs.org/@malloydata/db-duckdb/-/db-duckdb-0.0.209.tgz", - "integrity": "sha512-UdmdUK7RqtPMOM1zhWrenFoYXvFEsVMIJ8elkHsEX8HqhbF+rDbORuZVz1VFzOlTSrkm2PpdsRc/Nb96eCQaWg==", + "version": "0.0.214", + "resolved": "https://registry.npmjs.org/@malloydata/db-duckdb/-/db-duckdb-0.0.214.tgz", + "integrity": "sha512-gX0O7wHM0OMX779aTIWIxnCFeLa2ZCCm3vuu6Njmj176+fGbOhZyUsgIwVP8B0tyPqCkxOSTgqPp9M/wvjv8vw==", "dependencies": { "@duckdb/duckdb-wasm": "1.29.0", - "@malloydata/malloy": "^0.0.209", + "@malloydata/malloy": "^0.0.214", "@motherduck/wasm-client": "^0.6.6", "apache-arrow": "^17.0.0", "duckdb": "1.1.1", @@ -2056,11 +2045,11 @@ } }, "node_modules/@malloydata/db-postgres": { - "version": "0.0.209", - "resolved": "https://registry.npmjs.org/@malloydata/db-postgres/-/db-postgres-0.0.209.tgz", - "integrity": "sha512-cWcqI+yRVAkGDwF3Qt1iAKzsI4ci5BvkYgONNdFEGzgc4M8dgPcUNQ/BaGNJE6wxaP2pHKJV23qqCgx8vMZsYg==", + "version": "0.0.214", + "resolved": "https://registry.npmjs.org/@malloydata/db-postgres/-/db-postgres-0.0.214.tgz", + "integrity": "sha512-dQpVVyUrS4QmOK9UDCBb4HLkvcbe0PoRRVoBE+aDyiKRmjWlNQrnHNK8iEdITGvVtX3ygWZnRCXiHK2vmhxpmg==", "dependencies": { - "@malloydata/malloy": "^0.0.209", + "@malloydata/malloy": "^0.0.214", "@types/pg": "^8.6.1", "pg": "^8.7.1", "pg-query-stream": "4.2.3" @@ -2070,9 +2059,9 @@ } }, "node_modules/@malloydata/malloy": { - "version": "0.0.209", - "resolved": "https://registry.npmjs.org/@malloydata/malloy/-/malloy-0.0.209.tgz", - "integrity": "sha512-T7d46GjiZ7AZJ6HSSHnAs0djt51j8717AdInEPP1yxajdgi80V28PCaRBOQUXYhvIxKTksiHv63tE56MNs2iMA==", + "version": "0.0.214", + "resolved": "https://registry.npmjs.org/@malloydata/malloy/-/malloy-0.0.214.tgz", + "integrity": "sha512-guZG42oP2Ak6QvoCLVE95SGupiwaONCXgXprmq/y5bCUqmOqrGf3EMRriD2JyBB8qUjpT7nQaTPCHbbevgPnSw==", "dependencies": { "antlr4ts": "^0.5.0-alpha.4", "assert": "^2.0.0", @@ -2097,11 +2086,11 @@ "link": true }, "node_modules/@malloydata/render": { - "version": "0.0.209", - "resolved": "https://registry.npmjs.org/@malloydata/render/-/render-0.0.209.tgz", - "integrity": "sha512-q5ba4LEhmuV/TZ8ClSxkY+b0pj7jcHQq11Ke8mTeuyEux09nV8OCiPB9hBAhz9XNb9LtjU3R6yIcqho8Cdw+xQ==", + "version": "0.0.214", + "resolved": "https://registry.npmjs.org/@malloydata/render/-/render-0.0.214.tgz", + "integrity": "sha512-YWQ6uRnwzR56soAprQc3zgIGfntfT4FZMXdbIhCZUCs/Zerv6TRwz2Dd9EqEhm09qok8pRNsMiMI27l9OqEcQA==", "dependencies": { - "@malloydata/malloy": "^0.0.209", + "@malloydata/malloy": "^0.0.214", "@tanstack/solid-virtual": "^3.10.4", "component-register": "^0.8.6", "lodash": "^4.17.20", @@ -3066,23 +3055,22 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "17.0.83", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.83.tgz", - "integrity": "sha512-l0m4ArKJvmFtR4e8UmKrj1pB4tUgOhJITf+mADyF/p69Ts1YAR/E+G9XEM0mHXKVRa1dQNHseyyDNzeuAXfXQw==", + "version": "18.3.12", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz", + "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", "dev": true, "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "^0.16", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "17.0.25", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.25.tgz", - "integrity": "sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", "dev": true, "dependencies": { - "@types/react": "^17" + "@types/react": "*" } }, "node_modules/@types/request": { @@ -3107,11 +3095,6 @@ "node": ">= 0.12" } }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "dev": true, - "license": "MIT" - }, "node_modules/@types/semver": { "version": "7.5.8", "dev": true, @@ -4059,23 +4042,20 @@ } }, "node_modules/babel-plugin-styled-components": { - "version": "2.0.7", - "license": "MIT", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz", + "integrity": "sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-module-imports": "^7.16.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "lodash": "^4.17.11", - "picomatch": "^2.3.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "lodash": "^4.17.21", + "picomatch": "^2.3.1" }, "peerDependencies": { "styled-components": ">= 2" } }, - "node_modules/babel-plugin-syntax-jsx": { - "version": "6.18.0", - "license": "MIT" - }, "node_modules/babel-preset-current-node-syntax": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", @@ -4251,7 +4231,6 @@ }, "node_modules/browserslist": { "version": "4.23.3", - "dev": true, "funding": [ { "type": "opencollective", @@ -4469,7 +4448,6 @@ }, "node_modules/caniuse-lite": { "version": "1.0.30001660", - "dev": true, "funding": [ { "type": "opencollective", @@ -4912,7 +4890,6 @@ }, "node_modules/convert-source-map": { "version": "2.0.0", - "dev": true, "license": "MIT" }, "node_modules/cookie": { @@ -5630,7 +5607,6 @@ }, "node_modules/electron-to-chromium": { "version": "1.5.24", - "dev": true, "license": "ISC" }, "node_modules/emittery": { @@ -7256,7 +7232,6 @@ }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -10158,7 +10133,6 @@ }, "node_modules/json5": { "version": "2.2.3", - "dev": true, "license": "MIT", "bin": { "json5": "lib/cli.js" @@ -11833,7 +11807,6 @@ }, "node_modules/node-releases": { "version": "2.0.18", - "dev": true, "license": "MIT" }, "node_modules/nopt": { @@ -12984,26 +12957,26 @@ } }, "node_modules/react": { - "version": "17.0.2", - "license": "MIT", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "17.0.2", - "license": "MIT", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "dependencies": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "17.0.2" + "react": "^18.3.1" } }, "node_modules/react-fast-compare": { @@ -13492,11 +13465,11 @@ "license": "MIT" }, "node_modules/scheduler": { - "version": "0.20.2", - "license": "MIT", + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" } }, "node_modules/semver": { @@ -14268,6 +14241,7 @@ }, "node_modules/to-fast-properties": { "version": "2.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -14734,7 +14708,6 @@ }, "node_modules/update-browserslist-db": { "version": "1.1.0", - "dev": true, "funding": [ { "type": "opencollective", @@ -15746,7 +15719,7 @@ }, "packages/query-composer": { "name": "@malloydata/query-composer", - "version": "0.0.209", + "version": "0.0.214", "license": "ISC", "dependencies": { "moment-js": "^1.1.15", @@ -15755,8 +15728,8 @@ }, "devDependencies": { "@types/moment": "^2.13.0", - "@types/react": "^17.0.39", - "@types/react-dom": "^17.0.25", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", "@vitejs/plugin-react": "^4.3.1", "jest": "^29.3.1", "ts-jest": "^29.0.5", @@ -15767,8 +15740,8 @@ "peerDependencies": { "@malloydata/malloy": ">=0.0.209", "@malloydata/render": ">=0.0.209", - "react": "^17.0.2", - "react-dom": "^17.0.2", + "react": ">=18", + "react-dom": ">=18", "styled-components": "^5.3.3" } } diff --git a/package.json b/package.json index 88680665..6853f385 100644 --- a/package.json +++ b/package.json @@ -35,19 +35,19 @@ "malloy-packages": "./scripts/malloy-packages.ts" }, "dependencies": { - "@malloydata/db-bigquery": "0.0.209", - "@malloydata/db-duckdb": "0.0.209", - "@malloydata/db-postgres": "0.0.209", - "@malloydata/malloy": "0.0.209", + "@malloydata/db-bigquery": "0.0.214", + "@malloydata/db-duckdb": "0.0.214", + "@malloydata/db-postgres": "0.0.214", + "@malloydata/malloy": "0.0.214", "@malloydata/query-composer": "*", - "@malloydata/render": "0.0.209", + "@malloydata/render": "0.0.214", "@popperjs/core": "^2.11.4", "cors": "^2.8.5", "duckdb": "^0.9.2", "express": "^4.21.1", "mdast-comment-marker": "^2.1.0", - "react": "^17.0.2", - "react-dom": "^17.0.2", + "react": "^18.3.1", + "react-dom": "^18.3.1", "react-hotkeys": "^2.0.0", "react-query": "^3.34.16", "react-router-dom": "^6.4.3", @@ -65,8 +65,8 @@ "@types/jest": "^29.5.13", "@types/node": "^18.11.11", "@types/node-fetch": "^2.6.2", - "@types/react": "^17.0.38", - "@types/react-dom": "^17.0.11", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", "@types/styled-components": "^5.1.19", "@types/tar-stream": "^2.2.2", "@typescript-eslint/eslint-plugin": "v6.21.0", diff --git a/packages/query-composer/example/example.tsx b/packages/query-composer/example/example.tsx index 113e68b2..387de7f0 100644 --- a/packages/query-composer/example/example.tsx +++ b/packages/query-composer/example/example.tsx @@ -1,5 +1,5 @@ import React, {useState} from 'react'; -import ReactDOM from 'react-dom'; +import {createRoot} from 'react-dom/client'; import {ExploreQueryEditor, useQueryBuilder, useRunQuery} from '../src/index'; import {model as exampleModel, modelPath, topValues} from './example_model'; @@ -101,4 +101,5 @@ const GlobalStyle = createGlobalStyle` } `; -ReactDOM.render(, document.getElementById('app')); +const root = createRoot(document.getElementById('app')!); +root.render(); diff --git a/packages/query-composer/package.json b/packages/query-composer/package.json index ef74624b..585ad1c3 100644 --- a/packages/query-composer/package.json +++ b/packages/query-composer/package.json @@ -1,6 +1,6 @@ { "name": "@malloydata/query-composer", - "version": "0.0.209", + "version": "0.0.214", "description": "A query composer component for Malloy", "main": "dist/cjs/index.cjs", "type": "module", @@ -37,8 +37,8 @@ }, "devDependencies": { "@types/moment": "^2.13.0", - "@types/react": "^17.0.39", - "@types/react-dom": "^17.0.25", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", "@vitejs/plugin-react": "^4.3.1", "jest": "^29.3.1", "ts-jest": "^29.0.5", @@ -49,8 +49,8 @@ "peerDependencies": { "@malloydata/malloy": ">=0.0.209", "@malloydata/render": ">=0.0.209", - "react": "^17.0.2", - "react-dom": "^17.0.2", + "react": ">=18", + "react-dom": ">=18", "styled-components": "^5.3.3" } } diff --git a/packages/query-composer/src/components/GroupByContextBar/GroupByContextBar.tsx b/packages/query-composer/src/components/GroupByContextBar/GroupByContextBar.tsx index 82c42c4e..56133305 100644 --- a/packages/query-composer/src/components/GroupByContextBar/GroupByContextBar.tsx +++ b/packages/query-composer/src/components/GroupByContextBar/GroupByContextBar.tsx @@ -73,7 +73,7 @@ export const GroupByContextBar: React.FC = ({ const [searchTerm, setSearchTerm] = useState(''); const maybeSelectField = useCallback( - (path, field) => { + (path: string, field: FieldDef) => { if (field.type === 'date') { setSelectingGranularity({field, path}); } else if (field.type === 'timestamp') { diff --git a/packages/query-composer/src/components/SelectContextBar/SelectContextBar.tsx b/packages/query-composer/src/components/SelectContextBar/SelectContextBar.tsx index 2f829ac2..caee914d 100644 --- a/packages/query-composer/src/components/SelectContextBar/SelectContextBar.tsx +++ b/packages/query-composer/src/components/SelectContextBar/SelectContextBar.tsx @@ -73,7 +73,7 @@ export const SelectContextBar: React.FC = ({ const [searchTerm, setSearchTerm] = useState(''); const maybeSelectField = useCallback( - (path, field) => { + (path: string, field: FieldDef) => { if (field.type === 'date') { setSelectingGranularity({field, path}); } else if (field.type === 'timestamp') { diff --git a/src/core/markdown.ts b/src/core/markdown.ts index 1421b675..adff6913 100644 --- a/src/core/markdown.ts +++ b/src/core/markdown.ts @@ -148,7 +148,8 @@ export interface ListItem { export interface Table { type: 'table'; - align: ('left' | 'right' | 'center' | null)[]; + align: ('left' | 'right' | 'center' | undefined) & + ('left' | 'right' | 'center' | null)[]; children: Markdown[]; } diff --git a/src/index.tsx b/src/index.tsx index 9f540be3..abe1da52 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -22,7 +22,7 @@ */ import React from 'react'; -import ReactDOM from 'react-dom'; +import {createRoot} from 'react-dom/client'; import './index.css'; import reportWebVitals from './reportWebVitals'; import {QueryClient, QueryClientProvider} from 'react-query'; @@ -45,13 +45,13 @@ const router = createHashRouter([ }, ]); -ReactDOM.render( +const root = createRoot(document.getElementById('root')!); +root.render( - , - document.getElementById('root') + ); // If you want to start measuring performance in your app, pass a function