@frogbotai/plugin-import-export 0.29.0 → 0.31.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @frogbotai/plugin-import-export
2
2
 
3
- Add Payload's import and export collections, jobs, and admin controls to FrogBot collections.
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
- This package delegates to `@payloadcms/plugin-import-export`. It preserves the upstream collection, import, export, limit, hook, and override options supported by FrogBot's collection, admin component, i18n, and jobs config surfaces.
15
+ It supports the collection, import, export, limit, hook, and override options that fit FrogBot's collection, admin component, i18n, and jobs config surfaces.
@@ -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;AAEtC,MAAM,MAAM,yBAAyB,GAAG,wBAAwB,CAAC;AAEjE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,MAAM,CAG7E"}
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,5 +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
- return async (config) => (await payloadImportExportPlugin(options)(config));
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));
4
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
+ });
82
+ }
83
+
5
84
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,IAAI,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAMnG,MAAM,UAAU,kBAAkB,CAAC,OAAkC;IACnE,OAAO,KAAK,EAAE,MAAM,EAAE,EAAE,CACtB,CAAC,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC,MAAe,CAAC,CAA6B,CAAC;AAC5F,CAAC"}
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/dist/rsc.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from '@payloadcms/plugin-import-export/rsc';
2
+
2
3
  //# sourceMappingURL=rsc.js.map
package/dist/rsc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rsc.js","sourceRoot":"","sources":["../src/rsc.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC"}
1
+ {"version":3,"sources":["../src/rsc.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC","file":"rsc.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frogbotai/plugin-import-export",
3
- "version": "0.29.0",
3
+ "version": "0.31.0",
4
4
  "description": "Payload import and export integration for FrogBot.",
5
5
  "license": "MIT",
6
6
  "author": "Colby Gilbert",
@@ -38,20 +38,20 @@
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.29.0"
41
+ "frogbot": "0.31.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.29.0"
48
+ "frogbot": "0.31.0"
49
49
  },
50
50
  "publishConfig": {
51
51
  "access": "public"
52
52
  },
53
53
  "scripts": {
54
- "build": "rm -rf dist && tsc -p tsconfig.json",
54
+ "build": "node ../../../scripts/build-package.mjs",
55
55
  "clean": "rm -rf dist",
56
56
  "typecheck": "tsc --noEmit"
57
57
  }