@neo4j-cypher/query-tools 2.0.0-next.29 → 2.0.0-next.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/cjs/package.json +22 -22
  3. package/dist/cjs/src/cypher-execution/extract-unique-nodes-and-relationships.test.js +3 -1
  4. package/dist/cjs/src/cypher-execution/extract-unique-nodes-and-relationships.test.js.map +1 -1
  5. package/dist/cjs/src/data-transforms/record-to-string.js +2 -3
  6. package/dist/cjs/src/data-transforms/record-to-string.js.map +1 -1
  7. package/dist/cjs/src/metadataPoller.js +8 -1
  8. package/dist/cjs/src/metadataPoller.js.map +1 -1
  9. package/dist/cjs/src/neo4jConnection.js +1 -1
  10. package/dist/cjs/src/neo4jConnection.js.map +1 -1
  11. package/dist/cjs/src/schemaPoller.js +5 -2
  12. package/dist/cjs/src/schemaPoller.js.map +1 -1
  13. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  14. package/dist/esm/package.json +22 -22
  15. package/dist/esm/src/cypher-execution/extract-unique-nodes-and-relationships.test.js +3 -1
  16. package/dist/esm/src/cypher-execution/extract-unique-nodes-and-relationships.test.js.map +1 -1
  17. package/dist/esm/src/data-transforms/record-to-string.js +2 -3
  18. package/dist/esm/src/data-transforms/record-to-string.js.map +1 -1
  19. package/dist/esm/src/metadataPoller.js +8 -1
  20. package/dist/esm/src/metadataPoller.js.map +1 -1
  21. package/dist/esm/src/neo4jConnection.js +1 -1
  22. package/dist/esm/src/neo4jConnection.js.map +1 -1
  23. package/dist/esm/src/schemaPoller.js +5 -2
  24. package/dist/esm/src/schemaPoller.js.map +1 -1
  25. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  26. package/dist/types/tsconfig.tsbuildinfo +1 -1
  27. package/package.json +14 -14
  28. package/src/cypher-execution/extract-unique-nodes-and-relationships.test.ts +3 -1
  29. package/src/data-transforms/record-to-string.ts +2 -3
  30. package/src/metadataPoller.ts +9 -1
  31. package/src/neo4jConnection.ts +1 -1
  32. package/src/schemaPoller.ts +6 -5
  33. package/src/types/cypher-data-types.ts +1 -1
package/package.json CHANGED
@@ -1,9 +1,16 @@
1
1
  {
2
2
  "name": "@neo4j-cypher/query-tools",
3
+ "version": "2.0.0-next.30",
3
4
  "description": "",
4
- "author": "Neo4j Inc.",
5
+ "bugs": {
6
+ "url": "https://github.com/neo4j/cypher-language-support/issues"
7
+ },
5
8
  "license": "Apache-2.0",
6
- "version": "2.0.0-next.29",
9
+ "author": "Neo4j Inc.",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git://github.com/neo4j/cypher-language-support.git"
13
+ },
7
14
  "main": "./dist/cjs/src/index.js",
8
15
  "module": "./dist/esm/src/index.js",
9
16
  "types": "./dist/types/src/index.d.ts",
@@ -15,25 +22,18 @@
15
22
  "default": "./dist/cjs/src/index.js"
16
23
  }
17
24
  },
18
- "repository": {
19
- "type": "git",
20
- "url": "git://github.com/neo4j/cypher-language-support.git"
21
- },
22
- "bugs": {
23
- "url": "https://github.com/neo4j/cypher-language-support/issues"
24
- },
25
- "engineStrict": true,
26
- "engines": {
27
- "node": ">=24.11.1"
28
- },
29
25
  "dependencies": {
30
26
  "ajv": "^8.12.0",
31
27
  "neo4j-driver": "6.0.1",
32
- "@neo4j-cypher/language-support": "2.0.0-next.29"
28
+ "@neo4j-cypher/language-support": "2.0.0-next.30"
33
29
  },
34
30
  "devDependencies": {
35
31
  "@testcontainers/neo4j": "^11.5.1"
36
32
  },
33
+ "engines": {
34
+ "node": ">=24.11.1"
35
+ },
36
+ "engineStrict": true,
37
37
  "scripts": {
38
38
  "build": "concurrently 'npm:build-esm' 'npm:build-commonjs' 'npm:build-types'",
39
39
  "build-esm": "tsc --module esnext --outDir dist/esm",
@@ -156,7 +156,9 @@ describe('extractNodesAndRels', () => {
156
156
 
157
157
  const { nodes, relationships, limitHit } = extractUniqueNodesAndRels(
158
158
  [boltRecord],
159
- { nodeLimit: 1 },
159
+ {
160
+ nodeLimit: 1,
161
+ },
160
162
  );
161
163
  expect(limitHit).toBe(true);
162
164
  expect(nodes.length).toBe(1);
@@ -34,9 +34,7 @@ export function propertyToString(
34
34
  localeFormattedDates = false,
35
35
  ): string {
36
36
  if (Array.isArray(property)) {
37
- return `[${property
38
- .map((p) => propertyToString(p, quoteStrings))
39
- .join(', ')}]`;
37
+ return `[${property.map((p) => propertyToString(p, quoteStrings)).join(', ')}]`;
40
38
  }
41
39
 
42
40
  if (property === null) {
@@ -72,6 +70,7 @@ export function propertyToString(
72
70
 
73
71
  if (typeof property === 'string') {
74
72
  if (quoteStrings) {
73
+ // oxlint-disable-next-line typescript-eslint/restrict-template-expressions
75
74
  return `"${property}"`;
76
75
  }
77
76
  return property;
@@ -250,10 +250,18 @@ export class ConnectedMetadataPoller extends MetadataPoller {
250
250
  await Promise.allSettled([
251
251
  this.databases.refetch(),
252
252
  this.dataSummary.refetch(),
253
- this.graphSchema.refetch(),
254
253
  ...Object.values(this.procedures).map((version) => version?.refetch()),
255
254
  ...Object.values(this.functions).map((version) => version?.refetch()),
256
255
  ]);
256
+ if (
257
+ this.dbSchema.labels &&
258
+ this.dbSchema.relationshipTypes &&
259
+ this.dbSchema.labels.length + this.dbSchema.relationshipTypes.length < 200
260
+ ) {
261
+ await this.graphSchema.refetch();
262
+ } else {
263
+ this.dbSchema.graphSchema = undefined;
264
+ }
257
265
  this.events.emit('schemaFetched');
258
266
  }
259
267
 
@@ -167,7 +167,7 @@ export class Neo4jConnection {
167
167
  const result = tx.run(query, {});
168
168
  return await queryConfig.resultTransformer(result);
169
169
  },
170
- { metadata: { ...METADATA_BASE, type: queryType } },
170
+ { timeout: 500, metadata: { ...METADATA_BASE, type: queryType } },
171
171
  );
172
172
  } finally {
173
173
  await session.close();
@@ -168,7 +168,7 @@ export class Neo4jSchemaPoller {
168
168
  );
169
169
  return ['5', '25'];
170
170
  }
171
- } catch (e) {
171
+ } catch {
172
172
  return ['5'];
173
173
  }
174
174
 
@@ -247,7 +247,10 @@ export class Neo4jSchemaPoller {
247
247
  const driver = neo4j.driver(
248
248
  url,
249
249
  neo4j.auth.basic(credentials.username, credentials.password),
250
- { userAgent: config.appName, ...config.driverConfig },
250
+ {
251
+ userAgent: config.appName,
252
+ ...config.driverConfig,
253
+ },
251
254
  );
252
255
 
253
256
  await driver.verifyConnectivity({ database: database });
@@ -323,9 +326,7 @@ export class Neo4jSchemaPoller {
323
326
  retriable: boolean,
324
327
  ): ConnectionError {
325
328
  const friendlyMessage = retriable
326
- ? `${connectionError.friendlyMessage}. Retrying in ${
327
- RETRY_INTERVAL_MS / 1000
328
- } seconds`
329
+ ? `${connectionError.friendlyMessage}. Retrying in ${RETRY_INTERVAL_MS / 1000} seconds`
329
330
  : connectionError.friendlyMessage;
330
331
 
331
332
  return {
@@ -25,7 +25,7 @@ import {
25
25
  } from 'neo4j-driver';
26
26
  type NumberOrInteger = number | Integer | bigint;
27
27
 
28
- /**
28
+ /**
29
29
  The neo4j driver type mapping - https://neo4j.com/docs/javascript-manual/current/cypher-workflow/#js-driver-type-mapping
30
30
 
31
31
  Star denotes custom driver class.