diff --git a/README.md b/README.md
index 5f2df677309..664e9d87fc7 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Neo4j Browser ![Node Version Badge is Missing][node version badge]
+# Neo4j Browser ![Node Version Badge is Missing][node version badge] ![Ts Version Badge is Missing][ts version badge]
[![npm registry][npm registry]](https://www.npmjs.com/package/neo4j-devtools-arc)
@@ -24,10 +24,19 @@ Contributions welcome! More information in our [CONTRIBUTING.md](CONTRIBUTING.md
Browser has a subproject of re-usable components bundled together and exposed as `neo4j-arc`. Rather than set up mono-repo tooling the we've set up eslint to isolate `neo4j-arc` and given it a seperate build step. Code in browser can only to import code from `neo4j-arc` through `neo4j-arc` aliases (as if it was a seperate project) and `neo4j-arc` is not allowed to import any code from outside it's own folder.
-## Development
+## Development ![Ts Version Badge is Missing][ts version badge]
-Running Neo4j Browser locally requires Node.js (^12.4.0, below 18) and for dependencies we use yarn
-(`npm install -g yarn`). To install dependencies and then start the development server at `http://localhost:8080`:
+> There are 2 parts within this project
+>
+> 1. [browser](./src/browser)
+> 2. re-usable graphing library, i.e. [neo4j-arc](./src/neo4j-arc)
+>
+> Each mantains a separate TS version. **Browser's TS version has to align with neo4j-arc's by setting a fixed version
+> at latter's lower bound**. For example, if neo4j-arc's typescript version is `"typescript": "^4.6.2"`, then the
+> browser's has be to the exact version of `"typescript": "4.6.2"`
+
+Running Neo4j Browser locally requires Node.js 16 and for dependencies we use yarn (`npm install -g yarn`). To install
+dependencies and then start the development server at `http://localhost:8080`:
> To switch node version with a version manager, please try [nvm](https://qubitpi.github.io/hashicorp-aws/blog/nvm)
@@ -89,5 +98,7 @@ CYPRESS_BASE_URL= (default http://localhost:80
Example: `CYPRESS_E2E_TEST_ENV="local" CYPRESS_BASE_URL=http://localhost:30000 cypress open --env server=4.2`
-[node version badge]: https://img.shields.io/badge/NODE-≥12.4.0%20<18.0.0-339933?logo=Node.js&logoColor=white&labelColor=66cc33&style=for-the-badge
+[node version badge]: https://img.shields.io/badge/NODE-≥16%20<18.0.0-339933?logo=Node.js&logoColor=white&labelColor=66cc33&style=for-the-badge
[npm registry]: https://img.shields.io/npm/v/neo4j-devtools-arc?logo=npm&style=for-the-badge
+
+[ts version badge]: https://img.shields.io/badge/TypeScript-≥4.6.2-3178C6?style=for-the-badge&logo=typescript&logoColor=white&labelColor=358EF1
diff --git a/package.json b/package.json
index d04bd1fcfa3..c33d113f55c 100644
--- a/package.json
+++ b/package.json
@@ -157,7 +157,7 @@
"style-loader": "^0.23.1",
"ts-jest": "^25.0.0",
"ts-loader": "^8.0.2",
- "typescript": "^3.9.5",
+ "typescript": "4.6.2",
"typescript-plugin-styled-components": "^1.5.0",
"url-loader": "^1.1.2",
"wait-on": "^3.1.0",
diff --git a/src/neo4j-arc/common/utils/objectUtils.ts b/src/neo4j-arc/common/utils/objectUtils.ts
index 14fc7e20cd4..b271f0a59a2 100644
--- a/src/neo4j-arc/common/utils/objectUtils.ts
+++ b/src/neo4j-arc/common/utils/objectUtils.ts
@@ -41,5 +41,5 @@ export function mapObjectValues(
}
export function keys(object: T): Array {
- return Object.keys(object) as Array
+ return Object.keys(object as any) as Array
}
diff --git a/src/neo4j-arc/package.json b/src/neo4j-arc/package.json
index c70f1c47847..e19bcbc2487 100644
--- a/src/neo4j-arc/package.json
+++ b/src/neo4j-arc/package.json
@@ -1,6 +1,6 @@
{
"name": "neo4j-devtools-arc",
- "version": "0.0.62",
+ "version": "0.0.63",
"main": "dist/neo4j-arc.js",
"author": "Neo4j Inc.",
"license": "GPL-3.0",
diff --git a/src/shared/services/bolt/driverFactory.ts b/src/shared/services/bolt/driverFactory.ts
index 91853ae3649..9d327c9fce4 100644
--- a/src/shared/services/bolt/driverFactory.ts
+++ b/src/shared/services/bolt/driverFactory.ts
@@ -33,7 +33,7 @@ export const createDriverOrFailFn = (
try {
const res = neo4j.driver(url, auth, spreadOpts)
return res
- } catch (e) {
+ } catch (e: any) {
failFn(e)
return null
}
diff --git a/src/shared/services/bolt/globalDrivers.ts b/src/shared/services/bolt/globalDrivers.ts
index 36238d2b102..71972e3c098 100644
--- a/src/shared/services/bolt/globalDrivers.ts
+++ b/src/shared/services/bolt/globalDrivers.ts
@@ -63,7 +63,7 @@ export const buildGlobalDriversObject = async (
)
routed && (await routed.verifyConnectivity())
routingSupported = true
- } catch (e) {
+ } catch (e: any) {
if (e && isNonSupportedRoutingSchemeError(e)) {
routingSupported = false
failFn(e)
diff --git a/src/shared/services/commandInterpreterHelper.ts b/src/shared/services/commandInterpreterHelper.ts
index 86fbbaacda2..2e63733bf5e 100644
--- a/src/shared/services/commandInterpreterHelper.ts
+++ b/src/shared/services/commandInterpreterHelper.ts
@@ -253,7 +253,7 @@ const availableCommands = [
put(updateQueryResult(action.requestId, null, 'success'))
}
return true
- } catch (error) {
+ } catch (error: any) {
if (!action.parentId) {
put(
frames.add({
diff --git a/yarn.lock b/yarn.lock
index d437503c85e..b7b28fcf51c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -13890,7 +13890,12 @@ typescript-plugin-styled-components@^1.5.0:
resolved "https://registry.npmjs.org/typescript-plugin-styled-components/-/typescript-plugin-styled-components-1.6.0.tgz"
integrity sha512-cUCbOuY0iNr1JjPYC5MqCiABrfv2ouLift+7gi4vS0gBPQySUT006wHCjwzynMfU5LGMQaZqpssAgzRRjt30Ng==
-typescript@^3.2.1, typescript@^3.9.3, typescript@^3.9.5:
+typescript@4.6.2:
+ version "4.6.2"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4"
+ integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==
+
+typescript@^3.2.1, typescript@^3.9.3:
version "3.9.10"
resolved "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz"
integrity "sha1-cPORCselHta+952ngAaQsZv3eLg= sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q=="