{"_id":"strapi-plugin-hubspot","_rev":"28-7d7c8995b977283e99d881e7ccb71094","name":"strapi-plugin-hubspot","dist-tags":{"latest":"0.16.9"},"versions":{"0.1.0":{"name":"strapi-plugin-hubspot","version":"0.1.0","keywords":["strapi","plugin","hubspot","crm","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.1.0","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"d3501c81d277ef309bec0ba7b59edf2ab430911e","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.1.0.tgz","fileCount":20,"integrity":"sha512-mxq3EG3zf8NUps6VMOPbA5uTMdSeiJu2ljwLzLBhjcqktCUV440NRHwSZcWzOr7PRpXuDi7FD7pXpGoulVvOGw==","signatures":[{"sig":"MEUCIBfPhBr86KW8jAIahI5WT99QibFj3YknhRvD+IzYoDM2AiEAlmAnUcG8Q552XP/dEgrTDBip0erI1zJW28xVzqw6ygw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51431},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"95ed3ae2afced1d6a38a2fb3f25ee61f719c108c","scripts":{"build":"strapi-plugin build","watch":"strapi-plugin watch","verify":"strapi-plugin verify","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"11.6.2","description":"HubSpot integration for Strapi — pick CRM properties from a searchable list instead of typing them, and catch bad mappings before they reach the API.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","react-dom":"^18.3.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.1.0_1786016831001_0.11017546241042608","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"strapi-plugin-hubspot","version":"0.2.0","keywords":["strapi","plugin","hubspot","crm","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.2.0","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"c0f748e9234e91ad9fe74ef4a102ea9594347bfd","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.2.0.tgz","fileCount":21,"integrity":"sha512-qA1Fy+pmP2r3x7v+yKOEioEjzA9P4XsmyTkikkXAtW9aMu7Q2wnIocBp4f0xHEMDfMp9VnrPBpKTf+cJMdI+DQ==","signatures":[{"sig":"MEUCIQCXZDaf4yOQte6ALsBLeH7lf36HDjFC7D2XqCCq53rpQwIgXJp8MaUeCcAzkY4JHu5WXVkkIWwn1W8QJ9r4ue7Wix8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62257},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"e09479296c3d54f6207c859a8c5ebe7700a54d49","scripts":{"build":"strapi-plugin build","watch":"strapi-plugin watch","verify":"strapi-plugin verify","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"11.6.2","description":"HubSpot integration for Strapi — pick CRM properties from a searchable list filtered by object, and catch bad mappings before they reach the API.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","react-dom":"^18.3.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.2.0_1786034238960_0.17957592136139522","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"strapi-plugin-hubspot","version":"0.2.1","keywords":["strapi","plugin","hubspot","crm","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.2.1","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"98ce237bab33f6c7cafff57ed79156f87686c630","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.2.1.tgz","fileCount":21,"integrity":"sha512-ICwOy6I1Mxu+h3xgUtl17Qb0IDLNoJFBOZ3PQIT5carcZf9cpPHJtVvRKTr/ria3scTWSvBgBLWfAA22MkDb/A==","signatures":[{"sig":"MEUCIBhqyFcM89xrxxpq7Xbne+Q7hMyJXvHx8+3o14AXm/3OAiEAyjJ5aLS6D6DSCDvb9G8e/KSXT3NNNky7I5DKbIYhi24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63108},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"45600982e711c77106174cdf9f983d62d51b6ab8","scripts":{"build":"strapi-plugin build","watch":"strapi-plugin watch","verify":"strapi-plugin verify","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"11.6.2","description":"HubSpot integration for Strapi — pick CRM properties from a searchable list filtered by object, and catch bad mappings before they reach the API.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","react-dom":"^18.3.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.2.1_1786040015797_0.3410307976633893","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"strapi-plugin-hubspot","version":"0.3.0","keywords":["strapi","plugin","hubspot","crm","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.3.0","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"5a13a7aa849b7697b1468b2545bc9e1a5513e12f","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.3.0.tgz","fileCount":21,"integrity":"sha512-OPlh1CkTXK+Qu1S2BRjlMnLlB3lnvc7S+z1mi0wvDD1R1chWJQ0MX8nGRU8uX9M8VLXXpQC+DlP1BGF3hzQlFA==","signatures":[{"sig":"MEYCIQDBBsV7q18C0RdctZYuoZo+cqq7G+hIhCIK2bW8w1KAGQIhAITJITQsjCtvnNdBEUp8wQd/tHE/m5+VqDcUsQ7GcCJj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70052},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"303a611c17bc65e6f18dc9257f0916907797b531","scripts":{"build":"strapi-plugin build","watch":"strapi-plugin watch","verify":"strapi-plugin verify","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"11.6.2","description":"HubSpot integration for Strapi — pick CRM properties from a searchable list filtered by object, and catch bad mappings before they reach the API.","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","react-dom":"^18.3.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.3.0_1786438191924_0.12537345493771035","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"strapi-plugin-hubspot","version":"0.4.0","keywords":["strapi","plugin","hubspot","crm","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.4.0","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"677ec398e4f0d412e24f23e3f9e53521e1adecc7","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.4.0.tgz","fileCount":42,"integrity":"sha512-q0vdH2NunV0qmqEs38Wz3KR3x8b3EUwWDzlP0Rj+ctV/uhsEdL74EMQDs2RgPi+IhBQtT1Ksxd+oYakiPJpuWQ==","signatures":[{"sig":"MEUCIQDy0pMqZVa/vRxkyapMLXIV8pwYbfzZ0lql9LgBXxvhEAIgZmafiicuoSySe4q9booo/rf5ueqKy25muLurvKoGOOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":273772},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"b97e5238e35f6c7c5fa92ae3b17c5122ddad8d34","scripts":{"test":"vitest run","build":"strapi-plugin build","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"HubSpot integration for Strapi — pick CRM properties from a searchable list filtered by object, and catch bad mappings before they reach the API.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","vitest":"^3.2.4","react-dom":"^18.3.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.4.0_1786459318974_0.059136336008007495","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"strapi-plugin-hubspot","version":"0.4.1","keywords":["strapi","plugin","hubspot","crm","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.4.1","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"4c53f7232c30edaa91dd9c602cf8c579d3f16002","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.4.1.tgz","fileCount":42,"integrity":"sha512-0TdcP9qZFP8/45O5ClcArg1eIO/yBoRkaGAIRz+C3K066+H/frAOvViljAGIrwB73WqMTjBaTebOlxyvKWZrNQ==","signatures":[{"sig":"MEUCIBJqA6UgPRqXMzVjNKKzCX1Llrb66lPOP3uxZ1dXWw/PAiEA2Dy+2w3Oya+6NCHpLzrmGNp7C/OQ4DFOn7cBVsKqg+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274201},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"938b199971979cc658671d234a49120ad59316c1","scripts":{"test":"vitest run","build":"strapi-plugin build","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"HubSpot integration for Strapi — pick CRM properties from a searchable list filtered by object, and catch bad mappings before they reach the API.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","vitest":"^3.2.4","react-dom":"^18.3.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.4.1_1786460333835_0.06966572379311686","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"strapi-plugin-hubspot","version":"0.4.2","keywords":["strapi","plugin","hubspot","crm","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.4.2","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"f9e9baa8d371b3b06fa559cef629b299fbe3b091","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.4.2.tgz","fileCount":42,"integrity":"sha512-IptjBnBb/Gz5a0aIJc4LuyDk8+B8e8zOSk6jo1CNaK10PHcXao+pxPuOK13yi+KUBZzATo+o27qWe5JNxyY1kQ==","signatures":[{"sig":"MEYCIQCyLmq7Wx32KLOCPkpiGhgQugmK4zG5js5JNx/a4J5V5QIhAIiaxuJB5sxLGWammab+zitYzoEn+rEq7+/Ol+jX3D44","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":275173},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"7ce0cd4a7886de9bca44e623293a39635f771f86","scripts":{"test":"vitest run","build":"strapi-plugin build","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"HubSpot integration for Strapi — pick CRM properties from a searchable list filtered by object, and catch bad mappings before they reach the API.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","vitest":"^3.2.4","react-dom":"^18.3.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.4.2_1786461579895_0.1505645883130804","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"strapi-plugin-hubspot","version":"0.5.0","keywords":["strapi","plugin","hubspot","crm","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.5.0","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"eb7a2246ac6aadafef56f61c42f80f0da7d4e884","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.5.0.tgz","fileCount":45,"integrity":"sha512-0Sk4LJuF8eRFx0VJqhVEzS9wT0be4V1BCbOn0/m1l0KrRxPjdtcsU0TzICSJCekSp2TomQsxMQUcvbJWeZXZiw==","signatures":[{"sig":"MEQCIGSbh3pT1NAkbLLGFtbZCY6dnIvMFYgrMA1Bzg//ld+3AiBqdNDq8Wahkv76a8Bg+78ftLI/IQ6ewxnf2TuDSYIbBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":282131},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"75bbf8c20f67225d0428d541c9fb71fbb84888a2","scripts":{"test":"vitest run","build":"strapi-plugin build","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"HubSpot integration for Strapi — pick CRM properties from a searchable list filtered by object, and catch bad mappings before they reach the API.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","vitest":"^3.2.4","react-dom":"^18.3.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.5.0_1786519515774_0.6258658197725808","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"strapi-plugin-hubspot","version":"0.6.0","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.6.0","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"342d19551513b783783ac07d8a118a340d644275","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.6.0.tgz","fileCount":67,"integrity":"sha512-0J+h7Yw5aWSPbG5lmC+1FCRpmyBxAtEf5wmbPU5uI6yIQ+QM+2Eqoy46jzfiGeEG+ncvCdbocjOX5SCzCTpNag==","signatures":[{"sig":"MEYCIQCI2R99rwKasrbMwQrU77NXgAx9FVWRaBK+BCij+vZKUQIhAKupZoujgYd9N04EvBy0joQ59OqouchAHPV2892Oo0Bz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC8xH9t/vTyCT1P8+EECaOU1THcYexgpPgpqOTnNiU4vQIhAObO2AGCicl9axMxYdZsYTG5+qTWXqop0VPKoBFjrjpe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":552172},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"e3fd5ce008f459736e2f721360ce09d07dfcbb31","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.6.0_1787932474034_0.38255313295778315","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"strapi-plugin-hubspot","version":"0.6.1","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.6.1","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"018834b570bcd8fa200650728ad2f2858e61512c","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.6.1.tgz","fileCount":65,"integrity":"sha512-NoToa3uRcJ2rEdtT3RsNtt+Vu2v6vmSdkpH2BTM9hC3neVSyewGr6cj1CA/jV1WnpBhql4d3DXf1kUh64gTVcw==","signatures":[{"sig":"MEUCIEVGeS0h1v8TBBiMtlqH6z6E+7dVYr1b/LCGgltwWzJWAiEA0HgtyUMjgT4m1t53Ksoj7BpOFgkFhV2tOO++zAkd+2w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAVuXXVAtqcESKHyAtOQF7MGKNhYTngZ7b//fYWKnwEoAiBVjTJmsU5eV741WvVuQgtYcpNkMLQ4mE1PjE3g7S1f7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":432429},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"5453bb6e1644af68cf60bb5cb51b3f5ee05a889a","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.6.1_1787935601516_0.530620692456276","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"strapi-plugin-hubspot","version":"0.7.0","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.7.0","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"ffab86d4752904d007765ce2d228f187b09779f4","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.7.0.tgz","fileCount":70,"integrity":"sha512-ThOjvfdSTqkFLqXWs9zAVGs/Lkv3zgwR68XzI3TDGG1VUI565Jh8zZxC5sm5cnAuVj9B3lIixU4uKIKTI/jYWA==","signatures":[{"sig":"MEQCIDJG6T/X0E+JUf/Q8N00JXgaGYYHJdMsDGB6ZdznNycmAiBv1S6Nw5l7B1KI3aMPOKLEWOp0EIHuVHxIYJCXqrP5Ow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDLa2QLgbsFdRuatWsW3TiRHS54qsYi9CQZCKKpkoXyZAIhANKoAcNj9wsvo7V7ZTxn6y98uQhGSoBWEQBuPk4laFYs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446610},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"8494292e9f4e57db89c5b7fb8b6130953f66d7ad","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.7.0_1788007868638_0.08082839611687986","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"strapi-plugin-hubspot","version":"0.8.0","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.8.0","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"909fcb39a54adb76121de7927325d83b40abd206","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.8.0.tgz","fileCount":70,"integrity":"sha512-ZSt1phHWaNc73MP0LTmwXPpBLPeHNbqn0jn5kY9hPpymg4t1xip2euXVFCnP5OCv0YefqeouTzv0bbyz95gENQ==","signatures":[{"sig":"MEUCIQD1FqMGuO3/hisXK+8mLRWzwDj/9kAc1WV808hwe55l4QIgEn09E3ZNFdwkR1eOuRpPKOPT3MhVmhdXLpbd8MBVGDI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD/OKF7HGQchEwAM71KUekjayAnRR6l5IzwyM0p6Z10rwIgCt+h2nbUKbJV8cK1+ruDcFOV0dNUAXhx1j7yMgoBjxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":462009},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"091cba5c790400c89c03837e58e50bca02dd6dba","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.8.0_1788010811934_0.5345846906693486","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"strapi-plugin-hubspot","version":"0.9.0","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.9.0","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"628ba3a2004e51bd662a194b66427508379502f6","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.9.0.tgz","fileCount":75,"integrity":"sha512-R90VP6545Rg6YUBjnQ9wu1+ecCz1IECc9RcSeuPCOppyYz8UMFxI85CPVzcs/LYNkAIv22XIXbUWbSQD2EjTSQ==","signatures":[{"sig":"MEUCIEfGrvb7RazYmmd2x1nalNJfyArY3GVXDfbx7WcgeiQpAiEA5qwiqFjDHBKJZhQE7QtN9cZILk+VF6+Qp2oWcXDXmug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC3UHtCyq+Hl1tyxkH7VSq0XkOTqbirXmn5Yh39Xm8myAIhAKoO9vRc0q+kJAqiagCYIfEdMlV6vKpopL4qIcdvcXi+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":537987},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"2b6e533b814410c1117166207ae1070a82a1b296","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.9.0_1788013816009_0.2714006380620426","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"strapi-plugin-hubspot","version":"0.10.0","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.10.0","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"8e8656e09360612ae8da6062f74541f04b6e8fd7","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.10.0.tgz","fileCount":75,"integrity":"sha512-jGKmyLxDIB47T9HmMQAjX3hAejpMU7pzI7d9JABsmTTi5vumc+LF5SvE97TT8ZE2aDgR+me5p84hdIZ7iIwKtA==","signatures":[{"sig":"MEQCIBv14cbLA4tSdOdBTcJmweHuIl/8CYUHgEpbAFElI1Z8AiBrXIKsNIDOWpJydIm2oeEQojXZ5jMX8/qTKqDeeeHCKw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHs9PquYEublBGPsBjJ+ByPa02uC23eLA5ZDVK18KRftAiBgIfUiJfoFVd/X6A/BiuqHSbn30f8qmMYG8Oc8k8Reag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":545249},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"4c3a6ce38936a22e8533da45ef9f135d31a65bc1","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.10.0_1788022410478_0.07839542719728176","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"strapi-plugin-hubspot","version":"0.11.0","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.11.0","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"8b8094eefdfcf2d51ae349e53cbfc55283502f58","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.11.0.tgz","fileCount":79,"integrity":"sha512-u5qQjRzvhTCfSwYdwE8InS9UQNzR55WYcbeQLV7GGZXLDyvRnwYlBQK6DtNQrdbaqdADpJeLApU4Qb/GFnjG1A==","signatures":[{"sig":"MEUCIHRS+e24wXHZweF7MSCi2thNxGNdBPILPkRDzG7mDngXAiEA+gEtOFRf2aU/zXyoIaYPgYRKTh2Y43hfoC0hW9WzaMA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC0pcXTheY0kTAfc4XOSPYReSMsEUMxI0LXLg7WvIBiGAIgP5MkWMB6tNbO7EuW5hK5XXmz4YHI5DC9ZhvJgCqPK5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":681223},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"afa8097669da4b2f60d624a8c212335ab26f00fa","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.11.0_1788028042463_0.15405342607864814","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"strapi-plugin-hubspot","version":"0.11.1","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.11.1","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"ded9130dd859fd56bfa86bea95946bdcbc86d097","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.11.1.tgz","fileCount":79,"integrity":"sha512-N24V5lVnQQ+JOqWHL3hos2emAYnD9LywTTGxFGKH0kb0ttr3YwFSGNDZBoJJ4QSPOP/uxMXFxOj2jNVb2xodcw==","signatures":[{"sig":"MEUCICoeB/pYBy7EcLCwBoYp87Ne7U5bcGRwf4PG/2UGGwaDAiEA9Gg5T2J1gr2g3rTka+i3dkgiASfqvLRl4zOqkRo/2Js=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGczwam6oKGJjP7hOzLG1EyKH3fOoGwKajXcaVfOUE3aAiBnGeTVHaGXoCmUHLFwIEstr6bWolHtBxzGAfkzkNjH4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":682332},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"efaf636617b1ae712b2971bec5e6d1c16caad71b","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@strapi/typescript-utils":"^5.0.0","eslint-plugin-react-hooks":"^7.1.1"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.11.1_1788031209157_0.3983620835247561","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"strapi-plugin-hubspot","version":"0.13.0","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.13.0","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"7ac24027d43b2e9e9fb4cdc783db04376cce4b52","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.13.0.tgz","fileCount":86,"integrity":"sha512-qtDrNvvm31X0mqd32J/Dp7ZXJMU8PwG+iEN73u8ATySlRHJX7pwSaD+PSN8NIUGxxxISvoZ7v1kvwhXvfKOccA==","signatures":[{"sig":"MEQCICgW2Y98AilWPtaoH+xjRzE+4kSBn9VDPejaGOLto3C9AiBBC3LbrDC7FfuZxLSR2bCuDmh2cI07d5+f8ABZIlCKXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD2qv2EWa3cDpDvQvoIZpBq1m8PSBGt3ylbNaHYn0rWaQIhAOaaYgVRH97g30gq2bRqJ6fk9z3UH5AjMnpr1K5CPI+l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":703056},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"f1b4273529cdaec089223b48f3fe67f3e915ec53","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@testing-library/react":"^16.3.3","@strapi/typescript-utils":"^5.0.0","@testing-library/jest-dom":"^7.0.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.13.0_1788175069756_0.09036696649867526","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"strapi-plugin-hubspot","version":"0.13.1","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.13.1","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"f2c36583bd1aa7b519e50330c47c40b54f35dc30","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.13.1.tgz","fileCount":86,"integrity":"sha512-V0+8m/6YVI2O5taq0F6iTxBi/qxt4e6k1wqu8iIZpSj6rAHO528a0XWpmJKjEVWfIDRd0DLfJwlTrlQzM7mjOQ==","signatures":[{"sig":"MEQCIFCyOqZYWMJeFpRfvlVNNniHlZlmDd0FjUJLnRv8QIb4AiBhOdovTOlwBHqHQcy3wulCxyGkA3xOtLBa3HhkdZ0jpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD9g7uolHvnmOpDJyuJUYiEthh02EXtIQWS/jbS52tl3QIhAP8IrQdjGXR722YEY3TAD4uELhWghsxWOPZpC7iiwna4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":705856},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"cbe6da01365b7f5b89fbfa248eb024ec00e3b3f7","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@testing-library/react":"^16.3.3","@strapi/typescript-utils":"^5.0.0","@testing-library/jest-dom":"^7.0.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.13.1_1790004214201_0.2660209660109205","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"strapi-plugin-hubspot","version":"0.14.0","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.14.0","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"d11c5a15cda695c1ae97d4d786fe1519c57cca29","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.14.0.tgz","fileCount":88,"integrity":"sha512-vYikBULT0NzNZ7dIpf2JeWIPxwKNe3BXj9MszhqxW4Putr36Bptr9BbVNSeEHAq2cbmuvjF9LBHJCGD/33KcHg==","signatures":[{"sig":"MEUCIQDBzQAUwtCr0C8d8TOFFN3iWj4NPCJKAo4LtVlQVImt6gIgQYmok+EQx3oqYW0g0zAVAnvrPWaVQSOQejdTYFj6W/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCaVhQbIy04JEFE+Lig9FUUhxogAm8v5s52xmGQiQra7gIhAOCpogDYyKReZfUE9vOFbFmm8kYzPBdULefc4VXF5xLf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":735919},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"bbd676ac65305a355f7bd201a2e4f44a39d0cdea","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@testing-library/react":"^16.3.3","@strapi/typescript-utils":"^5.0.0","@testing-library/jest-dom":"^7.0.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.14.0_1790010325395_0.08920111572761291","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"strapi-plugin-hubspot","version":"0.15.0","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.15.0","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"0d2cd43bbf8ff25ee0bbea01a72324476f6a4f82","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.15.0.tgz","fileCount":89,"integrity":"sha512-b8RHo6M+vrnxD8wJ4csVNeDuaYKlCoVKZ6w8bifySP4+g6WWTKWZ+7K7va3RafvMz45brloMkH6OGbi2eViOcA==","signatures":[{"sig":"MEYCIQDJvQwWMKhC+ltil2wN3S5qJyl7faie/vQbSt6P52bAfQIhAOdwmDl+duow8GE2BKt6103zCRV+szCnL/HdGQGVSh7g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIATix6ik1BMskjoyyn4l2JlZ3dNDPfWmyz8cYOvz+s2yAiAoul3UZUJLSpYJgu2Xr49USKUBcNzgFm6ypZuAXonoPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":755039},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"9c08f2b475055523e7b9f4255b738fa8f0dd13c6","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@testing-library/react":"^16.3.3","@strapi/typescript-utils":"^5.0.0","@testing-library/jest-dom":"^7.0.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.15.0_1790019570806_0.7781412883075649","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"strapi-plugin-hubspot","version":"0.16.0","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.16.0","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"1c55fbd7f15cc9b725ff791590ddbd6ae2feab81","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.16.0.tgz","fileCount":91,"integrity":"sha512-xDCk7E5+WOS42aO1nRYQazbszxWhKg8RVhWayjSQrEHz7NBW5irkwb/Ug8N4F7HCtydloYo/dxie1fqpZSCinA==","signatures":[{"sig":"MEUCIH86q9IfrWVao1hd67wZa2SXa6KuxwSDT0hcoaKYRSTBAiEAoxIFQL63IpKOQ/A6RiS1dh2gs5EzlxefQBdTXeXvTPI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEgiI9f8taEN7LyU07E3UQAJXopL4Qe72s3irrEB7AU3AiAEOhyrdiJvf0FKh07+k4mVPCrM7a/vy/H3bvxs4BqVwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":792771},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"0764729b33991197597c54a28c01eaf7ccc760af","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@testing-library/react":"^16.3.3","@strapi/typescript-utils":"^5.0.0","@testing-library/jest-dom":"^7.0.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.16.0_1790061807957_0.999431728156787","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"strapi-plugin-hubspot","version":"0.16.1","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.16.1","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"39f87f9a5ff5eae58abc8865e75f342f293d98e7","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.16.1.tgz","fileCount":93,"integrity":"sha512-XIv8k3pikBzvlPH02m/qUY1mZ/E9I+77n15+Ig4d6kYXFI43RP950v7GJhb/GbqYsa9IkPdDFeo4jOjosoolXw==","signatures":[{"sig":"MEQCIFFIe1qvTTATYkHvmzuljfHCLrnK7rckjoeWk8aV+0iYAiAUjqNCsLCvfl9Lt8orkGGt2qvre9EIyGEwAVVKFBathg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF/Jclg06tJkCYiQV1nu8LXtb0XlZo5ZlK/bCNwC0oryAiEAmXcLKpf1Z/dWNVgby70IXcvS9nkFoCBCq1kdYIu38S4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":798703},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"67fe8f68c27427bc7bd5ace6267ba80f77deaa42","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@testing-library/react":"^16.3.3","@strapi/typescript-utils":"^5.0.0","@testing-library/jest-dom":"^7.0.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.16.1_1790068803320_0.5499088886556418","host":"s3://npm-registry-packages-npm-production"}},"0.16.2":{"name":"strapi-plugin-hubspot","version":"0.16.2","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.16.2","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"8b19988ed3072c2ded05d89f0535bfdfa761e6ca","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.16.2.tgz","fileCount":93,"integrity":"sha512-mBuD4DtGx8UNh7W9r9KBh1Nxbc68MEj0X7kF4XM3uJU7qyI4p/5LVOxnR/N72QBLF73P1FJJ327TeUMgE2Sn6g==","signatures":[{"sig":"MEUCIQDOdjjs2CYaP+mmJ8Xhm9Vjy9fP5rFaQBtrYuMRPXr0fQIgaIu2N9frBr/UiK9JxbcmhxPUGrcRqMEfMY3BeSoGWJo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDdMqCdygtLT2PF+imHz9H8MXevVqI/TX6wx70O5+er8AIgOukDjq4ad7ao4f5cb/4uTjJk4ge0Q0Q2V4VB/B8AmAo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.16.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":813685},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"e18652457fa4e789fbb8f45c05e7867cdd5de302","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@testing-library/react":"^16.3.3","@strapi/typescript-utils":"^5.0.0","@testing-library/jest-dom":"^7.0.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.16.2_1790071275792_0.16949010482384397","host":"s3://npm-registry-packages-npm-production"}},"0.16.3":{"name":"strapi-plugin-hubspot","version":"0.16.3","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.16.3","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"f6a9e5c3de63fa0fded303d03ebbdca6196832ae","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.16.3.tgz","fileCount":93,"integrity":"sha512-aYkmz66rU5y159iN7SxflnTnSLgKNk1oa8zOuPEbt67a/Bmsniw7/AWeWdbYzmZU5SUBfs6oyiiiEyGoMpXHCg==","signatures":[{"sig":"MEUCIFgcrrXliTJDvO7VzUxwo8fMGqNzyXfdTD7R2TGPcPlpAiEA5AdrgrH9Y2kRTpaly/4xbNCjy1NHN+1M7rh+lHzI+aI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCbDCKqhxIXCEUQVCohDPMsmiKvb1+ELKTW00WzYBCBPwIhAIx1wooh/6b8feyJitVCsGMffhn5lVdPNgYt3QD9ydgZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.16.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":816904},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"0681e7b97661c0d9cc7f3af3fbb97f95f1c1d488","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@testing-library/react":"^16.3.3","@strapi/typescript-utils":"^5.0.0","@testing-library/jest-dom":"^7.0.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.16.3_1790075053215_0.8312949520809592","host":"s3://npm-registry-packages-npm-production"}},"0.16.5":{"name":"strapi-plugin-hubspot","version":"0.16.5","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.16.5","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"02a8669ecb7e9b26570fc42ca73439469a9f36ba","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.16.5.tgz","fileCount":93,"integrity":"sha512-YwxypgNBcBQzkN0fBJnNWtKtbyMGMOT/O/wx83jdM1qAgaw53x79WE/vDkn8HOszcv3MXEzkixbV2GXTyKIa0g==","signatures":[{"sig":"MEQCICOLQD1pFtT2rfTPasqj7gEJuK2hv7q1M5+3Dvtm3BSNAiAB9Z6DzqhcGqbIVWZpXXFsSPYICtMsaT1s2c/y71l0Zw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIC3oC0lF6L80yCOQaloWpEUXdP/FQKx4oFZjRSzNAJsKAiEA155n63Nsi7n5wTj97txyy+kUoC0yqNiAovk3zuCRMjQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.16.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":828360},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"ae06b4efd35fc4fcd65a49ff81ffafcac8750333","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@testing-library/react":"^16.3.3","@strapi/typescript-utils":"^5.0.0","@testing-library/jest-dom":"^7.0.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.16.5_1790160158862_0.7477878331702901","host":"s3://npm-registry-packages-npm-production"}},"0.16.7":{"name":"strapi-plugin-hubspot","version":"0.16.7","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.16.7","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"444071827f59edb3188f9a459cfbaa3dfeed94a5","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.16.7.tgz","fileCount":93,"integrity":"sha512-SC9r64CBcA4ZRdf/he8MJzJeZnLpx4qqk1EYyHUQniM4OAcKelQA0PpQt3hbFo7DXfu3KFVgaoR70nVC3rTrYw==","signatures":[{"sig":"MEYCIQDDOOcK64V+IthiHNpgzI5BqCZN7Y6luBu7ctoiIhbuCQIhAII6sVc8UFk23e+L6H6NsFlWWLvxVvEvTGVKmXkzX0nO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDvxGMPus5Ke+dTKwIFSUkhXb/J5CXjAwT3C3QfhwfrOQIhAOn5q7jH4PfeqOLLBDuMbuudXPQ99MD/okF6mZZB+2+F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.16.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":833403},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"c383412e7ec1d45802bbff8f090e13b17b39e6f1","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@testing-library/react":"^16.3.3","@strapi/typescript-utils":"^5.0.0","@testing-library/jest-dom":"^7.0.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.16.7_1790171997243_0.21338207494721306","host":"s3://npm-registry-packages-npm-production"}},"0.16.8":{"name":"strapi-plugin-hubspot","version":"0.16.8","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"author":{"name":"Paul Lefizelier"},"license":"MIT","_id":"strapi-plugin-hubspot@0.16.8","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"640ce13320c21726b16946a834cb1ab2353d2bdf","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.16.8.tgz","fileCount":93,"integrity":"sha512-1LV6fKZ/MZWB9bJe/CgF3XixFZ9nWo63LcYZpemjyIZWpIUqznG4ljXawZ1hd9MIkWS1r0jYPcO85pJOpQQJEg==","signatures":[{"sig":"MEUCIBvfBGUyZxEagQYxbR0hrLNTDm3cAzE5dX5hwZOsCWgwAiEAu2aBN7TTeFqG2Dyqe79hvv/E3bwZRV5iAksCXmONhyM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCGTeYRZh2WaIteKhm3x0ItJEJWaOMNFo/o9iv0wWH/xwIgZemzbLYletfZqJdg3LVyuWdVb7Q8dYROP/TIK602GLk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.16.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":854149},"type":"commonjs","strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"6e251de05e787b42c7eaf6971cfb08e60d21eb19","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@testing-library/react":"^16.3.3","@strapi/typescript-utils":"^5.0.0","@testing-library/jest-dom":"^7.0.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"tmp":"tmp/strapi-plugin-hubspot_0.16.8_1790250560480_0.9230321256573903","host":"s3://npm-registry-packages-npm-production"}},"0.16.9":{"_id":"strapi-plugin-hubspot@0.16.9","bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"dist":{"shasum":"e8c0d44839449953d64906fbca95bfe9be95c860","tarball":"https://registry.npmjs.org/strapi-plugin-hubspot/-/strapi-plugin-hubspot-0.16.9.tgz","fileCount":93,"integrity":"sha512-4ZI0qdPWZso5Rdh7s1Pw0xSHCOsKdY3EwbsyPatjXQusQgNJFqjUXzYjvJy2lkJcpzyWZbm+9ea5hFFsaFoOuQ==","signatures":[{"sig":"MEUCIQDnIFY9R4g+/1X/wH8zMDqS9Y2o+qzk1ub0MsamXEhLswIgIqcbJCFgXCJT/4x8zQ3qVOmuAir9KE9lxBR08ZGxI+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDjb8mw1RH62vkZ8Ek69B45yHdWUhL+EFMcgUUJmAHjHAIgHOhrH+Ma6nyejnuGRMrEzQMKGufu3mT6EgurxI+DuHw="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/strapi-plugin-hubspot@0.16.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":855559},"name":"strapi-plugin-hubspot","type":"commonjs","author":{"name":"Paul Lefizelier"},"strapi":{"kind":"plugin","name":"hubspot","description":"Pick HubSpot CRM properties from a searchable list, and validate mappings on save.","displayName":"HubSpot"},"engines":{"node":">=18.0.0"},"exports":{"./types":{"types":"./dist/shared/types.d.ts","import":"./dist/shared/types.mjs","source":"./shared/types.ts","default":"./dist/shared/types.js","require":"./dist/shared/types.js"},"./package.json":"./package.json","./strapi-admin":{"types":"./dist/admin/src/index.d.ts","import":"./dist/admin/index.mjs","source":"./admin/src/index.ts","default":"./dist/admin/index.js","require":"./dist/admin/index.js"},"./strapi-server":{"types":"./dist/server/src/index.d.ts","import":"./dist/server/index.mjs","source":"./server/src/index.ts","default":"./dist/server/index.js","require":"./dist/server/index.js"}},"gitHead":"049f9984aea094b95bfd3e91266640953f9cba0e","license":"MIT","scripts":{"lint":"eslint admin/src server/src","test":"vitest run","build":"strapi-plugin build && node scripts/build-types.mjs && node scripts/check-externals.mjs","watch":"strapi-plugin watch","verify":"strapi-plugin verify","test:watch":"vitest","prepublishOnly":"npm run build"},"version":"0.16.9","_npmUser":{"name":"paullefizelier","email":"paul@idlen.io"},"homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"_npmVersion":"10.8.2","description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","directories":{},"maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"_nodeVersion":"20.20.2","dependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^18.3.1","eslint":"^10.9.1","vitest":"^3.2.4","react-dom":"^18.3.1","@eslint/js":"^10.0.1","typescript":"^5.5.4","@types/react":"^18.3.3","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","@types/react-dom":"^18.3.0","react-router-dom":"^6.26.0","styled-components":"^6.1.11","typescript-eslint":"^8.68.0","@strapi/sdk-plugin":"^5.3.2","@strapi/design-system":"^2.0.0-rc.29","@testing-library/react":"^16.3.3","@strapi/typescript-utils":"^5.0.0","@testing-library/jest-dom":"^7.0.1","eslint-plugin-react-hooks":"^7.1.1","@testing-library/user-event":"^14.6.6"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@strapi/icons":"^2.0.0-rc.29","@strapi/utils":"^5.0.0","@strapi/strapi":"^5.0.0","react-router-dom":"^6.0.0","styled-components":"^6.0.0","@strapi/design-system":"^2.0.0-rc.29"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/strapi-plugin-hubspot_0.16.9_1790847834304_0.6987073474094407"}}},"time":{"created":"2026-08-06T11:47:10.924Z","modified":"2026-10-01T09:43:54.742Z","0.1.0":"2026-08-06T11:47:11.146Z","0.2.0":"2026-08-06T16:37:19.109Z","0.2.1":"2026-08-06T18:13:35.955Z","0.3.0":"2026-08-11T08:49:52.079Z","0.4.0":"2026-08-11T14:41:59.098Z","0.4.1":"2026-08-11T14:58:53.985Z","0.4.2":"2026-08-11T15:19:40.075Z","0.5.0":"2026-08-12T07:25:15.915Z","0.6.0":"2026-08-28T15:54:34.158Z","0.6.1":"2026-08-28T16:46:41.620Z","0.7.0":"2026-08-29T12:51:08.725Z","0.8.0":"2026-08-29T13:40:12.041Z","0.9.0":"2026-08-29T14:30:16.093Z","0.10.0":"2026-08-29T16:53:30.584Z","0.11.0":"2026-08-29T18:27:22.560Z","0.11.1":"2026-08-29T19:20:09.257Z","0.13.0":"2026-08-31T11:17:49.863Z","0.13.1":"2026-09-21T15:23:34.304Z","0.14.0":"2026-09-21T17:05:25.490Z","0.15.0":"2026-09-21T19:39:30.897Z","0.16.0":"2026-09-22T07:23:28.148Z","0.16.1":"2026-09-22T09:20:03.462Z","0.16.2":"2026-09-22T10:01:15.910Z","0.16.3":"2026-09-22T11:04:13.312Z","0.16.5":"2026-09-23T10:42:38.947Z","0.16.7":"2026-09-23T13:59:57.357Z","0.16.8":"2026-09-24T11:49:20.584Z","0.16.9":"2026-10-01T09:43:54.404Z"},"bugs":{"url":"https://github.com/paullefizelier/strapi-plugin-hubspot/issues"},"author":{"name":"Paul Lefizelier"},"license":"MIT","homepage":"https://github.com/paullefizelier/strapi-plugin-hubspot#readme","keywords":["strapi","plugin","hubspot","crm","form-builder","forms","conditional-fields","leads","custom-field"],"repository":{"url":"git+https://github.com/paullefizelier/strapi-plugin-hubspot.git","type":"git"},"description":"The form builder for HubSpot in Strapi — multi-step forms with conditional fields mapped to real CRM properties, a public submit pipeline with retries, and save-time mapping validation.","maintainers":[{"name":"paullefizelier","email":"paul@idlen.io"}],"readme":"# Strapi HubSpot\n\n**The form builder for HubSpot** — and the safety net under it.\n\nBuild multi-step lead forms in a dedicated admin page: fields mapped to your\nportal's *real* CRM properties through a searchable picker, conditional fields\nand steps (AND/OR rules re-evaluated server-side), a public API your frontend\nrenders and posts to, and a submission pipeline that posts a **native HubSpot\nform conversion** (Forms API + visitor `hutk`), finds-or-creates the Company\nby corporate domain, and stores every submission in Strapi whatever the CRM's\nmood.\n\nUnder it, the safety net this plugin has always been: property pickers as\ncustom fields for your own content types, save-time mapping validation, a\nportal-wide audit, and a sending service with retries and a replay queue.\n\n## The form builder\n\n**HubSpot Forms**, in the admin menu (RBAC-gated), is a builder page — not a\nContent Manager view. Steps and fields are cards you reorder and configure;\nthe right-hand panel holds the selected field's settings, including its CRM\nmapping picked from the portal (object select, property search, one-click\nimport of an enumeration's options, deep link to the property).\n\n### Conditional fields and steps\n\nAny field or step can declare `visibleIf`: rules like *[field] [is] [value]*\ncombined with AND/OR. The editor only offers fields placed **earlier** in the\nform, so evaluation is a single deterministic pass. Operators: `eq`, `neq`,\n`contains`, `empty`, `notEmpty`, `gt`, `lt`.\n\nConditions are enforced **server-side at submission**, not just in the UI: a\nhidden field loses its `required`, and its value is discarded even if the\nbrowser sent it — the payload that reaches HubSpot is the payload the visitor\nactually saw.\n\n### The public API\n\nTwo content-api routes (grant them to the Public role in **Settings → Users &\nPermissions**):\n\n| Method | Path | Purpose |\n|---|---|---|\n| `GET` | `/api/hubspot/forms/:slug?locale=` | The published form — meta, steps, fields, conditions. The CRM mapping is stripped: the browser never learns your property names |\n| `POST` | `/api/hubspot/forms/:slug/submit` | Validates (bounds, conditions, required), maps server-side, syncs HubSpot, stores the submission |\n\nThe submit pipeline is a **policy**, not a single path. Settings → HubSpot\n(or `forms.*` in `config/plugins.ts`) pick how this install talks to HubSpot —\nso a portal that wants native conversions and a portal that only wants CRM\nupserts can share the same plugin:\n\n| Setting | Default | What it does |\n|---|---|---|\n| `forms.submissionMode` | `auto` | `auto`: Forms API when a marketing GUID is linked, else CRM upsert. `forms`: always try the Forms API. `crm`: never count as a conversion |\n| `forms.writeExtraProperties` | `true` | After a conversion, CRM-write mapped contact fields the HubSpot form dropped (they 400 the Forms API) |\n| `forms.syncFieldsOnPublish` | `false` | On publish, PATCH missing mapped **contact** fields onto the HubSpot form. Off by default so HubSpot-first installs aren't mutated |\n| `forms.timelineNote` | `true` | Recap note on the contact after a successful sync (page URL, subject, answers). Sits next to a native conversion; turn off if you only want the form submission |\n\nThe visitor's `hutk` is forwarded so attribution sticks. The conversion carries\n`context.pageUri` / `pageName` (the page the visitor submitted from). Then the\ncontact is looked up by email and, when the address is on a corporate domain,\nthe company is found-or-created and associated. Timeline notes (`forms.timelineNote`,\ndefault `true`) add a recap of that page plus the originating subject on the\ncontact timeline — they don't replace the conversion.\n\nCRM properties are **never created**. Map to properties that already exist in\nthe portal; opting into field sync only adds form fields that point at those\nproperties.\n\nPortal id, region and form GUIDs are configuration. A test portal today,\nproduction tomorrow: swap `portalId` / `region` / the GUID, no code change.\n\n```ts\nhubspot: {\n  config: {\n    apiKey: env(\"HUBSPOT_API_KEY\"),\n    portalId: env(\"HUBSPOT_PORTAL_ID\"),       // test now, production later\n    region: env(\"HUBSPOT_REGION\", \"eu1\"),     // eu1 → api-eu1.hsforms.com\n    forms: {\n      companyFromDomain: true, // Company by corporate domain + association\n      timelineNote: true,      // recap note (page + subject) next to the conversion\n      defaultFormId: env(\"HUBSPOT_DEFAULT_FORM_ID\", \"\"),\n      submissionMode: \"auto\",  // auto | forms | crm\n      writeExtraProperties: true,\n      syncFieldsOnPublish: false,\n    },\n  },\n}\n```\n\nEvery submission is stored in **HubSpot form submissions** (Content Manager),\nsynced or not, with the CRM ids when the sync succeeded — the source of truth\nlives in your database, not in HubSpot's availability.\n\n### GDPR consent\n\nHubSpot's native *legal consent* block is **not** a CRM field. Importing a\nHubSpot form skips it (you'll see \"rebuild it as a field\"). The Forms API\nsubmit sends `legalConsentOptions` when the HubSpot marketing form has a\nGDPR block and the visitor ticked consent.\n\nTo connect consent so the CRM and Strapi both keep a proof:\n\n1. **In HubSpot** (Settings → Properties → Contact), create a checkbox\n   property, e.g. `rgpd_consent`. Optionally a datetime `rgpd_consented_at`.\n2. **In the form builder** (Admin → HubSpot Forms), last step: add a\n   **Checkbox**, name it `consent` (that name is what the site recognizes —\n   it will not inject a second box), mark it **required**.\n3. **Map it**: Object = Contact, property = `rgpd_consent`. The visitor's tick\n   then lands on the contact (if that property is on the HubSpot form) and in\n   `legalConsentOptions`. Leave `consentedAt` unmapped; the frontend sends it\n   in `meta.consentedAt`, stored on the submission.\n4. **Point the builder form at a HubSpot marketing form** (right-hand panel)\n   so the tick is a native conversion, not a CRM note.\n5. **Publish** the form. The public submit pipeline already refuses a payload\n   without consent when the site is in front (Nuxt BFF). Direct calls to\n   `/api/hubspot/forms/:slug/submit` still accept a form that has no consent\n   field — add the checkbox so required-field validation covers them too.\n\nThe frontend should also send `meta.hutk` (the `hubspotutk` cookie set by\nHubSpot's tracking script) and `meta.pageUrl` so Original Source is Organic\nSearch / Direct / etc. rather than *Offline sources*.\n\n### Browsing submissions\n\nThe **Submissions** button on the forms list (also reachable from a form's\ncount in the table) opens the submissions browser: every stored answer,\nnewest first, filterable by form, with the sync state at a glance and the\nfull answer set one click away. **Export CSV** downloads one form's whole\nhistory — columns follow the form's field order, and keys found only in older\nsubmissions (a renamed or removed field) are appended rather than dropped.\nDeleting stays in the Content Manager, where the type remains visible.\n\nTyped payloads for your frontend:\n\n```ts\nimport type { PublicForm, SubmitRequest } from \"strapi-plugin-hubspot/types\";\n```\n\n### Importing existing forms\n\nIf your forms currently live in a content type (the `steps`/`fields` +\n`hsObject`/`hsProperty` shape this README documents below), point the builder\nat it:\n\n```ts\nhubspot: {\n  config: {\n    forms: {\n      import: {\n        uid: \"api::form.form\",\n        // Optional remapping when your attribute names differ:\n        // steps: \"etapes\", fields: \"champs\",\n        // field: { label: \"libelle\", object: \"objet\", property: \"propriete\" },\n      },\n    },\n  },\n}\n```\n\nThe list page then offers **Import an existing form**: one click converts the\nentry — every locale — into a builder draft with the same slug. The source is\nnever modified, re-importing overwrites the draft only, and unpublishing rolls\na migrated form back. Migrate form by form; the validation middleware keeps\nprotecting the ones that stay.\n\n### Importing forms from HubSpot\n\nForms built **in HubSpot itself** can be imported too — give the private app\ntoken the `forms` read scope and the list page offers every regular form of\nthe portal. The translation carries over what the builder can express:\n\n- fields, labels, placeholders, help texts, required flags and options —\n  and since a HubSpot form field *is* a CRM property, the imported form\n  arrives with a **mapping that is already valid** for the portal;\n- two-fields-per-row layouts become two half-width fields;\n- dependent fields become `visibleIf` conditions (value lists are expanded\n  into OR'd/AND'd rules).\n\nThe HubSpot original is never modified. Re-importing (or **Resync from HubSpot**\nin the editor) updates mapped fields in place and appends new ones — Strapi\nsteps, conditions and extra fields stay. Matching is by HubSpot form GUID,\nthen slug. The published version is never touched.\n\n### i18n and publishing\n\nForms are draft & publish, localized like your content: `name` and `slug` are\nshared, everything else — including the structure — is per-locale. Opening a\nlocale that doesn't exist yet starts it from the default locale's structure.\nPublishing is blocked while a mapping problem remains; drafts save anyway,\nwith the problem flagged on the field carrying it.\n\n---\n\n## The safety net\n\n## The problem it solves\n\nIf you build lead forms in Strapi and push them to HubSpot, somewhere in your\nschema there is a field where an editor types a property name — `hs_role`,\n`numberofemployees`, `jobtitle`. It is a free-text field, and nothing checks it.\n\nThat matters more than it looks, because of how the HubSpot API behaves:\n\n> **A single unknown property makes HubSpot reject the entire upsert.**\n\nSo one typo doesn't cost you one answer. It costs you the whole lead. The\nsubmission is accepted by your site, stored in Strapi, and never reaches the\nCRM — with no error anyone will notice until someone asks why the pipeline is\nempty.\n\nThe three ways this happens are all invisible in a text input:\n\n| What you typed | What's wrong |\n|---|---|\n| `hs_rôle` | Doesn't exist — a typo, an autocorrect, a copy-paste |\n| `role ` | Exists, but with a trailing space |\n| `name` | Exists, but on **Company** — you mapped it to Contact |\n\nThis plugin makes all three impossible to save.\n\n## What you get\n\n### A property picker instead of a text field\n\nReplace your property field's type with the `hubspot.property` custom field.\nEditors then search the real, writable properties of your portal:\n\n```\nContact · Rôle (hs_role)\nContact · Prénom (firstname)\nSociété · Nombre d'employés (numberofemployees)\n```\n\n**The list narrows to the object you picked.** Point the field at the sibling\nthat holds the object — from the Content-Type Builder, under *HubSpot → Object\nfield* — and choosing *Contact* leaves only contact properties. The prefix\ndisappears, since it is no longer telling you anything. In `schema.json` that\nsetting reads:\n\n```json\n{\n  \"hsProperty\": {\n    \"type\": \"customField\",\n    \"customField\": \"plugin::hubspot.property\",\n    \"options\": { \"objectField\": \"hsObject\" }\n  }\n}\n```\n\nOnce filtered, the list is ordered and prefixed by the property's **HubSpot\ngroup** — the portal's own way of organising hundreds of properties:\n\n```\nInformations de contact · Prénom (firstname)\nInformations de contact · Rôle (hs_role)\nHistorique · Source (hs_analytics_source)\n```\n\nRead-only properties — the ones HubSpot computes and always refuses to\naccept — are filtered out, so the list only ever offers things that will\nactually work. When the portal id is readable, each selected property gets a\n**Voir dans HubSpot** link straight to its settings page.\n\nThe schema is fetched **once per page** whatever the number of fields, and\ncached ten minutes server-side. A property created in HubSpot a minute ago is\none click away: the **↻ button** under any picker re-fetches the portal and\nupdates every picker on the page at once. And switching a field's object clears\na property that doesn't exist on the new one — it could only fail at save time.\n\n### An object picker to feed it\n\nThe sibling object field doesn't have to be a hand-typed enum: the\n`hubspot.object` custom field is a select over the portal's configured\nobjects. An object the token can't read stays selectable, flagged with its\nmissing scope.\n\n```json\n{\n  \"hsObject\": {\n    \"type\": \"customField\",\n    \"customField\": \"plugin::hubspot.object\"\n  }\n}\n```\n\n### One-click option import\n\nFor an **enumeration** property, the picker shows an *Import the N options\nfrom HubSpot* button that fills the sibling repeatable (default `options`,\nentries `{ value, label }` — the same shape the validation reads) with the\nenumeration's real choices. The `bad-option` check detects a select that\ndrifted from the CRM; this is what fixes it. Point `optionsField` (in the\nfield's HubSpot options, next to `objectField`) at the repeatable if it isn't\ncalled `options`.\n\n### Validation on save\n\nPoint the plugin at the content types that carry mappings and it walks each\nentry before it is written, at any depth — steps, repeatable components, dynamic\nzones. An invalid mapping is refused with a message that says which property and\nwhy:\n\n> Invalid HubSpot mapping — \"name\" exists on company, not on contact\n\nIt catches four things:\n\n| Code | Case |\n|---|---|\n| `unknown` | The property doesn't exist in the portal |\n| `wrong-object` | It exists, but on another object |\n| `whitespace` | It exists, but the stored value has surrounding spaces |\n| `bad-option` | The field offers a choice the enumeration doesn't accept |\n\nThat last one closes a real hole: HubSpot refuses a value outside an\nenumeration exactly as hard as it refuses an unknown property, so a select whose\nchoices drifted from the CRM fails at send time with nothing to show for it.\nPoint `optionsField` at the repeatable holding the choices (default `options`,\neach `{ value?, label? }`) and they are checked too.\n\nEach problem is also carried as a structured code in the error's `details`, so a\nhost app can localize the message instead of parsing the sentence.\n\n**`unknown` is the one code a legitimate workflow can produce** — a mapping\nwritten before its property was deleted in HubSpot, or content created through\nthe API against a property staged but not created yet. Set `strict: false` on a\nvalidate target and those pass with a warning in the logs instead of blocking\nthe save. The other three codes always block, whatever `strict` says: no\nworkflow produces a wrong object, a trailing space, or a drifted option on\npurpose.\n\n### An audit of existing content\n\nSave-time validation only protects entries as they are written. A property\ndeleted in HubSpot afterwards leaves invalid mappings dormant in content nobody\nre-saves — until a submission silently fails. **Settings → HubSpot → Mapping\naudit** walks every entry of the validated content types (drafts, every locale,\nat any depth) against a freshly fetched schema, and lists each entry the portal\nwould reject today, linking straight to it in the Content Manager.\n\nThe audit reports `unknown` properties even on `strict: false` targets: strict\nonly decides whether a save is blocked, not whether the mapping would reach the\nCRM.\n\n### A sending service\n\nThe host app doesn't have to talk to HubSpot itself — the plugin exposes the\nupsert, with everything above applied on the way out:\n\n```ts\nconst result = await strapi.plugin(\"hubspot\").service(\"submit\").upsert({\n  object: \"contact\",\n  idProperty: \"email\", // find-or-create key\n  properties: {\n    email: \"jane@acme.com\",\n    firstname: \"Jane\",\n    hs_role: \"dev;designer\", // multi-select values use HubSpot's `;` separator\n  },\n});\n// { ok: true, id: \"…\" }\n// { ok: false, problems: [{ code: \"unknown\", … }] }  — refused before sending\n// { ok: false, queued: true, error: \"…\" }            — parked for replay\n```\n\nThe payload is validated against the portal schema **before** it is sent —\nthe same checks as on save, values coerced to strings, empty ones dropped.\nThen:\n\n- a **permanent refusal** (4xx) comes back as `{ ok: false, error }` with\n  HubSpot's message — retrying can't fix a wrong payload, so nothing is queued;\n- a **transient failure** (429, 5xx, network) is retried twice with backoff,\n  then parked in **Content Manager → HubSpot failed submissions** and reported\n  as `{ ok: false, queued: true }`.\n\n`service(\"submit\").retryFailures()` replays the queue, oldest first — from a\ncron in the host app, or the **Replay now** button in Settings → HubSpot. A\nreplay that succeeds removes the row; one that keeps failing stays, with its\nerror and attempt count, until it works or an admin deletes it.\n\nSending needs write scopes on the token: `crm.objects.contacts.write` (and\nits equivalent per object you send to).\n\n### A settings screen\n\n**Settings → HubSpot** holds the private app token, the HubSpot account that\nreceives conversions (portal id, region, default marketing form), **and** the\nsubmission policy: conversion vs CRM upsert, leftover contact writes, form\nfield sync on publish. Values saved here override `config/plugins.ts` and env\n— switching test → production, or switching HubSpot-first ↔ Strapi-first, is\nan admin change, not a deploy.\n\nThe token is stored server-side and never returned to the browser: the UI only\nreceives whether a key exists, where it comes from, and its last four\ncharacters. Portal id / region / form GUID are not secrets and round-trip so\nthey can be edited. A \"Test connection\" button round-trips to HubSpot and\nreports how many properties it can read.\n\nAccess is gated by a dedicated RBAC permission — **Settings →\nRoles → Plugins → Hubspot**. A role without it neither sees the settings link\nnor can call the settings routes; reading properties stays open to every\nauthenticated admin, since the picker needs it in the Content Manager.\n\n> **On storage:** the key is kept in Strapi's core store, which is **not\n> encrypted at rest** — it is readable by anyone with database access. It never\n> reaches the browser, but treat it like any other secret in your database. Use\n> `HUBSPOT_API_KEY` if your deployment already manages secrets properly.\n\n## Stability & versioning\n\nFrom 1.0 onward this plugin follows semver against a **frozen public\ncontract**, enforced by a dedicated test suite (`contract.test.ts`):\n\n- the **definition document** (`version: 1`): steps → fields → `visibleIf`\n  conditions, the 12 operators, stable `stp_`/`fld_` ids;\n- the **public API payloads**: `GET /forms/:slug` (rendering props served,\n  CRM mappings never), `POST /forms/:slug/submit` and its structured 422,\n  `GET /company-search`;\n- the **submission conventions**: values keyed by field `name`, company\n  companion keys `<name>__siret` / `<name>__company`, honeypot `__hp`;\n- the exported types (`strapi-plugin-hubspot/types`).\n\nAnything else — admin UI, internals, HubSpot plumbing — may improve in minor\nversions. Breaking any of the above means a major version, and a `version: 2`\ndefinition would ship with an automatic migration from `version: 1`.\n\n## Install\n\n```bash\nnpm install strapi-plugin-hubspot\n```\n\nEnable it in `config/plugins.ts`:\n\n```ts\nexport default ({ env }) => ({\n  hubspot: {\n    enabled: true,\n    config: {\n      // Optional — the key can also be set from Settings → HubSpot.\n      apiKey: env(\"HUBSPOT_API_KEY\", \"\"),\n      portalId: env(\"HUBSPOT_PORTAL_ID\", \"\"),\n      region: env(\"HUBSPOT_REGION\", \"eu1\"),\n\n      // Optional — objects whose properties are offered.\n      // Defaults to [\"contact\", \"company\"]. Standard names: contact, company,\n      // deal, ticket, product, line_item, quote. A custom object is either its\n      // type id, or { name, path } when the two differ.\n      objects: [\"contact\", \"company\", \"deal\"],\n\n      // Optional — entries whose mappings are validated on save.\n      validate: [\n        {\n          uid: \"api::form.form\",\n          objectField: \"hsObject\",     // holds \"contact\" | \"company\"\n          propertyField: \"hsProperty\", // holds the property name\n          optionsField: \"options\",     // optional — the field's choices\n          strict: true,                // optional — false lets `unknown`\n                                       // properties through with a warning\n        },\n      ],\n    },\n  },\n});\n```\n\nThen point your property field at the custom field, in the component or content\ntype that holds it. `options.objectField` names the sibling holding the object —\nomit it and the picker simply lists every object's properties:\n\n```json\n{\n  \"hsProperty\": {\n    \"type\": \"customField\",\n    \"customField\": \"plugin::hubspot.property\",\n    \"options\": { \"objectField\": \"hsObject\" }\n  }\n}\n```\n\nRestart Strapi and hard-refresh the admin.\n\n### The token\n\nCreate a **private app** in HubSpot with a read scope per object you list:\n\n- `crm.schemas.contacts.read`\n- `crm.schemas.companies.read`\n- `crm.schemas.deals.read`, `crm.schemas.custom.read`… as needed\n- `crm.objects.contacts.read` / `write`, `crm.objects.companies.read` / `write`\n- `forms` — list portal forms (import + builder picker) and **submit** them\n  via the Forms API (native conversions). Without this scope the pipeline\n  falls back to a CRM upsert, which HubSpot treats as an offline source.\n\nAn object the token can't read is **skipped, not fatal**: the picker keeps\nworking for the others and explains which one is missing a scope. `oauth` is\nworth adding too — it exposes the portal id *and the portal's UI host*, which\nturn on the *view in HubSpot* links.\n\n### Regions\n\nThe REST API is global: `api.hubapi.com` routes by token, whatever the portal's\nhosting region. The **web app and the Forms API are not** — an EU-hosted portal\nlives on `app-eu1.hubspot.com` and submits to `api-eu1.hsforms.com`. Set\n`config.region` (`eu1`, `na1`, …) to match. Deep links are built from the\n`uiDomain` HubSpot reports for your portal rather than a hardcoded host.\n\nThe key, portal id, region and default form GUID are resolved in this order,\nfirst match wins:\n\n1. saved from **Settings → HubSpot**\n2. `config/plugins.ts` (`apiKey`, `portalId`, `region`, `forms.defaultFormId`)\n3. environment variables (`HUBSPOT_API_KEY`, `HUBSPOT_PORTAL_ID`,\n   `HUBSPOT_REGION`, `HUBSPOT_DEFAULT_FORM_ID`)\n\n## Migrating an existing field\n\nThe custom field is backed by a plain `string`. Switching an existing text field\nto it needs **no migration**: every value already saved stays valid and\nselectable, and uninstalling the plugin leaves readable data behind.\n\nA stored value your portal doesn't recognise — typed before you installed this,\nor since deleted in HubSpot — stays selected and is flagged *inconnue du portail*\nrather than being silently dropped on the next save.\n\n## How it degrades\n\nA plugin that sits between your editors and their content has to fail quietly.\nThis one never blocks work:\n\n| Situation | Behaviour |\n|---|---|\n| No API key configured | The field falls back to a plain text input, with a note explaining why |\n| HubSpot unreachable | Saving proceeds; validation is skipped and a warning is logged |\n| Property staged in HubSpot but not created yet | Not offered — properties are managed in HubSpot, the picker never invents one. A value already stored (e.g. written via the API) passes the save if the target sets `strict: false` |\n| An object's scope is missing | That object is skipped; the others still work |\n| Portal id unreadable | Deep links are omitted; everything else is unaffected |\n| Plugin uninstalled | Values remain as strings — nothing to undo |\n\nThe property schema is cached for 10 minutes and de-duplicated across concurrent\nrequests, so a busy Content Manager doesn't hammer the HubSpot API. Saving a new\nkey drops the cache immediately.\n\n## Admin API\n\nAll routes require an authenticated admin; the settings routes additionally\nrequire the `plugin::hubspot.settings` RBAC permission.\n\n| Method | Path | Purpose |\n|---|---|---|\n| `GET` | `/hubspot/properties` | Writable properties, readable objects, unreachable ones and the portal id. `?refresh=1` bypasses the cache |\n| `GET` | `/hubspot/audit` | Scans every entry of the validated content types and returns the invalid mappings, per entry |\n| `GET` | `/hubspot/failures` | Number of parked submissions |\n| `POST` | `/hubspot/failures/retry` | Replays the parked submissions and reports the outcome |\n| `GET` | `/hubspot/settings` | Whether a key exists, its source and hint — never the key |\n| `PUT` | `/hubspot/settings` | Save a key (`{ apiKey }`) |\n| `DELETE` | `/hubspot/settings` | Remove the stored key |\n\n## i18n\n\nThe admin UI ships in English and French, keyed on the Strapi admin locale.\nServer-side error messages stay in English; the structured codes in the\nerror's `details` are the localization hook for host apps.\n\n## Tests\n\n```bash\nnpm test\n```\n\nVitest over the server logic: mapping checks, deep collection through dynamic\nzones and repeatables, schema loading (cache, concurrent de-duplication,\nmissing scopes) and the strict/non-strict save middleware.\n\n## Compatibility\n\nStrapi **v5**. Node **>= 18**.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}