@tinacms/graphql 0.0.0-20230829134521 → 0.0.0-20230829134542
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/dist/database/index.d.ts +29 -3
- package/dist/index.d.ts +3 -2
- package/dist/index.js +70 -21
- package/dist/index.mjs +67 -21
- package/package.json +7 -7
package/dist/database/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ declare type IndexStatusEvent = {
|
|
|
10
10
|
declare type IndexStatusCallback = (event: IndexStatusEvent) => Promise<void>;
|
|
11
11
|
export declare type OnPutCallback = (key: string, value: any) => Promise<void>;
|
|
12
12
|
export declare type OnDeleteCallback = (key: string) => Promise<void>;
|
|
13
|
-
export
|
|
13
|
+
export interface DatabaseArgs {
|
|
14
14
|
bridge?: Bridge;
|
|
15
15
|
level: Level;
|
|
16
16
|
onPut?: (key: string, value: any) => Promise<void>;
|
|
@@ -18,8 +18,34 @@ export declare type CreateDatabase = {
|
|
|
18
18
|
tinaDirectory?: string;
|
|
19
19
|
indexStatusCallback?: IndexStatusCallback;
|
|
20
20
|
version?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface GitProvider {
|
|
23
|
+
onPut: (key: string, value: string) => Promise<void>;
|
|
24
|
+
onDelete: (key: string) => Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
export declare type CreateDatabase = Omit<DatabaseArgs, 'level' | 'onPut' | 'onDelete'> & {
|
|
27
|
+
databaseAdapter: Level;
|
|
28
|
+
gitProvider: GitProvider;
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated Use databaseAdapter instead
|
|
31
|
+
*/
|
|
32
|
+
level?: Level;
|
|
33
|
+
/**
|
|
34
|
+
* @deprecated Use gitProvider instead
|
|
35
|
+
*/
|
|
36
|
+
onPut?: OnPutCallback;
|
|
37
|
+
/**
|
|
38
|
+
* @deprecated Use gitProvider instead
|
|
39
|
+
*/
|
|
40
|
+
onDelete?: OnDeleteCallback;
|
|
41
|
+
};
|
|
42
|
+
export declare type CreateLocalDatabaseArgs = Omit<DatabaseArgs, 'level'> & {
|
|
43
|
+
port?: number;
|
|
44
|
+
rootPath?: string;
|
|
21
45
|
};
|
|
46
|
+
export declare const createLocalDatabase: (config?: CreateLocalDatabaseArgs) => Database;
|
|
22
47
|
export declare const createDatabase: (config: CreateDatabase) => Database;
|
|
48
|
+
export declare const createDatabaseInternal: (config: DatabaseArgs) => Database;
|
|
23
49
|
/** Options for {@link Database.query} **/
|
|
24
50
|
export declare type QueryOptions = {
|
|
25
51
|
fileExtension?: string;
|
|
@@ -33,7 +59,7 @@ export declare type QueryOptions = {
|
|
|
33
59
|
folder?: string;
|
|
34
60
|
};
|
|
35
61
|
export declare class Database {
|
|
36
|
-
config:
|
|
62
|
+
config: DatabaseArgs;
|
|
37
63
|
bridge?: Bridge;
|
|
38
64
|
rootLevel: Level;
|
|
39
65
|
level: Level | undefined;
|
|
@@ -44,7 +70,7 @@ export declare class Database {
|
|
|
44
70
|
private tinaSchema;
|
|
45
71
|
private collectionIndexDefinitions;
|
|
46
72
|
private _lookup;
|
|
47
|
-
constructor(config:
|
|
73
|
+
constructor(config: DatabaseArgs);
|
|
48
74
|
private collectionForPath;
|
|
49
75
|
private getGeneratedFolder;
|
|
50
76
|
private updateDatabaseVersion;
|
package/dist/index.d.ts
CHANGED
|
@@ -3,9 +3,10 @@ import { buildDotTinaFiles } from './build';
|
|
|
3
3
|
export { resolve } from './resolve';
|
|
4
4
|
export { transformDocumentIntoPayload } from './resolver';
|
|
5
5
|
export * from './resolver/error';
|
|
6
|
-
export { createDatabase } from './database';
|
|
7
6
|
export { TinaLevelClient } from './level/tinaLevel';
|
|
8
|
-
export type {
|
|
7
|
+
export type { Level } from './database/level';
|
|
8
|
+
export type { QueryOptions, OnDeleteCallback, OnPutCallback, DatabaseArgs, GitProvider, CreateDatabase, } from './database';
|
|
9
|
+
export { Database, createDatabaseInternal, createDatabase, createLocalDatabase, } from './database';
|
|
9
10
|
import type { Config } from '@tinacms/schema-tools';
|
|
10
11
|
export { getChangedFiles, getSha, shaExists } from './git';
|
|
11
12
|
export { sequential, assertShape } from './util';
|
package/dist/index.js
CHANGED
|
@@ -26,6 +26,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
26
26
|
var src_exports = {};
|
|
27
27
|
__export(src_exports, {
|
|
28
28
|
AuditFileSystemBridge: () => AuditFileSystemBridge,
|
|
29
|
+
Database: () => Database,
|
|
29
30
|
FilesystemBridge: () => FilesystemBridge,
|
|
30
31
|
IsomorphicBridge: () => IsomorphicBridge,
|
|
31
32
|
TinaFetchError: () => TinaFetchError,
|
|
@@ -37,6 +38,8 @@ __export(src_exports, {
|
|
|
37
38
|
buildDotTinaFiles: () => buildDotTinaFiles,
|
|
38
39
|
buildSchema: () => buildSchema,
|
|
39
40
|
createDatabase: () => createDatabase,
|
|
41
|
+
createDatabaseInternal: () => createDatabaseInternal,
|
|
42
|
+
createLocalDatabase: () => createLocalDatabase,
|
|
40
43
|
createSchema: () => createSchema,
|
|
41
44
|
getChangedFiles: () => getChangedFiles,
|
|
42
45
|
getSha: () => getSha,
|
|
@@ -5060,12 +5063,76 @@ var resolve = async ({
|
|
|
5060
5063
|
}
|
|
5061
5064
|
};
|
|
5062
5065
|
|
|
5066
|
+
// src/level/tinaLevel.ts
|
|
5067
|
+
var import_many_level = require("many-level");
|
|
5068
|
+
var import_readable_stream = require("readable-stream");
|
|
5069
|
+
var import_net = require("net");
|
|
5070
|
+
var TinaLevelClient = class extends import_many_level.ManyLevelGuest {
|
|
5071
|
+
constructor(port) {
|
|
5072
|
+
super();
|
|
5073
|
+
this._connected = false;
|
|
5074
|
+
this.port = port || 9e3;
|
|
5075
|
+
}
|
|
5076
|
+
openConnection() {
|
|
5077
|
+
if (this._connected)
|
|
5078
|
+
return;
|
|
5079
|
+
const socket = (0, import_net.connect)(this.port);
|
|
5080
|
+
(0, import_readable_stream.pipeline)(socket, this.createRpcStream(), socket, () => {
|
|
5081
|
+
this._connected = false;
|
|
5082
|
+
});
|
|
5083
|
+
this._connected = true;
|
|
5084
|
+
}
|
|
5085
|
+
};
|
|
5086
|
+
|
|
5063
5087
|
// src/database/index.ts
|
|
5064
5088
|
var import_path4 = __toESM(require("path"));
|
|
5065
5089
|
var import_graphql5 = require("graphql");
|
|
5066
5090
|
var import_micromatch2 = __toESM(require("micromatch"));
|
|
5067
5091
|
var import_js_sha12 = __toESM(require("js-sha1"));
|
|
5092
|
+
var createLocalDatabase = (config) => {
|
|
5093
|
+
const level = new TinaLevelClient(config == null ? void 0 : config.port);
|
|
5094
|
+
level.openConnection();
|
|
5095
|
+
const fsBridge = new FilesystemBridge((config == null ? void 0 : config.rootPath) || process.cwd());
|
|
5096
|
+
return new Database({
|
|
5097
|
+
bridge: fsBridge,
|
|
5098
|
+
...config || {},
|
|
5099
|
+
level
|
|
5100
|
+
});
|
|
5101
|
+
};
|
|
5068
5102
|
var createDatabase = (config) => {
|
|
5103
|
+
if (config.onPut && config.onDelete) {
|
|
5104
|
+
console.warn(
|
|
5105
|
+
"onPut and onDelete are deprecated. Please use gitProvider.onPut and gitProvider.onDelete instead."
|
|
5106
|
+
);
|
|
5107
|
+
}
|
|
5108
|
+
if (config.level) {
|
|
5109
|
+
console.warn("level is deprecated. Please use databaseAdapter instead.");
|
|
5110
|
+
}
|
|
5111
|
+
if (config.onPut && config.onDelete && config.level && !config.databaseAdapter && !config.gitProvider) {
|
|
5112
|
+
return new Database({
|
|
5113
|
+
...config,
|
|
5114
|
+
level: config.level
|
|
5115
|
+
});
|
|
5116
|
+
}
|
|
5117
|
+
if (!config.gitProvider) {
|
|
5118
|
+
throw new Error(
|
|
5119
|
+
"createDatabase requires a gitProvider. Please provide a gitProvider."
|
|
5120
|
+
);
|
|
5121
|
+
}
|
|
5122
|
+
if (!config.databaseAdapter) {
|
|
5123
|
+
throw new Error(
|
|
5124
|
+
"createDatabase requires a databaseAdapter. Please provide a databaseAdapter."
|
|
5125
|
+
);
|
|
5126
|
+
}
|
|
5127
|
+
return new Database({
|
|
5128
|
+
...config,
|
|
5129
|
+
bridge: config.bridge,
|
|
5130
|
+
level: config.databaseAdapter,
|
|
5131
|
+
onPut: config.gitProvider.onPut.bind(config.gitProvider),
|
|
5132
|
+
onDelete: config.gitProvider.onDelete.bind(config.gitProvider)
|
|
5133
|
+
});
|
|
5134
|
+
};
|
|
5135
|
+
var createDatabaseInternal = (config) => {
|
|
5069
5136
|
return new Database({
|
|
5070
5137
|
...config,
|
|
5071
5138
|
bridge: config.bridge,
|
|
@@ -6086,27 +6153,6 @@ var _deleteIndexContent = async (database, documentPaths, enqueueOps, collection
|
|
|
6086
6153
|
}
|
|
6087
6154
|
};
|
|
6088
6155
|
|
|
6089
|
-
// src/level/tinaLevel.ts
|
|
6090
|
-
var import_many_level = require("many-level");
|
|
6091
|
-
var import_readable_stream = require("readable-stream");
|
|
6092
|
-
var import_net = require("net");
|
|
6093
|
-
var TinaLevelClient = class extends import_many_level.ManyLevelGuest {
|
|
6094
|
-
constructor(port) {
|
|
6095
|
-
super();
|
|
6096
|
-
this._connected = false;
|
|
6097
|
-
this.port = port || 9e3;
|
|
6098
|
-
}
|
|
6099
|
-
openConnection() {
|
|
6100
|
-
if (this._connected)
|
|
6101
|
-
return;
|
|
6102
|
-
const socket = (0, import_net.connect)(this.port);
|
|
6103
|
-
(0, import_readable_stream.pipeline)(socket, this.createRpcStream(), socket, () => {
|
|
6104
|
-
this._connected = false;
|
|
6105
|
-
});
|
|
6106
|
-
this._connected = true;
|
|
6107
|
-
}
|
|
6108
|
-
};
|
|
6109
|
-
|
|
6110
6156
|
// src/git/index.ts
|
|
6111
6157
|
var import_isomorphic_git = __toESM(require("isomorphic-git"));
|
|
6112
6158
|
var import_fs_extra = __toESM(require("fs-extra"));
|
|
@@ -6643,6 +6689,7 @@ var buildSchema = async (config, flags) => {
|
|
|
6643
6689
|
// Annotate the CommonJS export names for ESM import in node:
|
|
6644
6690
|
0 && (module.exports = {
|
|
6645
6691
|
AuditFileSystemBridge,
|
|
6692
|
+
Database,
|
|
6646
6693
|
FilesystemBridge,
|
|
6647
6694
|
IsomorphicBridge,
|
|
6648
6695
|
TinaFetchError,
|
|
@@ -6654,6 +6701,8 @@ var buildSchema = async (config, flags) => {
|
|
|
6654
6701
|
buildDotTinaFiles,
|
|
6655
6702
|
buildSchema,
|
|
6656
6703
|
createDatabase,
|
|
6704
|
+
createDatabaseInternal,
|
|
6705
|
+
createLocalDatabase,
|
|
6657
6706
|
createSchema,
|
|
6658
6707
|
getChangedFiles,
|
|
6659
6708
|
getSha,
|
package/dist/index.mjs
CHANGED
|
@@ -4991,12 +4991,76 @@ var resolve = async ({
|
|
|
4991
4991
|
}
|
|
4992
4992
|
};
|
|
4993
4993
|
|
|
4994
|
+
// src/level/tinaLevel.ts
|
|
4995
|
+
import { ManyLevelGuest } from "many-level";
|
|
4996
|
+
import { pipeline } from "readable-stream";
|
|
4997
|
+
import { connect } from "net";
|
|
4998
|
+
var TinaLevelClient = class extends ManyLevelGuest {
|
|
4999
|
+
constructor(port) {
|
|
5000
|
+
super();
|
|
5001
|
+
this._connected = false;
|
|
5002
|
+
this.port = port || 9e3;
|
|
5003
|
+
}
|
|
5004
|
+
openConnection() {
|
|
5005
|
+
if (this._connected)
|
|
5006
|
+
return;
|
|
5007
|
+
const socket = connect(this.port);
|
|
5008
|
+
pipeline(socket, this.createRpcStream(), socket, () => {
|
|
5009
|
+
this._connected = false;
|
|
5010
|
+
});
|
|
5011
|
+
this._connected = true;
|
|
5012
|
+
}
|
|
5013
|
+
};
|
|
5014
|
+
|
|
4994
5015
|
// src/database/index.ts
|
|
4995
5016
|
import path4 from "path";
|
|
4996
5017
|
import { GraphQLError as GraphQLError4 } from "graphql";
|
|
4997
5018
|
import micromatch2 from "micromatch";
|
|
4998
5019
|
import sha2 from "js-sha1";
|
|
5020
|
+
var createLocalDatabase = (config) => {
|
|
5021
|
+
const level = new TinaLevelClient(config?.port);
|
|
5022
|
+
level.openConnection();
|
|
5023
|
+
const fsBridge = new FilesystemBridge(config?.rootPath || process.cwd());
|
|
5024
|
+
return new Database({
|
|
5025
|
+
bridge: fsBridge,
|
|
5026
|
+
...config || {},
|
|
5027
|
+
level
|
|
5028
|
+
});
|
|
5029
|
+
};
|
|
4999
5030
|
var createDatabase = (config) => {
|
|
5031
|
+
if (config.onPut && config.onDelete) {
|
|
5032
|
+
console.warn(
|
|
5033
|
+
"onPut and onDelete are deprecated. Please use gitProvider.onPut and gitProvider.onDelete instead."
|
|
5034
|
+
);
|
|
5035
|
+
}
|
|
5036
|
+
if (config.level) {
|
|
5037
|
+
console.warn("level is deprecated. Please use databaseAdapter instead.");
|
|
5038
|
+
}
|
|
5039
|
+
if (config.onPut && config.onDelete && config.level && !config.databaseAdapter && !config.gitProvider) {
|
|
5040
|
+
return new Database({
|
|
5041
|
+
...config,
|
|
5042
|
+
level: config.level
|
|
5043
|
+
});
|
|
5044
|
+
}
|
|
5045
|
+
if (!config.gitProvider) {
|
|
5046
|
+
throw new Error(
|
|
5047
|
+
"createDatabase requires a gitProvider. Please provide a gitProvider."
|
|
5048
|
+
);
|
|
5049
|
+
}
|
|
5050
|
+
if (!config.databaseAdapter) {
|
|
5051
|
+
throw new Error(
|
|
5052
|
+
"createDatabase requires a databaseAdapter. Please provide a databaseAdapter."
|
|
5053
|
+
);
|
|
5054
|
+
}
|
|
5055
|
+
return new Database({
|
|
5056
|
+
...config,
|
|
5057
|
+
bridge: config.bridge,
|
|
5058
|
+
level: config.databaseAdapter,
|
|
5059
|
+
onPut: config.gitProvider.onPut.bind(config.gitProvider),
|
|
5060
|
+
onDelete: config.gitProvider.onDelete.bind(config.gitProvider)
|
|
5061
|
+
});
|
|
5062
|
+
};
|
|
5063
|
+
var createDatabaseInternal = (config) => {
|
|
5000
5064
|
return new Database({
|
|
5001
5065
|
...config,
|
|
5002
5066
|
bridge: config.bridge,
|
|
@@ -6015,27 +6079,6 @@ var _deleteIndexContent = async (database, documentPaths, enqueueOps, collection
|
|
|
6015
6079
|
}
|
|
6016
6080
|
};
|
|
6017
6081
|
|
|
6018
|
-
// src/level/tinaLevel.ts
|
|
6019
|
-
import { ManyLevelGuest } from "many-level";
|
|
6020
|
-
import { pipeline } from "readable-stream";
|
|
6021
|
-
import { connect } from "net";
|
|
6022
|
-
var TinaLevelClient = class extends ManyLevelGuest {
|
|
6023
|
-
constructor(port) {
|
|
6024
|
-
super();
|
|
6025
|
-
this._connected = false;
|
|
6026
|
-
this.port = port || 9e3;
|
|
6027
|
-
}
|
|
6028
|
-
openConnection() {
|
|
6029
|
-
if (this._connected)
|
|
6030
|
-
return;
|
|
6031
|
-
const socket = connect(this.port);
|
|
6032
|
-
pipeline(socket, this.createRpcStream(), socket, () => {
|
|
6033
|
-
this._connected = false;
|
|
6034
|
-
});
|
|
6035
|
-
this._connected = true;
|
|
6036
|
-
}
|
|
6037
|
-
};
|
|
6038
|
-
|
|
6039
6082
|
// src/git/index.ts
|
|
6040
6083
|
import git from "isomorphic-git";
|
|
6041
6084
|
import fs from "fs-extra";
|
|
@@ -6571,6 +6614,7 @@ var buildSchema = async (config, flags) => {
|
|
|
6571
6614
|
};
|
|
6572
6615
|
export {
|
|
6573
6616
|
AuditFileSystemBridge,
|
|
6617
|
+
Database,
|
|
6574
6618
|
FilesystemBridge,
|
|
6575
6619
|
IsomorphicBridge,
|
|
6576
6620
|
TinaFetchError,
|
|
@@ -6582,6 +6626,8 @@ export {
|
|
|
6582
6626
|
buildDotTinaFiles,
|
|
6583
6627
|
buildSchema,
|
|
6584
6628
|
createDatabase,
|
|
6629
|
+
createDatabaseInternal,
|
|
6630
|
+
createLocalDatabase,
|
|
6585
6631
|
createSchema,
|
|
6586
6632
|
getChangedFiles,
|
|
6587
6633
|
getSha,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tinacms/graphql",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-20230829134542",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/index.mjs",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -24,8 +24,6 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@iarna/toml": "^2.2.5",
|
|
27
|
-
"@tinacms/mdx": "1.3.18",
|
|
28
|
-
"@tinacms/schema-tools": "1.4.12",
|
|
29
27
|
"abstract-level": "^1.0.3",
|
|
30
28
|
"body-parser": "^1.19.0",
|
|
31
29
|
"cors": "^2.8.5",
|
|
@@ -47,7 +45,9 @@
|
|
|
47
45
|
"micromatch": "4.0.5",
|
|
48
46
|
"normalize-path": "^3.0.0",
|
|
49
47
|
"readable-stream": "^4.3.0",
|
|
50
|
-
"yup": "^0.32.9"
|
|
48
|
+
"yup": "^0.32.9",
|
|
49
|
+
"@tinacms/mdx": "1.3.18",
|
|
50
|
+
"@tinacms/schema-tools": "1.4.12"
|
|
51
51
|
},
|
|
52
52
|
"publishConfig": {
|
|
53
53
|
"registry": "https://registry.npmjs.org"
|
|
@@ -57,8 +57,6 @@
|
|
|
57
57
|
"directory": "packages/tina-graphql"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@tinacms/schema-tools": "1.4.12",
|
|
61
|
-
"@tinacms/scripts": "1.1.2",
|
|
62
60
|
"@types/cors": "^2.8.7",
|
|
63
61
|
"@types/estree": "^0.0.50",
|
|
64
62
|
"@types/express": "^4.17.8",
|
|
@@ -81,7 +79,9 @@
|
|
|
81
79
|
"jest-matcher-utils": "^29.5.0",
|
|
82
80
|
"memory-level": "^1.0.0",
|
|
83
81
|
"nodemon": "2.0.19",
|
|
84
|
-
"typescript": "4.3.5"
|
|
82
|
+
"typescript": "4.3.5",
|
|
83
|
+
"@tinacms/schema-tools": "1.4.12",
|
|
84
|
+
"@tinacms/scripts": "1.1.2"
|
|
85
85
|
},
|
|
86
86
|
"scripts": {
|
|
87
87
|
"types": "pnpm tsc",
|