@frogbotai/plugin-import-export 0.30.0 → 0.32.0
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/README.md +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +79 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @frogbotai/plugin-import-export
|
|
2
2
|
|
|
3
|
-
Add
|
|
3
|
+
Add import and export collections, jobs, and admin controls to FrogBot collections.
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
6
|
import { importExportPlugin } from '@frogbotai/plugin-import-export';
|
|
@@ -12,4 +12,4 @@ export default buildConfig({
|
|
|
12
12
|
});
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
It supports the collection, import, export, limit, hook, and override options that fit FrogBot's collection, admin component, i18n, and jobs config surfaces.
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAItC,MAAM,MAAM,yBAAyB,GAAG,wBAAwB,CAAC;AAajE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,MAAM,CAS7E"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,84 @@
|
|
|
1
1
|
import { importExportPlugin as payloadImportExportPlugin } from '@payloadcms/plugin-import-export';
|
|
2
|
+
import { wrapPayloadPlugin } from 'frogbot/internal';
|
|
3
|
+
const queueHooks = {
|
|
4
|
+
export: {
|
|
5
|
+
count: 1,
|
|
6
|
+
index: 0
|
|
7
|
+
},
|
|
8
|
+
import: {
|
|
9
|
+
count: 2,
|
|
10
|
+
index: 1
|
|
11
|
+
}
|
|
12
|
+
};
|
|
2
13
|
export function importExportPlugin(options) {
|
|
3
|
-
|
|
14
|
+
const pluginOptions = {
|
|
15
|
+
...options,
|
|
16
|
+
overrideExportCollection: queueWithRequest('export', options.overrideExportCollection),
|
|
17
|
+
overrideImportCollection: queueWithRequest('import', options.overrideImportCollection),
|
|
18
|
+
...options.collections && {
|
|
19
|
+
collections: options.collections.map(withCollectionQueues)
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
return wrapPayloadPlugin(payloadImportExportPlugin(pluginOptions));
|
|
23
|
+
}
|
|
24
|
+
function withCollectionQueues(collection) {
|
|
25
|
+
const { export: exportConfig, import: importConfig } = collection;
|
|
26
|
+
return {
|
|
27
|
+
...collection,
|
|
28
|
+
...typeof exportConfig === 'object' && exportConfig.overrideCollection && {
|
|
29
|
+
export: {
|
|
30
|
+
...exportConfig,
|
|
31
|
+
overrideCollection: queueWithRequest('export', exportConfig.overrideCollection)
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
...typeof importConfig === 'object' && importConfig.overrideCollection && {
|
|
35
|
+
import: {
|
|
36
|
+
...importConfig,
|
|
37
|
+
overrideCollection: queueWithRequest('import', importConfig.overrideCollection)
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function queueWithRequest(kind, override) {
|
|
43
|
+
return ({ collection })=>{
|
|
44
|
+
const afterChange = collection.hooks?.afterChange ?? [];
|
|
45
|
+
const { count, index } = queueHooks[kind];
|
|
46
|
+
if (afterChange.length !== count) {
|
|
47
|
+
throw new Error(`[plugin-import-export] Expected ${count} afterChange hooks on Payload's ${kind} collection '${collection.slug}', found ${afterChange.length}.`);
|
|
48
|
+
}
|
|
49
|
+
const queueHook = afterChange[index];
|
|
50
|
+
const withRequest = (args)=>queueHook({
|
|
51
|
+
...args,
|
|
52
|
+
req: withQueueRequest(args.req)
|
|
53
|
+
});
|
|
54
|
+
const queued = {
|
|
55
|
+
...collection,
|
|
56
|
+
hooks: {
|
|
57
|
+
...collection.hooks,
|
|
58
|
+
afterChange: afterChange.map((hook, position)=>position === index ? withRequest : hook)
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
return override ? override({
|
|
62
|
+
collection: queued
|
|
63
|
+
}) : queued;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function withQueueRequest(req) {
|
|
67
|
+
const { payload } = req;
|
|
68
|
+
const queue = (args)=>payload.jobs.queue({
|
|
69
|
+
...args,
|
|
70
|
+
req
|
|
71
|
+
});
|
|
72
|
+
return replace(req, 'payload', replace(payload, 'jobs', replace(payload.jobs, 'queue', queue)));
|
|
73
|
+
}
|
|
74
|
+
function replace(target, key, value) {
|
|
75
|
+
return new Proxy(target, {
|
|
76
|
+
get: (object, property)=>{
|
|
77
|
+
if (property === key) return value;
|
|
78
|
+
const found = Reflect.get(object, property);
|
|
79
|
+
return typeof found === 'function' ? found.bind(object) : found;
|
|
80
|
+
}
|
|
81
|
+
});
|
|
4
82
|
}
|
|
5
83
|
|
|
6
84
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["importExportPlugin","payloadImportExportPlugin","options","
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["importExportPlugin","payloadImportExportPlugin","wrapPayloadPlugin","queueHooks","export","count","index","import","options","pluginOptions","overrideExportCollection","queueWithRequest","overrideImportCollection","collections","map","withCollectionQueues","collection","exportConfig","importConfig","overrideCollection","kind","override","afterChange","hooks","length","Error","slug","queueHook","withRequest","args","req","withQueueRequest","queued","hook","position","payload","queue","jobs","replace","target","key","value","Proxy","get","object","property","found","Reflect","bind"],"mappings":"AAAA,SAASA,sBAAsBC,yBAAyB,QAAQ,mCAAmC;AAGnG,SAASC,iBAAiB,QAAQ,mBAAmB;AAWrD,MAAMC,aAAsE;IAC1EC,QAAQ;QAAEC,OAAO;QAAGC,OAAO;IAAE;IAC7BC,QAAQ;QAAEF,OAAO;QAAGC,OAAO;IAAE;AAC/B;AAEA,OAAO,SAASN,mBAAmBQ,OAAkC;IACnE,MAAMC,gBAA0C;QAC9C,GAAGD,OAAO;QACVE,0BAA0BC,iBAAiB,UAAUH,QAAQE,wBAAwB;QACrFE,0BAA0BD,iBAAiB,UAAUH,QAAQI,wBAAwB;QACrF,GAAIJ,QAAQK,WAAW,IAAI;YAAEA,aAAaL,QAAQK,WAAW,CAACC,GAAG,CAACC;QAAsB,CAAC;IAC3F;IAEA,OAAOb,kBAAkBD,0BAA0BQ;AACrD;AAEA,SAASM,qBAAqBC,UAA4B;IACxD,MAAM,EAAEZ,QAAQa,YAAY,EAAEV,QAAQW,YAAY,EAAE,GAAGF;IAEvD,OAAO;QACL,GAAGA,UAAU;QACb,GAAI,OAAOC,iBAAiB,YAC1BA,aAAaE,kBAAkB,IAAI;YACjCf,QAAQ;gBACN,GAAGa,YAAY;gBACfE,oBAAoBR,iBAAiB,UAAUM,aAAaE,kBAAkB;YAChF;QACF,CAAC;QACH,GAAI,OAAOD,iBAAiB,YAC1BA,aAAaC,kBAAkB,IAAI;YACjCZ,QAAQ;gBACN,GAAGW,YAAY;gBACfC,oBAAoBR,iBAAiB,UAAUO,aAAaC,kBAAkB;YAChF;QACF,CAAC;IACL;AACF;AAEA,SAASR,iBAAiBS,IAAmB,EAAEC,QAA6B;IAC1E,OAAO,CAAC,EAAEL,UAAU,EAAE;QACpB,MAAMM,cAAcN,WAAWO,KAAK,EAAED,eAAe,EAAE;QACvD,MAAM,EAAEjB,KAAK,EAAEC,KAAK,EAAE,GAAGH,UAAU,CAACiB,KAAK;QAEzC,IAAIE,YAAYE,MAAM,KAAKnB,OAAO;YAChC,MAAM,IAAIoB,MACR,CAAC,gCAAgC,EAAEpB,MAAM,gCAAgC,EAAEe,KAAK,aAAa,EAAEJ,WAAWU,IAAI,CAAC,SAAS,EAAEJ,YAAYE,MAAM,CAAC,CAAC,CAAC;QAEnJ;QAEA,MAAMG,YAAYL,WAAW,CAAChB,MAAM;QAEpC,MAAMsB,cAAyC,CAACC,OAC9CF,UAAU;gBAAE,GAAGE,IAAI;gBAAEC,KAAKC,iBAAiBF,KAAKC,GAAG;YAAE;QAEvD,MAAME,SAAS;YACb,GAAGhB,UAAU;YACbO,OAAO;gBACL,GAAGP,WAAWO,KAAK;gBACnBD,aAAaA,YAAYR,GAAG,CAAC,CAACmB,MAAMC,WAAcA,aAAa5B,QAAQsB,cAAcK;YACvF;QACF;QAEA,OAAOZ,WAAWA,SAAS;YAAEL,YAAYgB;QAAO,KAAKA;IACvD;AACF;AAEA,SAASD,iBAAiBD,GAAmB;IAC3C,MAAM,EAAEK,OAAO,EAAE,GAAGL;IAEpB,MAAMM,QAAS,CAACP,OAASM,QAAQE,IAAI,CAACD,KAAK,CAAC;YAAE,GAAGP,IAAI;YAAEC;QAAI;IAE3D,OAAOQ,QAAQR,KAAK,WAAWQ,QAAQH,SAAS,QAAQG,QAAQH,QAAQE,IAAI,EAAE,SAASD;AACzF;AAEA,SAASE,QAA6CC,MAAS,EAAEC,GAAM,EAAEC,KAAW;IAClF,OAAO,IAAIC,MAAMH,QAAQ;QACvBI,KAAK,CAACC,QAAQC;YACZ,IAAIA,aAAaL,KAAK,OAAOC;YAE7B,MAAMK,QAAiBC,QAAQJ,GAAG,CAACC,QAAQC;YAE3C,OAAO,OAAOC,UAAU,aAAaA,MAAME,IAAI,CAACJ,UAAUE;QAC5D;IACF;AACF","file":"index.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frogbotai/plugin-import-export",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "Payload import and export integration for FrogBot.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Colby Gilbert",
|
|
@@ -38,14 +38,14 @@
|
|
|
38
38
|
"payload": "3.90.1",
|
|
39
39
|
"react": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
40
40
|
"react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
41
|
-
"frogbot": "0.
|
|
41
|
+
"frogbot": "0.32.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"payload": "3.90.1",
|
|
45
45
|
"react": "19.2.6",
|
|
46
46
|
"react-dom": "19.2.6",
|
|
47
47
|
"typescript": "5.6.2",
|
|
48
|
-
"frogbot": "0.
|
|
48
|
+
"frogbot": "0.32.0"
|
|
49
49
|
},
|
|
50
50
|
"publishConfig": {
|
|
51
51
|
"access": "public"
|