payload-plugin-newsletter 0.4.4 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/ESM_FIX_SUMMARY.md +74 -0
  3. package/dist/client.cjs +899 -0
  4. package/dist/client.cjs.map +1 -0
  5. package/dist/client.d.cts +52 -0
  6. package/dist/client.d.ts +52 -0
  7. package/dist/client.js +867 -0
  8. package/dist/client.js.map +1 -0
  9. package/dist/components.cjs +899 -0
  10. package/dist/components.cjs.map +1 -0
  11. package/dist/components.d.cts +4 -0
  12. package/dist/components.d.ts +4 -0
  13. package/dist/components.js +867 -0
  14. package/dist/components.js.map +1 -0
  15. package/dist/index.cjs +1928 -0
  16. package/dist/index.cjs.map +1 -0
  17. package/dist/index.d.cts +11 -0
  18. package/dist/index.d.ts +6 -5
  19. package/dist/index.js +1891 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/types.cjs +19 -0
  22. package/dist/types.cjs.map +1 -0
  23. package/dist/{types/index.d.ts → types.d.cts} +20 -18
  24. package/dist/types.d.ts +350 -0
  25. package/dist/types.js +1 -0
  26. package/dist/types.js.map +1 -0
  27. package/package.json +40 -17
  28. package/dist/.tsbuildinfo +0 -1
  29. package/dist/collections/NewsletterSettings.d.ts +0 -4
  30. package/dist/collections/NewsletterSettings.d.ts.map +0 -1
  31. package/dist/collections/Subscribers.d.ts +0 -4
  32. package/dist/collections/Subscribers.d.ts.map +0 -1
  33. package/dist/components/MagicLinkVerify.d.ts +0 -27
  34. package/dist/components/MagicLinkVerify.d.ts.map +0 -1
  35. package/dist/components/NewsletterForm.d.ts +0 -5
  36. package/dist/components/NewsletterForm.d.ts.map +0 -1
  37. package/dist/components/PreferencesForm.d.ts +0 -5
  38. package/dist/components/PreferencesForm.d.ts.map +0 -1
  39. package/dist/components/index.d.ts +0 -5
  40. package/dist/components/index.d.ts.map +0 -1
  41. package/dist/endpoints/index.d.ts +0 -4
  42. package/dist/endpoints/index.d.ts.map +0 -1
  43. package/dist/endpoints/preferences.d.ts +0 -5
  44. package/dist/endpoints/preferences.d.ts.map +0 -1
  45. package/dist/endpoints/subscribe.d.ts +0 -4
  46. package/dist/endpoints/subscribe.d.ts.map +0 -1
  47. package/dist/endpoints/unsubscribe.d.ts +0 -4
  48. package/dist/endpoints/unsubscribe.d.ts.map +0 -1
  49. package/dist/endpoints/verify-magic-link.d.ts +0 -4
  50. package/dist/endpoints/verify-magic-link.d.ts.map +0 -1
  51. package/dist/exports/client.d.ts +0 -6
  52. package/dist/exports/client.d.ts.map +0 -1
  53. package/dist/exports/components.d.ts +0 -2
  54. package/dist/exports/components.d.ts.map +0 -1
  55. package/dist/exports/types.d.ts +0 -2
  56. package/dist/exports/types.d.ts.map +0 -1
  57. package/dist/fields/newsletterScheduling.d.ts +0 -4
  58. package/dist/fields/newsletterScheduling.d.ts.map +0 -1
  59. package/dist/hooks/useNewsletterAuth.d.ts +0 -16
  60. package/dist/hooks/useNewsletterAuth.d.ts.map +0 -1
  61. package/dist/index.d.ts.map +0 -1
  62. package/dist/providers/broadcast.d.ts +0 -19
  63. package/dist/providers/broadcast.d.ts.map +0 -1
  64. package/dist/providers/index.d.ts +0 -23
  65. package/dist/providers/index.d.ts.map +0 -1
  66. package/dist/providers/resend.d.ts +0 -20
  67. package/dist/providers/resend.d.ts.map +0 -1
  68. package/dist/providers/types.d.ts +0 -46
  69. package/dist/providers/types.d.ts.map +0 -1
  70. package/dist/src/collections/NewsletterSettings.js +0 -390
  71. package/dist/src/collections/NewsletterSettings.js.map +0 -1
  72. package/dist/src/collections/Subscribers.js +0 -309
  73. package/dist/src/collections/Subscribers.js.map +0 -1
  74. package/dist/src/components/MagicLinkVerify.js +0 -180
  75. package/dist/src/components/MagicLinkVerify.js.map +0 -1
  76. package/dist/src/components/NewsletterForm.js +0 -326
  77. package/dist/src/components/NewsletterForm.js.map +0 -1
  78. package/dist/src/components/PreferencesForm.js +0 -524
  79. package/dist/src/components/PreferencesForm.js.map +0 -1
  80. package/dist/src/components/index.js +0 -5
  81. package/dist/src/components/index.js.map +0 -1
  82. package/dist/src/endpoints/index.js +0 -17
  83. package/dist/src/endpoints/index.js.map +0 -1
  84. package/dist/src/endpoints/preferences.js +0 -136
  85. package/dist/src/endpoints/preferences.js.map +0 -1
  86. package/dist/src/endpoints/subscribe.js +0 -162
  87. package/dist/src/endpoints/subscribe.js.map +0 -1
  88. package/dist/src/endpoints/unsubscribe.js +0 -105
  89. package/dist/src/endpoints/unsubscribe.js.map +0 -1
  90. package/dist/src/endpoints/verify-magic-link.js +0 -103
  91. package/dist/src/endpoints/verify-magic-link.js.map +0 -1
  92. package/dist/src/exports/client.js +0 -7
  93. package/dist/src/exports/client.js.map +0 -1
  94. package/dist/src/exports/components.js +0 -6
  95. package/dist/src/exports/components.js.map +0 -1
  96. package/dist/src/exports/types.js +0 -3
  97. package/dist/src/exports/types.js.map +0 -1
  98. package/dist/src/fields/newsletterScheduling.js +0 -194
  99. package/dist/src/fields/newsletterScheduling.js.map +0 -1
  100. package/dist/src/hooks/useNewsletterAuth.js +0 -112
  101. package/dist/src/hooks/useNewsletterAuth.js.map +0 -1
  102. package/dist/src/index.js +0 -130
  103. package/dist/src/index.js.map +0 -1
  104. package/dist/src/providers/broadcast.js +0 -158
  105. package/dist/src/providers/broadcast.js.map +0 -1
  106. package/dist/src/providers/index.js +0 -63
  107. package/dist/src/providers/index.js.map +0 -1
  108. package/dist/src/providers/resend.js +0 -122
  109. package/dist/src/providers/resend.js.map +0 -1
  110. package/dist/src/providers/types.js +0 -12
  111. package/dist/src/providers/types.js.map +0 -1
  112. package/dist/src/templates/BaseTemplate.js +0 -105
  113. package/dist/src/templates/BaseTemplate.js.map +0 -1
  114. package/dist/src/templates/MagicLinkTemplate.js +0 -178
  115. package/dist/src/templates/MagicLinkTemplate.js.map +0 -1
  116. package/dist/src/templates/NewsletterTemplate.js +0 -150
  117. package/dist/src/templates/NewsletterTemplate.js.map +0 -1
  118. package/dist/src/templates/WelcomeTemplate.js +0 -192
  119. package/dist/src/templates/WelcomeTemplate.js.map +0 -1
  120. package/dist/src/templates/index.js +0 -6
  121. package/dist/src/templates/index.js.map +0 -1
  122. package/dist/src/types/index.js +0 -3
  123. package/dist/src/types/index.js.map +0 -1
  124. package/dist/src/utils/access.js +0 -80
  125. package/dist/src/utils/access.js.map +0 -1
  126. package/dist/src/utils/jwt.js +0 -91
  127. package/dist/src/utils/jwt.js.map +0 -1
  128. package/dist/src/utils/rate-limiter.js +0 -43
  129. package/dist/src/utils/rate-limiter.js.map +0 -1
  130. package/dist/src/utils/validation.js +0 -148
  131. package/dist/src/utils/validation.js.map +0 -1
  132. package/dist/templates/BaseTemplate.d.ts +0 -45
  133. package/dist/templates/BaseTemplate.d.ts.map +0 -1
  134. package/dist/templates/MagicLinkTemplate.d.ts +0 -67
  135. package/dist/templates/MagicLinkTemplate.d.ts.map +0 -1
  136. package/dist/templates/NewsletterTemplate.d.ts +0 -112
  137. package/dist/templates/NewsletterTemplate.d.ts.map +0 -1
  138. package/dist/templates/WelcomeTemplate.d.ts +0 -55
  139. package/dist/templates/WelcomeTemplate.d.ts.map +0 -1
  140. package/dist/templates/index.d.ts +0 -7
  141. package/dist/templates/index.d.ts.map +0 -1
  142. package/dist/types/index.d.ts.map +0 -1
  143. package/dist/utils/access.d.ts +0 -15
  144. package/dist/utils/access.d.ts.map +0 -1
  145. package/dist/utils/jwt.d.ts +0 -32
  146. package/dist/utils/jwt.d.ts.map +0 -1
  147. package/dist/utils/rate-limiter.d.ts +0 -15
  148. package/dist/utils/rate-limiter.d.ts.map +0 -1
  149. package/dist/utils/validation.d.ts +0 -33
  150. package/dist/utils/validation.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,10 +1,37 @@
1
- # Changelog
1
+ ## [0.6.0] - 2025-06-20
2
+
3
+ - fix: resolve ESLint error for unused variable in test mock
4
+ - fix: update tests to support newsletter settings as global
5
+ - feat: convert newsletter settings from collection to global
6
+
2
7
 
3
8
  All notable changes to this project will be documented in this file.
4
9
 
5
10
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
11
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
12
 
13
+ ## [0.5.0] - 2025-06-20
14
+
15
+ ### Changed
16
+ - **BREAKING**: Changed newsletter settings from a collection back to a global configuration
17
+ - Settings are now accessed as a single global config instead of multiple documents
18
+ - Removed the "name" and "active" fields as they're no longer needed for globals
19
+ - Settings now appear as a single page in the admin UI instead of a list view
20
+ - Updated all code to use `payload.findGlobal()` instead of `payload.find()`
21
+
22
+ ### Migration Required
23
+ - Users with existing newsletter-settings collections will need to manually copy their active configuration to the new global settings
24
+ - After migration, the old newsletter-settings collection can be removed from the database
25
+
26
+ ### Fixed
27
+ - Resolved user confusion around having multiple settings documents when only one could be active
28
+ - Settings now follow the standard Payload pattern for configuration globals
29
+
30
+ ## [0.4.5] - 2025-06-19
31
+
32
+ ### Fixed
33
+ - Added tsup build system for proper ESM/CJS dual package support
34
+
8
35
  ## [0.4.4] - 2025-06-16
9
36
 
10
37
  ### Fixed
@@ -0,0 +1,74 @@
1
+ # ESM/CJS Module Resolution Fix Summary
2
+
3
+ ## Changes Made
4
+
5
+ ### 1. **Added tsup Build Tool**
6
+ - Added `tsup` v8.3.5 to devDependencies for proper ESM/CJS dual package support
7
+ - Created `tsup.config.ts` with configuration for building both ESM and CJS outputs
8
+
9
+ ### 2. **Updated package.json**
10
+ - Changed entry points from source files (`./src/`) to built files (`./dist/`)
11
+ - Added proper exports configuration with both ESM and CJS support:
12
+ - ESM files: `.js` extension with `.d.ts` types
13
+ - CJS files: `.cjs` extension with `.d.cts` types
14
+ - Updated build scripts to use tsup
15
+ - Added `module` field pointing to ESM entry
16
+
17
+ ### 3. **Updated tsconfig.json**
18
+ - Changed `moduleResolution` from "bundler" to "node" for better compatibility
19
+
20
+ ### 4. **Created Build Script**
21
+ - Added `build-and-commit.sh` for easy building and verification
22
+
23
+ ## File Structure After Build
24
+
25
+ ```
26
+ dist/
27
+ ├── index.js # ESM main entry
28
+ ├── index.cjs # CJS main entry
29
+ ├── index.d.ts # TypeScript definitions
30
+ ├── index.d.cts # CJS TypeScript definitions
31
+ ├── client.js # ESM client export
32
+ ├── client.cjs # CJS client export
33
+ ├── client.d.ts # Client TypeScript definitions
34
+ ├── client.d.cts # CJS Client TypeScript definitions
35
+ ├── types.js # ESM types export
36
+ ├── types.cjs # CJS types export
37
+ ├── types.d.ts # Types TypeScript definitions
38
+ ├── types.d.cts # CJS Types TypeScript definitions
39
+ ├── components.js # ESM components export
40
+ ├── components.cjs # CJS components export
41
+ ├── components.d.ts # Components TypeScript definitions
42
+ └── components.d.cts # CJS Components TypeScript definitions
43
+ ```
44
+
45
+ ## How to Build and Publish
46
+
47
+ 1. **Install dependencies**: `bun install`
48
+ 2. **Build the package**: `bun run build`
49
+ 3. **Test locally**: Link the package to test in your project
50
+ 4. **Publish**: `npm publish` (dist files will be included automatically)
51
+
52
+ ## Benefits
53
+
54
+ 1. **Proper ESM Support**: Next.js apps using `"type": "module"` can now import the package without issues
55
+ 2. **CJS Compatibility**: Still works with CommonJS projects
56
+ 3. **TypeScript Support**: Proper type definitions for both module systems
57
+ 4. **Clean Exports**: Clear separation of server/client code with proper exports
58
+ 5. **Future Proof**: Ready for the ESM-first ecosystem
59
+
60
+ ## Testing the Fix
61
+
62
+ To test in your ContentQuant project:
63
+ 1. Build the plugin: `bun run build`
64
+ 2. Link locally: `npm link` in plugin directory
65
+ 3. Link in project: `npm link payload-plugin-newsletter` in ContentQuant
66
+ 4. Import and use normally
67
+
68
+ ## Next Steps
69
+
70
+ 1. Run `./build-and-commit.sh` to build the package
71
+ 2. Test the built package locally
72
+ 3. Commit changes with message: "fix: add tsup build system for proper ESM/CJS dual package support"
73
+ 4. Push to repository
74
+ 5. Publish new version to npm