grafio-mongo 1.0.0 → 1.0.1
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.
- package/package.json +11 -5
- package/dist/MongoGraphFactory.d.ts.map +0 -1
- package/dist/MongoGraphFactory.js.map +0 -1
- package/dist/MongoStorageProvider.d.ts.map +0 -1
- package/dist/MongoStorageProvider.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/jest.config.js +0 -27
- package/src/MongoGraphFactory.ts +0 -93
- package/src/MongoStorageProvider.ts +0 -719
- package/src/index.ts +0 -4
- package/tests/EducationGraph.mongo.test.ts +0 -33
- package/tests/SocialGraph.mongo.test.ts +0 -30
- package/tests/graph/Graph.clear.mongo.test.ts +0 -24
- package/tests/graph/Graph.edge.mongo.test.ts +0 -24
- package/tests/graph/Graph.fromJSON.mongo.test.ts +0 -24
- package/tests/graph/Graph.index.mongo.test.ts +0 -24
- package/tests/graph/Graph.isDAG.mongo.test.ts +0 -24
- package/tests/graph/Graph.node.mongo.test.ts +0 -24
- package/tests/graph/Graph.properties.mongo.test.ts +0 -24
- package/tests/graph/Graph.serialization.mongo.test.ts +0 -24
- package/tests/graph/Graph.topologicalSort.mongo.test.ts +0 -24
- package/tests/graph/Graph.transaction.mongo.test.ts +0 -24
- package/tests/graph/Graph.traverse.mongo.test.ts +0 -24
- package/tests/graph/GraphToMermaid.mongo.test.ts +0 -24
- package/tests/storage/MongoGraphFactory.test.ts +0 -102
- package/tsconfig.json +0 -21
- package/tsconfig.perf.json +0 -18
- package/tsconfig.prod.json +0 -11
package/package.json
CHANGED
|
@@ -1,24 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "grafio-mongo",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "MongoDB storage backend for grafio",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "tsc",
|
|
9
|
-
"build:prod": "tsc -p tsconfig.prod.json",
|
|
9
|
+
"build:prod": "npm run clean && tsc -p tsconfig.prod.json",
|
|
10
|
+
"clean": "rimraf dist",
|
|
10
11
|
"test": "jest",
|
|
11
|
-
"test:coverage": "jest --coverage --coverageReporters=text-summary --coverageReporters=html"
|
|
12
|
+
"test:coverage": "jest --coverage --coverageReporters=text-summary --coverageReporters=html",
|
|
13
|
+
"perf": "ts-node --project tsconfig.perf.json tests/perf/entryPoint.ts",
|
|
14
|
+
"perf:gc": "cross-env TS_NODE_PROJECT=tsconfig.perf.json node --expose-gc -r ts-node/register tests/perf/entryPoint.ts"
|
|
15
|
+
|
|
12
16
|
},
|
|
13
17
|
"peerDependencies": {
|
|
14
|
-
"grafio": ">=
|
|
18
|
+
"grafio": ">=6.0.6",
|
|
15
19
|
"mongodb": ">=5.0.0"
|
|
16
20
|
},
|
|
17
21
|
"devDependencies": {
|
|
18
22
|
"@types/jest": "^29.5.0",
|
|
19
23
|
"@types/node": "^25.6.0",
|
|
20
|
-
"grafio": "^
|
|
24
|
+
"grafio": "^6.0.6",
|
|
25
|
+
"cross-env": "^10.1.0",
|
|
21
26
|
"jest": "^29.5.0",
|
|
27
|
+
"rimraf": "^5.0.0",
|
|
22
28
|
"mongodb": "^7.2.0",
|
|
23
29
|
"mongodb-memory-server": "^11.1.0",
|
|
24
30
|
"ts-jest": "^29.1.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MongoGraphFactory.d.ts","sourceRoot":"","sources":["../src/MongoGraphFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEzD;;GAEG;AACH,KAAK,wBAAwB,GAAG,IAAI,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAC;AAE7E;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IACrD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IAEjD;;;;;OAKG;gBACS,EAAE,EAAE,EAAE,EAAE,IAAI,GAAE,wBAA6B;IAKvD;;;;;OAKG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpC;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,GAAE,MAAkB,GAAG,KAAK;IAK5C;;;;;;;OAOG;IACG,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,GAAE,MAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;CAgBlF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MongoGraphFactory.js","sourceRoot":"","sources":["../src/MongoGraphFactory.ts"],"names":[],"mappings":";;;AACA,iEAGgC;AAChC,mCAAyD;AAOzD;;;;;;;;;;;;;;;GAeG;AACH,MAAa,iBAAiB;IACX,GAAG,CAAK;IACR,KAAK,CAA2B;IAEjD;;;;;OAKG;IACH,YAAY,EAAM,EAAE,OAAiC,EAAE;QACrD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,KAAK,GAAG,IAAI,2CAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QACxF,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ,CAAC,UAAkB,SAAS;QAClC,MAAM,QAAQ,GAAG,IAAI,2CAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAChF,OAAO,IAAI,cAAK,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CAAC,IAAe,EAAE,UAAkB,SAAS;QAC9D,MAAM,QAAQ,GAAG,IAAI,2CAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAChF,MAAM,KAAK,GAAG,IAAI,cAAK,CAAC,QAAQ,CAAC,CAAC;QAElC,qEAAqE;QACrE,oFAAoF;QACpF,+EAA+E;QAC/E,MAAM,YAAY,GAAc;YAC9B,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAC/E,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAChF,CAAC;QAEF,MAAM,cAAK,CAAC,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAhED,8CAgEC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MongoStorageProvider.d.ts","sourceRoot":"","sources":["../src/MongoStorageProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MongoStorageProvider.js","sourceRoot":"","sources":["../src/MongoStorageProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAE7B,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA"}
|
package/jest.config.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/** @type {import('ts-jest').JestConfigWithTsJest} */
|
|
2
|
-
module.exports = {
|
|
3
|
-
preset: 'ts-jest',
|
|
4
|
-
testEnvironment: 'node',
|
|
5
|
-
roots: ['<rootDir>/tests'],
|
|
6
|
-
testMatch: ['**/*.test.ts'],
|
|
7
|
-
moduleFileExtensions: ['ts', 'js', 'json'],
|
|
8
|
-
collectCoverageFrom: ['src/**/*.ts'],
|
|
9
|
-
coveragePathIgnorePatterns: ['/node_modules/', '/dist/'],
|
|
10
|
-
coverageThreshold: {
|
|
11
|
-
global: {
|
|
12
|
-
branches: 80,
|
|
13
|
-
functions: 80,
|
|
14
|
-
lines: 80,
|
|
15
|
-
statements: 80
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
testTimeout: 60000,
|
|
19
|
-
maxWorkers: 1,
|
|
20
|
-
coverageReporters: [
|
|
21
|
-
"lcov",
|
|
22
|
-
"json-summary"
|
|
23
|
-
],
|
|
24
|
-
transform: {
|
|
25
|
-
'^.+\\.tsx?$': ['ts-jest', { tsconfig: { resolveJsonModule: true } }],
|
|
26
|
-
},
|
|
27
|
-
};
|
package/src/MongoGraphFactory.ts
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import type { Db } from 'mongodb';
|
|
2
|
-
import {
|
|
3
|
-
MongoStorageProvider,
|
|
4
|
-
type MongoStorageProviderOptions,
|
|
5
|
-
} from './MongoStorageProvider';
|
|
6
|
-
import { Graph, GraphData, IGraphFactory } from 'grafio';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Factory options for MongoGraphFactory — omits graphId since that is set per-call.
|
|
10
|
-
*/
|
|
11
|
-
type MongoGraphFactoryOptions = Omit<MongoStorageProviderOptions, 'graphId'>;
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* MongoDB-backed factory for `Graph` instances.
|
|
15
|
-
*
|
|
16
|
-
* Holds the long-lived `Db` connection reference. `forGraph(graphId)` returns a
|
|
17
|
-
* lightweight `Graph` scoped to the given partition — no new I/O resources are
|
|
18
|
-
* created on each call (Collection handles are stateless).
|
|
19
|
-
*
|
|
20
|
-
* Call `ensureIndexes()` once at application startup before any graph operations.
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
* const factory = new MongoGraphFactory(db);
|
|
24
|
-
* await factory.ensureIndexes();
|
|
25
|
-
*
|
|
26
|
-
* const graph = factory.forGraph('user-123');
|
|
27
|
-
* await graph.addNode('Person', { name: 'Alice' });
|
|
28
|
-
*/
|
|
29
|
-
export class MongoGraphFactory implements IGraphFactory {
|
|
30
|
-
private readonly _db: Db;
|
|
31
|
-
private readonly _opts: MongoGraphFactoryOptions;
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* @param db - An already-connected Mongo `Db` instance. The factory does not
|
|
35
|
-
* manage the connection lifecycle — that is the consumer's responsibility.
|
|
36
|
-
* @param opts - Optional collection name overrides (no graphId here — that is
|
|
37
|
-
* set per-call in `forGraph`).
|
|
38
|
-
*/
|
|
39
|
-
constructor(db: Db, opts: MongoGraphFactoryOptions = {}) {
|
|
40
|
-
this._db = db;
|
|
41
|
-
this._opts = opts;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Creates all required MongoDB indexes.
|
|
46
|
-
*
|
|
47
|
-
* Call ONCE at application startup before any graph operations.
|
|
48
|
-
* Safe to call multiple times (MongoDB's `createIndex` is idempotent).
|
|
49
|
-
*/
|
|
50
|
-
async ensureIndexes(): Promise<void> {
|
|
51
|
-
const probe = new MongoStorageProvider(this._db, { ...this._opts, graphId: 'default' });
|
|
52
|
-
await probe.ensureIndexes();
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Returns a `Graph` instance scoped to the given `graphId`.
|
|
57
|
-
*
|
|
58
|
-
* Cheap to call — creates only stateless `Collection` references, no I/O.
|
|
59
|
-
* Each returned `Graph` operates on its own isolated partition of the same
|
|
60
|
-
* MongoDB collections.
|
|
61
|
-
*
|
|
62
|
-
* @param graphId - Defaults to `"default"` when omitted.
|
|
63
|
-
*/
|
|
64
|
-
forGraph(graphId: string = 'default'): Graph {
|
|
65
|
-
const provider = new MongoStorageProvider(this._db, { ...this._opts, graphId });
|
|
66
|
-
return new Graph(provider);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Creates a Graph instance and imports the given graph data into it.
|
|
71
|
-
* Convenience method that combines forGraph() + importJSON().
|
|
72
|
-
*
|
|
73
|
-
* @param data - The GraphData to import
|
|
74
|
-
* @param graphId - Graph partition ID (defaults to 'default')
|
|
75
|
-
* @returns A Graph instance with the imported data
|
|
76
|
-
*/
|
|
77
|
-
async fromGraphData(data: GraphData, graphId: string = 'default'): Promise<Graph> {
|
|
78
|
-
const provider = new MongoStorageProvider(this._db, { ...this._opts, graphId });
|
|
79
|
-
const graph = new Graph(provider);
|
|
80
|
-
|
|
81
|
-
// Filter data to only import nodes/edges that belong to this graphId
|
|
82
|
-
// If data.graphId is set and doesn't match, skip (data is from different partition)
|
|
83
|
-
// If data.graphId is not set, import all (backward compatible for legacy data)
|
|
84
|
-
const filteredData: GraphData = {
|
|
85
|
-
graphId,
|
|
86
|
-
nodes: data.graphId === undefined || data.graphId === graphId ? data.nodes : [],
|
|
87
|
-
edges: data.graphId === undefined || data.graphId === graphId ? data.edges : [],
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
await Graph.importJSON(filteredData, provider);
|
|
91
|
-
return graph;
|
|
92
|
-
}
|
|
93
|
-
}
|