@payloadcms/plugin-nested-docs 4.0.0-internal.4c792ad → 4.0.0-internal.5214550

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/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2018-2025 Payload CMS, Inc. <info@payloadcms.com>
3
+ Copyright (c) 2018-2026 Payload CMS, LLC <info@payloadcms.com>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining
6
6
  a copy of this software and associated documentation files (the
package/dist/index.d.ts CHANGED
@@ -1,8 +1,7 @@
1
- import type { Plugin } from 'payload';
2
1
  import type { NestedDocsPluginConfig } from './types.js';
3
2
  import { createBreadcrumbsField } from './fields/breadcrumbs.js';
4
3
  import { createParentField } from './fields/parent.js';
5
4
  import { getParents } from './utilities/getParents.js';
6
5
  export { createBreadcrumbsField, createParentField, getParents };
7
- export declare const nestedDocsPlugin: (pluginConfig: NestedDocsPluginConfig) => Plugin;
6
+ export declare const nestedDocsPlugin: (options: NestedDocsPluginConfig) => import("payload").Plugin;
8
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAA2B,MAAM,SAAS,CAAA;AAE9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAKtD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAEtD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAA;AAEhE,eAAO,MAAM,gBAAgB,GAC1B,cAAc,sBAAsB,KAAG,MAsDtC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAKtD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAEtD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAA;AAEhE,eAAO,MAAM,gBAAgB,+DAwD3B,CAAA"}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { definePlugin } from 'payload';
1
2
  import { createBreadcrumbsField } from './fields/breadcrumbs.js';
2
3
  import { createParentField } from './fields/parent.js';
3
4
  import { parentFilterOptions } from './fields/parentFilterOptions.js';
@@ -6,7 +7,9 @@ import { resaveChildren } from './hooks/resaveChildren.js';
6
7
  import { resaveSelfAfterCreate } from './hooks/resaveSelfAfterCreate.js';
7
8
  import { getParents } from './utilities/getParents.js';
8
9
  export { createBreadcrumbsField, createParentField, getParents };
9
- export const nestedDocsPlugin = (pluginConfig)=>(config)=>({
10
+ export const nestedDocsPlugin = definePlugin({
11
+ slug: '@payloadcms/plugin-nested-docs',
12
+ plugin: ({ config, options: pluginConfig })=>({
10
13
  ...config,
11
14
  collections: (config.collections || []).map((collection)=>{
12
15
  if (pluginConfig.collections.indexOf(collection.slug) > -1) {
@@ -48,6 +51,7 @@ export const nestedDocsPlugin = (pluginConfig)=>(config)=>({
48
51
  }
49
52
  return collection;
50
53
  })
51
- });
54
+ })
55
+ });
52
56
 
53
57
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { Plugin, SingleRelationshipField } from 'payload'\n\nimport type { NestedDocsPluginConfig } from './types.js'\n\nimport { createBreadcrumbsField } from './fields/breadcrumbs.js'\nimport { createParentField } from './fields/parent.js'\nimport { parentFilterOptions } from './fields/parentFilterOptions.js'\nimport { populateBreadcrumbsBeforeChange } from './hooks/populateBreadcrumbsBeforeChange.js'\nimport { resaveChildren } from './hooks/resaveChildren.js'\nimport { resaveSelfAfterCreate } from './hooks/resaveSelfAfterCreate.js'\nimport { getParents } from './utilities/getParents.js'\n\nexport { createBreadcrumbsField, createParentField, getParents }\n\nexport const nestedDocsPlugin =\n (pluginConfig: NestedDocsPluginConfig): Plugin =>\n (config) => ({\n ...config,\n collections: (config.collections || []).map((collection) => {\n if (pluginConfig.collections.indexOf(collection.slug) > -1) {\n const fields = [...(collection?.fields || [])]\n\n const existingBreadcrumbField = collection.fields.find(\n (field) =>\n 'name' in field && field.name === (pluginConfig?.breadcrumbsFieldSlug || 'breadcrumbs'),\n )\n\n const existingParentField = collection.fields.find(\n (field) => 'name' in field && field.name === (pluginConfig?.parentFieldSlug || 'parent'),\n ) as SingleRelationshipField\n\n const defaultFilterOptions = parentFilterOptions(pluginConfig?.breadcrumbsFieldSlug)\n\n if (existingParentField) {\n if (!existingParentField.filterOptions) {\n existingParentField.filterOptions = defaultFilterOptions\n }\n }\n\n if (!existingParentField && !pluginConfig.parentFieldSlug) {\n const defaultParentField = createParentField(collection.slug)\n defaultParentField.filterOptions = defaultFilterOptions\n fields.push(defaultParentField)\n }\n\n if (!existingBreadcrumbField && !pluginConfig.breadcrumbsFieldSlug) {\n fields.push(createBreadcrumbsField(collection.slug))\n }\n\n return {\n ...collection,\n fields,\n hooks: {\n ...(collection.hooks || {}),\n afterChange: [\n resaveChildren(pluginConfig),\n resaveSelfAfterCreate(pluginConfig),\n ...(collection?.hooks?.afterChange || []),\n ],\n beforeChange: [\n populateBreadcrumbsBeforeChange(pluginConfig),\n ...(collection?.hooks?.beforeChange || []),\n ],\n },\n }\n }\n\n return collection\n }),\n })\n"],"names":["createBreadcrumbsField","createParentField","parentFilterOptions","populateBreadcrumbsBeforeChange","resaveChildren","resaveSelfAfterCreate","getParents","nestedDocsPlugin","pluginConfig","config","collections","map","collection","indexOf","slug","fields","existingBreadcrumbField","find","field","name","breadcrumbsFieldSlug","existingParentField","parentFieldSlug","defaultFilterOptions","filterOptions","defaultParentField","push","hooks","afterChange","beforeChange"],"mappings":"AAIA,SAASA,sBAAsB,QAAQ,0BAAyB;AAChE,SAASC,iBAAiB,QAAQ,qBAAoB;AACtD,SAASC,mBAAmB,QAAQ,kCAAiC;AACrE,SAASC,+BAA+B,QAAQ,6CAA4C;AAC5F,SAASC,cAAc,QAAQ,4BAA2B;AAC1D,SAASC,qBAAqB,QAAQ,mCAAkC;AACxE,SAASC,UAAU,QAAQ,4BAA2B;AAEtD,SAASN,sBAAsB,EAAEC,iBAAiB,EAAEK,UAAU,GAAE;AAEhE,OAAO,MAAMC,mBACX,CAACC,eACD,CAACC,SAAY,CAAA;YACX,GAAGA,MAAM;YACTC,aAAa,AAACD,CAAAA,OAAOC,WAAW,IAAI,EAAE,AAAD,EAAGC,GAAG,CAAC,CAACC;gBAC3C,IAAIJ,aAAaE,WAAW,CAACG,OAAO,CAACD,WAAWE,IAAI,IAAI,CAAC,GAAG;oBAC1D,MAAMC,SAAS;2BAAKH,YAAYG,UAAU,EAAE;qBAAE;oBAE9C,MAAMC,0BAA0BJ,WAAWG,MAAM,CAACE,IAAI,CACpD,CAACC,QACC,UAAUA,SAASA,MAAMC,IAAI,KAAMX,CAAAA,cAAcY,wBAAwB,aAAY;oBAGzF,MAAMC,sBAAsBT,WAAWG,MAAM,CAACE,IAAI,CAChD,CAACC,QAAU,UAAUA,SAASA,MAAMC,IAAI,KAAMX,CAAAA,cAAcc,mBAAmB,QAAO;oBAGxF,MAAMC,uBAAuBrB,oBAAoBM,cAAcY;oBAE/D,IAAIC,qBAAqB;wBACvB,IAAI,CAACA,oBAAoBG,aAAa,EAAE;4BACtCH,oBAAoBG,aAAa,GAAGD;wBACtC;oBACF;oBAEA,IAAI,CAACF,uBAAuB,CAACb,aAAac,eAAe,EAAE;wBACzD,MAAMG,qBAAqBxB,kBAAkBW,WAAWE,IAAI;wBAC5DW,mBAAmBD,aAAa,GAAGD;wBACnCR,OAAOW,IAAI,CAACD;oBACd;oBAEA,IAAI,CAACT,2BAA2B,CAACR,aAAaY,oBAAoB,EAAE;wBAClEL,OAAOW,IAAI,CAAC1B,uBAAuBY,WAAWE,IAAI;oBACpD;oBAEA,OAAO;wBACL,GAAGF,UAAU;wBACbG;wBACAY,OAAO;4BACL,GAAIf,WAAWe,KAAK,IAAI,CAAC,CAAC;4BAC1BC,aAAa;gCACXxB,eAAeI;gCACfH,sBAAsBG;mCAClBI,YAAYe,OAAOC,eAAe,EAAE;6BACzC;4BACDC,cAAc;gCACZ1B,gCAAgCK;mCAC5BI,YAAYe,OAAOE,gBAAgB,EAAE;6BAC1C;wBACH;oBACF;gBACF;gBAEA,OAAOjB;YACT;QACF,CAAA,EAAE"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { SingleRelationshipField } from 'payload'\n\nimport { definePlugin } from 'payload'\n\nimport type { NestedDocsPluginConfig } from './types.js'\n\nimport { createBreadcrumbsField } from './fields/breadcrumbs.js'\nimport { createParentField } from './fields/parent.js'\nimport { parentFilterOptions } from './fields/parentFilterOptions.js'\nimport { populateBreadcrumbsBeforeChange } from './hooks/populateBreadcrumbsBeforeChange.js'\nimport { resaveChildren } from './hooks/resaveChildren.js'\nimport { resaveSelfAfterCreate } from './hooks/resaveSelfAfterCreate.js'\nimport { getParents } from './utilities/getParents.js'\n\nexport { createBreadcrumbsField, createParentField, getParents }\n\nexport const nestedDocsPlugin = definePlugin<NestedDocsPluginConfig>({\n slug: '@payloadcms/plugin-nested-docs',\n plugin: ({ config, options: pluginConfig }) => ({\n ...config,\n collections: (config.collections || []).map((collection) => {\n if (pluginConfig.collections.indexOf(collection.slug) > -1) {\n const fields = [...(collection?.fields || [])]\n\n const existingBreadcrumbField = collection.fields.find(\n (field) =>\n 'name' in field && field.name === (pluginConfig?.breadcrumbsFieldSlug || 'breadcrumbs'),\n )\n\n const existingParentField = collection.fields.find(\n (field) => 'name' in field && field.name === (pluginConfig?.parentFieldSlug || 'parent'),\n ) as SingleRelationshipField\n\n const defaultFilterOptions = parentFilterOptions(pluginConfig?.breadcrumbsFieldSlug)\n\n if (existingParentField) {\n if (!existingParentField.filterOptions) {\n existingParentField.filterOptions = defaultFilterOptions\n }\n }\n\n if (!existingParentField && !pluginConfig.parentFieldSlug) {\n const defaultParentField = createParentField(collection.slug)\n defaultParentField.filterOptions = defaultFilterOptions\n fields.push(defaultParentField)\n }\n\n if (!existingBreadcrumbField && !pluginConfig.breadcrumbsFieldSlug) {\n fields.push(createBreadcrumbsField(collection.slug))\n }\n\n return {\n ...collection,\n fields,\n hooks: {\n ...(collection.hooks || {}),\n afterChange: [\n resaveChildren(pluginConfig),\n resaveSelfAfterCreate(pluginConfig),\n ...(collection?.hooks?.afterChange || []),\n ],\n beforeChange: [\n populateBreadcrumbsBeforeChange(pluginConfig),\n ...(collection?.hooks?.beforeChange || []),\n ],\n },\n }\n }\n\n return collection\n }),\n }),\n})\n"],"names":["definePlugin","createBreadcrumbsField","createParentField","parentFilterOptions","populateBreadcrumbsBeforeChange","resaveChildren","resaveSelfAfterCreate","getParents","nestedDocsPlugin","slug","plugin","config","options","pluginConfig","collections","map","collection","indexOf","fields","existingBreadcrumbField","find","field","name","breadcrumbsFieldSlug","existingParentField","parentFieldSlug","defaultFilterOptions","filterOptions","defaultParentField","push","hooks","afterChange","beforeChange"],"mappings":"AAEA,SAASA,YAAY,QAAQ,UAAS;AAItC,SAASC,sBAAsB,QAAQ,0BAAyB;AAChE,SAASC,iBAAiB,QAAQ,qBAAoB;AACtD,SAASC,mBAAmB,QAAQ,kCAAiC;AACrE,SAASC,+BAA+B,QAAQ,6CAA4C;AAC5F,SAASC,cAAc,QAAQ,4BAA2B;AAC1D,SAASC,qBAAqB,QAAQ,mCAAkC;AACxE,SAASC,UAAU,QAAQ,4BAA2B;AAEtD,SAASN,sBAAsB,EAAEC,iBAAiB,EAAEK,UAAU,GAAE;AAEhE,OAAO,MAAMC,mBAAmBR,aAAqC;IACnES,MAAM;IACNC,QAAQ,CAAC,EAAEC,MAAM,EAAEC,SAASC,YAAY,EAAE,GAAM,CAAA;YAC9C,GAAGF,MAAM;YACTG,aAAa,AAACH,CAAAA,OAAOG,WAAW,IAAI,EAAE,AAAD,EAAGC,GAAG,CAAC,CAACC;gBAC3C,IAAIH,aAAaC,WAAW,CAACG,OAAO,CAACD,WAAWP,IAAI,IAAI,CAAC,GAAG;oBAC1D,MAAMS,SAAS;2BAAKF,YAAYE,UAAU,EAAE;qBAAE;oBAE9C,MAAMC,0BAA0BH,WAAWE,MAAM,CAACE,IAAI,CACpD,CAACC,QACC,UAAUA,SAASA,MAAMC,IAAI,KAAMT,CAAAA,cAAcU,wBAAwB,aAAY;oBAGzF,MAAMC,sBAAsBR,WAAWE,MAAM,CAACE,IAAI,CAChD,CAACC,QAAU,UAAUA,SAASA,MAAMC,IAAI,KAAMT,CAAAA,cAAcY,mBAAmB,QAAO;oBAGxF,MAAMC,uBAAuBvB,oBAAoBU,cAAcU;oBAE/D,IAAIC,qBAAqB;wBACvB,IAAI,CAACA,oBAAoBG,aAAa,EAAE;4BACtCH,oBAAoBG,aAAa,GAAGD;wBACtC;oBACF;oBAEA,IAAI,CAACF,uBAAuB,CAACX,aAAaY,eAAe,EAAE;wBACzD,MAAMG,qBAAqB1B,kBAAkBc,WAAWP,IAAI;wBAC5DmB,mBAAmBD,aAAa,GAAGD;wBACnCR,OAAOW,IAAI,CAACD;oBACd;oBAEA,IAAI,CAACT,2BAA2B,CAACN,aAAaU,oBAAoB,EAAE;wBAClEL,OAAOW,IAAI,CAAC5B,uBAAuBe,WAAWP,IAAI;oBACpD;oBAEA,OAAO;wBACL,GAAGO,UAAU;wBACbE;wBACAY,OAAO;4BACL,GAAId,WAAWc,KAAK,IAAI,CAAC,CAAC;4BAC1BC,aAAa;gCACX1B,eAAeQ;gCACfP,sBAAsBO;mCAClBG,YAAYc,OAAOC,eAAe,EAAE;6BACzC;4BACDC,cAAc;gCACZ5B,gCAAgCS;mCAC5BG,YAAYc,OAAOE,gBAAgB,EAAE;6BAC1C;wBACH;oBACF;gBACF;gBAEA,OAAOhB;YACT;QACF,CAAA;AACF,GAAE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/plugin-nested-docs",
3
- "version": "4.0.0-internal.4c792ad",
3
+ "version": "4.0.0-internal.5214550",
4
4
  "description": "The official Nested Docs plugin for Payload",
5
5
  "homepage": "https://payloadcms.com",
6
6
  "repository": {
@@ -37,11 +37,11 @@
37
37
  "dist"
38
38
  ],
39
39
  "devDependencies": {
40
- "@payloadcms/eslint-config": "3.28.0",
41
- "payload": "4.0.0-internal.4c792ad"
40
+ "payload": "4.0.0-internal.5214550",
41
+ "@payloadcms/eslint-config": "3.28.0"
42
42
  },
43
43
  "peerDependencies": {
44
- "payload": "4.0.0-internal.4c792ad"
44
+ "payload": "4.0.0-internal.5214550"
45
45
  },
46
46
  "publishConfig": {
47
47
  "registry": "https://registry.npmjs.org/"