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=="