fastcomments-sdk 2.0.0 → 2.1.1

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 (123) hide show
  1. package/README.md +113 -29
  2. package/dist/__tests__/browser-compatibility.test.d.ts +2 -0
  3. package/dist/__tests__/browser-compatibility.test.d.ts.map +1 -0
  4. package/dist/__tests__/browser-compatibility.test.js +170 -0
  5. package/dist/__tests__/browser-compatibility.test.js.map +1 -0
  6. package/dist/__tests__/sso.integration.test.js +17 -11
  7. package/dist/__tests__/sso.integration.test.js.map +1 -1
  8. package/dist/browser.d.ts +37 -0
  9. package/dist/browser.d.ts.map +1 -0
  10. package/dist/browser.js +105 -0
  11. package/dist/browser.js.map +1 -0
  12. package/dist/generated/src/apis/DefaultApi.d.ts +345 -1
  13. package/dist/generated/src/apis/DefaultApi.d.ts.map +1 -1
  14. package/dist/generated/src/apis/DefaultApi.js +501 -0
  15. package/dist/generated/src/apis/DefaultApi.js.map +1 -1
  16. package/dist/generated/src/models/APIPage.d.ts +81 -0
  17. package/dist/generated/src/models/APIPage.d.ts.map +1 -0
  18. package/dist/generated/src/models/APIPage.js +77 -0
  19. package/dist/generated/src/models/APIPage.js.map +1 -0
  20. package/dist/generated/src/models/APISSOUser.d.ts +147 -0
  21. package/dist/generated/src/models/APISSOUser.d.ts.map +1 -0
  22. package/dist/generated/src/models/APISSOUser.js +111 -0
  23. package/dist/generated/src/models/APISSOUser.js.map +1 -0
  24. package/dist/generated/src/models/APIUserSubscription.d.ts +69 -0
  25. package/dist/generated/src/models/APIUserSubscription.d.ts.map +1 -0
  26. package/dist/generated/src/models/APIUserSubscription.js +67 -0
  27. package/dist/generated/src/models/APIUserSubscription.js.map +1 -0
  28. package/dist/generated/src/models/AddPageAPIResponse.d.ts +52 -0
  29. package/dist/generated/src/models/AddPageAPIResponse.d.ts.map +1 -0
  30. package/dist/generated/src/models/AddPageAPIResponse.js +58 -0
  31. package/dist/generated/src/models/AddPageAPIResponse.js.map +1 -0
  32. package/dist/generated/src/models/AddSSOUserAPIResponse.d.ts +52 -0
  33. package/dist/generated/src/models/AddSSOUserAPIResponse.d.ts.map +1 -0
  34. package/dist/generated/src/models/AddSSOUserAPIResponse.js +58 -0
  35. package/dist/generated/src/models/AddSSOUserAPIResponse.js.map +1 -0
  36. package/dist/generated/src/models/CreateAPIPageData.d.ts +63 -0
  37. package/dist/generated/src/models/CreateAPIPageData.d.ts.map +1 -0
  38. package/dist/generated/src/models/CreateAPIPageData.js +65 -0
  39. package/dist/generated/src/models/CreateAPIPageData.js.map +1 -0
  40. package/dist/generated/src/models/CreateAPISSOUserData.d.ts +147 -0
  41. package/dist/generated/src/models/CreateAPISSOUserData.d.ts.map +1 -0
  42. package/dist/generated/src/models/CreateAPISSOUserData.js +93 -0
  43. package/dist/generated/src/models/CreateAPISSOUserData.js.map +1 -0
  44. package/dist/generated/src/models/CreateAPIUserSubscriptionData.d.ts +57 -0
  45. package/dist/generated/src/models/CreateAPIUserSubscriptionData.d.ts.map +1 -0
  46. package/dist/generated/src/models/CreateAPIUserSubscriptionData.js +59 -0
  47. package/dist/generated/src/models/CreateAPIUserSubscriptionData.js.map +1 -0
  48. package/dist/generated/src/models/CreateSubscriptionAPIResponse.d.ts +52 -0
  49. package/dist/generated/src/models/CreateSubscriptionAPIResponse.d.ts.map +1 -0
  50. package/dist/generated/src/models/CreateSubscriptionAPIResponse.js +58 -0
  51. package/dist/generated/src/models/CreateSubscriptionAPIResponse.js.map +1 -0
  52. package/dist/generated/src/models/DeletePageAPIResponse.d.ts +45 -0
  53. package/dist/generated/src/models/DeletePageAPIResponse.d.ts.map +1 -0
  54. package/dist/generated/src/models/DeletePageAPIResponse.js +55 -0
  55. package/dist/generated/src/models/DeletePageAPIResponse.js.map +1 -0
  56. package/dist/generated/src/models/DeleteSSOUserAPIResponse.d.ts +52 -0
  57. package/dist/generated/src/models/DeleteSSOUserAPIResponse.d.ts.map +1 -0
  58. package/dist/generated/src/models/DeleteSSOUserAPIResponse.js +58 -0
  59. package/dist/generated/src/models/DeleteSSOUserAPIResponse.js.map +1 -0
  60. package/dist/generated/src/models/DeleteSubscriptionAPIResponse.d.ts +45 -0
  61. package/dist/generated/src/models/DeleteSubscriptionAPIResponse.d.ts.map +1 -0
  62. package/dist/generated/src/models/DeleteSubscriptionAPIResponse.js +55 -0
  63. package/dist/generated/src/models/DeleteSubscriptionAPIResponse.js.map +1 -0
  64. package/dist/generated/src/models/GetPageByURLIdAPIResponse.d.ts +52 -0
  65. package/dist/generated/src/models/GetPageByURLIdAPIResponse.d.ts.map +1 -0
  66. package/dist/generated/src/models/GetPageByURLIdAPIResponse.js +58 -0
  67. package/dist/generated/src/models/GetPageByURLIdAPIResponse.js.map +1 -0
  68. package/dist/generated/src/models/GetPagesAPIResponse.d.ts +52 -0
  69. package/dist/generated/src/models/GetPagesAPIResponse.d.ts.map +1 -0
  70. package/dist/generated/src/models/GetPagesAPIResponse.js +58 -0
  71. package/dist/generated/src/models/GetPagesAPIResponse.js.map +1 -0
  72. package/dist/generated/src/models/GetSSOUserByEmailAPIResponse.d.ts +52 -0
  73. package/dist/generated/src/models/GetSSOUserByEmailAPIResponse.d.ts.map +1 -0
  74. package/dist/generated/src/models/GetSSOUserByEmailAPIResponse.js +58 -0
  75. package/dist/generated/src/models/GetSSOUserByEmailAPIResponse.js.map +1 -0
  76. package/dist/generated/src/models/GetSSOUserByIdAPIResponse.d.ts +52 -0
  77. package/dist/generated/src/models/GetSSOUserByIdAPIResponse.d.ts.map +1 -0
  78. package/dist/generated/src/models/GetSSOUserByIdAPIResponse.js +58 -0
  79. package/dist/generated/src/models/GetSSOUserByIdAPIResponse.js.map +1 -0
  80. package/dist/generated/src/models/GetSSOUsers200Response.d.ts +40 -0
  81. package/dist/generated/src/models/GetSSOUsers200Response.d.ts.map +1 -0
  82. package/dist/generated/src/models/GetSSOUsers200Response.js +56 -0
  83. package/dist/generated/src/models/GetSSOUsers200Response.js.map +1 -0
  84. package/dist/generated/src/models/GetSubscriptionsAPIResponse.d.ts +52 -0
  85. package/dist/generated/src/models/GetSubscriptionsAPIResponse.d.ts.map +1 -0
  86. package/dist/generated/src/models/GetSubscriptionsAPIResponse.js +58 -0
  87. package/dist/generated/src/models/GetSubscriptionsAPIResponse.js.map +1 -0
  88. package/dist/generated/src/models/PatchPageAPIResponse.d.ts +52 -0
  89. package/dist/generated/src/models/PatchPageAPIResponse.d.ts.map +1 -0
  90. package/dist/generated/src/models/PatchPageAPIResponse.js +58 -0
  91. package/dist/generated/src/models/PatchPageAPIResponse.js.map +1 -0
  92. package/dist/generated/src/models/PatchSSOUserAPIResponse.d.ts +52 -0
  93. package/dist/generated/src/models/PatchSSOUserAPIResponse.d.ts.map +1 -0
  94. package/dist/generated/src/models/PatchSSOUserAPIResponse.js +58 -0
  95. package/dist/generated/src/models/PatchSSOUserAPIResponse.js.map +1 -0
  96. package/dist/generated/src/models/PutSSOUserAPIResponse.d.ts +52 -0
  97. package/dist/generated/src/models/PutSSOUserAPIResponse.d.ts.map +1 -0
  98. package/dist/generated/src/models/PutSSOUserAPIResponse.js +58 -0
  99. package/dist/generated/src/models/PutSSOUserAPIResponse.js.map +1 -0
  100. package/dist/generated/src/models/UpdateAPIPageData.d.ts +57 -0
  101. package/dist/generated/src/models/UpdateAPIPageData.d.ts.map +1 -0
  102. package/dist/generated/src/models/UpdateAPIPageData.js +57 -0
  103. package/dist/generated/src/models/UpdateAPIPageData.js.map +1 -0
  104. package/dist/generated/src/models/UpdateAPISSOUserData.d.ts +147 -0
  105. package/dist/generated/src/models/UpdateAPISSOUserData.d.ts.map +1 -0
  106. package/dist/generated/src/models/UpdateAPISSOUserData.js +87 -0
  107. package/dist/generated/src/models/UpdateAPISSOUserData.js.map +1 -0
  108. package/dist/generated/src/models/index.d.ts +23 -0
  109. package/dist/generated/src/models/index.d.ts.map +1 -1
  110. package/dist/generated/src/models/index.js +23 -0
  111. package/dist/generated/src/models/index.js.map +1 -1
  112. package/dist/generated/src/runtime.d.ts.map +1 -1
  113. package/dist/generated/src/runtime.js +1 -1
  114. package/dist/generated/src/runtime.js.map +1 -1
  115. package/dist/index.d.ts +7 -30
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +5 -89
  118. package/dist/index.js.map +1 -1
  119. package/dist/server.d.ts +14 -0
  120. package/dist/server.d.ts.map +1 -0
  121. package/dist/server.js +39 -0
  122. package/dist/server.js.map +1 -0
  123. package/package.json +23 -7
package/README.md CHANGED
@@ -8,30 +8,92 @@ Official Node.js and TypeScript SDK for the FastComments API. Build secure and s
8
8
  npm install fastcomments-sdk
9
9
  ```
10
10
 
11
+ ## Browser vs Server Compatibility
12
+
13
+ This SDK uses **dual entry points** to ensure optimal compatibility and prevent runtime errors:
14
+
15
+ - **`fastcomments-sdk/browser`** - Browser-safe version with native `fetch`, excludes Node.js crypto
16
+ - **`fastcomments-sdk/server`** - Full Node.js version with SSO support, includes crypto features
17
+ - **`fastcomments-sdk`** (default) - Types only, safe to import anywhere
18
+
19
+ This prevents issues like "crypto module not found" when using the SDK in browser environments.
20
+
11
21
  ## Usage
12
22
 
13
- ### Basic Usage
23
+ This SDK provides separate entry points for browser and server environments to ensure optimal compatibility and security:
24
+
25
+ ### Browser Usage (Client-Side)
26
+
27
+ For browser/frontend applications, use the browser-safe export that excludes Node.js dependencies:
14
28
 
15
29
  ```typescript
16
- import { createFastCommentsSDK } from '@fastcomments/fastcomments-sdk';
30
+ // Browser-safe import (no Node.js crypto dependencies)
31
+ import { createFastCommentsBrowserSDK } from 'fastcomments-sdk/browser';
32
+
33
+ // Create browser SDK instance
34
+ const sdk = createFastCommentsBrowserSDK({
35
+ basePath: 'https://fastcomments.com' // optional, defaults to https://fastcomments.com
36
+ });
37
+
38
+ // Use public APIs (no API key needed - safe for browsers)
39
+ const comments = await sdk.publicApi.getCommentsPublic({
40
+ tenantId: 'your-tenant-id',
41
+ urlId: 'page-url-id'
42
+ });
43
+ ```
44
+
45
+ ### Server Usage (Node.js)
17
46
 
18
- // Create SDK instance
47
+ For server/backend applications, use the full SDK with SSO and authentication features:
48
+
49
+ ```typescript
50
+ // Server-side import (includes SSO and Node.js crypto features)
51
+ import { createFastCommentsSDK } from 'fastcomments-sdk/server';
52
+
53
+ // Create server SDK instance
19
54
  const sdk = createFastCommentsSDK({
20
- apiKey: 'your-api-key',
55
+ apiKey: 'your-api-key', // Keep this secret on the server!
21
56
  basePath: 'https://fastcomments.com' // optional, defaults to https://fastcomments.com
22
57
  });
23
58
 
24
- // Use the different APIs
59
+ // Use secured APIs with your API key
25
60
  const comments = await sdk.defaultApi.getComments({
26
61
  tenantId: 'your-tenant-id',
27
62
  urlId: 'page-url-id'
28
63
  });
29
64
  ```
30
65
 
66
+ ### Types Only Import
67
+
68
+ If you only need TypeScript types (no runtime code), use the default import:
69
+
70
+ ```typescript
71
+ // Types only (no runtime dependencies - safe everywhere)
72
+ import type {
73
+ PublicComment,
74
+ CreateCommentParams,
75
+ GetCommentsPublic200Response
76
+ } from 'fastcomments-sdk';
77
+ ```
78
+
31
79
  ### Using Individual API Classes
32
80
 
81
+ #### Browser Environment
82
+
33
83
  ```typescript
34
- import { DefaultApi, PublicApi, Configuration } from '@fastcomments/fastcomments-sdk';
84
+ import { PublicApi, Configuration } from 'fastcomments-sdk/browser';
85
+
86
+ const config = new Configuration({
87
+ basePath: 'https://fastcomments.com'
88
+ });
89
+
90
+ const publicApi = new PublicApi(config);
91
+ ```
92
+
93
+ #### Server Environment
94
+
95
+ ```typescript
96
+ import { DefaultApi, PublicApi, Configuration } from 'fastcomments-sdk/server';
35
97
 
36
98
  const config = new Configuration({
37
99
  apiKey: 'your-api-key',
@@ -50,10 +112,10 @@ The SDK provides three main API classes:
50
112
  - **`PublicApi`** - Public endpoints that can be accessed without an API key. These can be called directly from browsers/mobile devices/etc.
51
113
  - **`HiddenApi`** - Internal/admin endpoints for advanced use cases.
52
114
 
53
- ### Example: Using Public API (client-side safe)
115
+ ### Example: Using Public API (browser-safe)
54
116
 
55
117
  ```typescript
56
- import { PublicApi } from '@fastcomments/fastcomments-sdk';
118
+ import { PublicApi } from 'fastcomments-sdk/browser';
57
119
 
58
120
  const publicApi = new PublicApi();
59
121
 
@@ -67,7 +129,7 @@ const response = await publicApi.getCommentsPublic({
67
129
  ### Example: Using Default API (server-side only)
68
130
 
69
131
  ```typescript
70
- import { DefaultApi, Configuration } from '@fastcomments/fastcomments-sdk';
132
+ import { DefaultApi, Configuration } from 'fastcomments-sdk/server';
71
133
 
72
134
  const config = new Configuration({
73
135
  apiKey: 'your-api-key' // Keep this secret!
@@ -83,16 +145,17 @@ const response = await defaultApi.getComments({
83
145
 
84
146
  ## SSO (Single Sign-On) Integration
85
147
 
86
- FastComments supports SSO to integrate with your existing user authentication system. There are two types of SSO: Simple SSO (less secure, client-side) and Secure SSO (recommended, server-side).
148
+ FastComments supports SSO to integrate with your existing user authentication system. **SSO functionality is only available in the server export** since it requires Node.js crypto features.
87
149
 
88
- ### Simple SSO (Client-Side)
150
+ ### Simple SSO (Server-Side Only)
89
151
 
90
- Simple SSO can be implemented client-side but offers less security:
152
+ Simple SSO should be generated server-side and sent to the client:
91
153
 
92
154
  ```typescript
93
- import { FastCommentsSSO, PublicApi } from '@fastcomments/fastcomments-sdk';
155
+ // Server-side code (Node.js/backend)
156
+ import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';
94
157
 
95
- // Create simple SSO using the built-in helper
158
+ // Create simple SSO using the built-in helper
96
159
  const userData = {
97
160
  username: 'john_doe',
98
161
  email: 'john@example.com',
@@ -107,14 +170,8 @@ const sso = FastCommentsSSO.createSimple(userData, {
107
170
 
108
171
  const ssoToken = sso.createToken();
109
172
 
110
- // Use with API calls
111
- const publicApi = new PublicApi();
112
- const response = await publicApi.getCommentsPublic({
113
- tenantId: 'your-tenant-id',
114
- urlId: 'page-url-id'
115
- // Note: Simple SSO would typically be used with widget integration,
116
- // not direct API calls
117
- });
173
+ // Send ssoToken to your client-side code
174
+ // Client-side code can then use this token with the browser SDK
118
175
  ```
119
176
 
120
177
  ### Secure SSO (Server-Side, Recommended)
@@ -122,7 +179,8 @@ const response = await publicApi.getCommentsPublic({
122
179
  Secure SSO should be implemented server-side and provides better security:
123
180
 
124
181
  ```typescript
125
- import { FastCommentsSSO, PublicApi } from '@fastcomments/fastcomments-sdk';
182
+ // Server-side code (Node.js/backend)
183
+ import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';
126
184
 
127
185
  // Create secure SSO using the built-in helper
128
186
  const userData = {
@@ -142,19 +200,40 @@ const sso = FastCommentsSSO.createSecure('your-api-key', userData, {
142
200
 
143
201
  const ssoConfig = sso.prepareToSend();
144
202
 
145
- // Use with API calls
203
+ // Use with API calls on the server
146
204
  const publicApi = new PublicApi();
147
205
  const response = await publicApi.getCommentsPublic({
148
206
  tenantId: 'your-tenant-id',
149
207
  urlId: 'page-url-id',
150
208
  sso: JSON.stringify(ssoConfig)
151
209
  });
210
+
211
+ // Or send ssoConfig to client for browser usage
212
+ ```
213
+
214
+ ### Using SSO from Browser (with Server-Generated Token)
215
+
216
+ ```typescript
217
+ // Client-side code (browser)
218
+ import { PublicApi } from 'fastcomments-sdk/browser';
219
+
220
+ // Get SSO token from your server endpoint
221
+ const ssoToken = await fetch('/api/sso-token').then(r => r.json());
222
+
223
+ const publicApi = new PublicApi();
224
+ const response = await publicApi.getCommentsPublic({
225
+ tenantId: 'your-tenant-id',
226
+ urlId: 'page-url-id',
227
+ sso: ssoToken // Use the server-generated SSO token
228
+ });
152
229
  ```
153
230
 
154
231
  ### SSO with Comment Creation
155
232
 
156
233
  ```typescript
157
- // Create a comment with SSO authentication
234
+ // Server-side: Create SSO and comment
235
+ import { FastCommentsSSO, PublicApi } from 'fastcomments-sdk/server';
236
+
158
237
  const sso = FastCommentsSSO.createSecure('your-api-key', userData);
159
238
  const ssoConfig = sso.prepareToSend();
160
239
 
@@ -229,7 +308,7 @@ Subscribe to live events to get real-time updates for comments, votes, and other
229
308
  Listen for live events on a specific page (comments, votes, etc.):
230
309
 
231
310
  ```typescript
232
- import { subscribeToChanges, LiveEvent, LiveEventType } from 'fastcomments-sdk';
311
+ import { subscribeToChanges, LiveEvent, LiveEventType } from 'fastcomments-sdk/browser';
233
312
 
234
313
  const config = {
235
314
  tenantId: 'your-tenant-id',
@@ -277,7 +356,7 @@ subscription.close();
277
356
  Listen for user-specific events (notifications, mentions, etc.):
278
357
 
279
358
  ```typescript
280
- import { subscribeToUserFeed, LiveEvent, LiveEventType } from 'fastcomments-sdk';
359
+ import { subscribeToUserFeed, LiveEvent, LiveEventType } from 'fastcomments-sdk/browser';
281
360
 
282
361
  const userConfig = {
283
362
  userIdWS: 'user-session-id', // Get this from getComments response
@@ -370,18 +449,23 @@ try {
370
449
  The SDK is written in TypeScript and provides complete type definitions for all API methods and response models:
371
450
 
372
451
  ```typescript
452
+ // Import types from the default export (safe everywhere)
373
453
  import type {
374
454
  PublicComment,
375
455
  CreateCommentParams,
376
456
  GetCommentsPublic200Response
377
- } from '@fastcomments/fastcomments-sdk';
457
+ } from 'fastcomments-sdk';
458
+
459
+ // Use with browser SDK
460
+ import { createFastCommentsBrowserSDK } from 'fastcomments-sdk/browser';
378
461
 
462
+ const sdk = createFastCommentsBrowserSDK();
379
463
  const response: GetCommentsPublic200Response = await sdk.publicApi.getCommentsPublic({
380
464
  tenantId: 'your-tenant-id',
381
465
  urlId: 'page-id'
382
466
  });
383
467
 
384
- const comments: PublicComment[] = response.data?.comments || [];
468
+ const comments: PublicComment[] = response.comments || [];
385
469
  ```
386
470
 
387
471
  ## License
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=browser-compatibility.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-compatibility.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/browser-compatibility.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const node_test_1 = require("node:test");
7
+ const node_assert_1 = __importDefault(require("node:assert"));
8
+ const fs_1 = require("fs");
9
+ const path_1 = require("path");
10
+ const happy_dom_1 = require("happy-dom");
11
+ (0, node_test_1.describe)('Browser Compatibility Tests', () => {
12
+ (0, node_test_1.describe)('Validation: Testing environment catches Node.js imports', () => {
13
+ (0, node_test_1.it)('should demonstrate that our testing approach works by catching Node.js imports', () => {
14
+ // Store originals
15
+ const originalRequire = global.require;
16
+ // Mock require to reject Node.js built-ins
17
+ global.require = (module) => {
18
+ const nodeBuiltins = ['fs', 'crypto', 'path', 'os', 'util', 'events', 'stream'];
19
+ if (nodeBuiltins.some(builtin => module === builtin || module.startsWith(builtin + '/'))) {
20
+ throw new Error(`Cannot resolve module '${module}' in browser environment`);
21
+ }
22
+ return originalRequire(module);
23
+ };
24
+ try {
25
+ // Test that our mock catches Node.js built-in imports
26
+ node_assert_1.default.throws(() => {
27
+ const mockRequire = global.require;
28
+ mockRequire('fs'); // This should throw
29
+ }, /Cannot resolve module 'fs' in browser environment/, 'Mocked require should reject Node.js built-ins');
30
+ node_assert_1.default.throws(() => {
31
+ const mockRequire = global.require;
32
+ mockRequire('crypto'); // This should throw
33
+ }, /Cannot resolve module 'crypto' in browser environment/, 'Mocked require should reject Node.js crypto module');
34
+ }
35
+ finally {
36
+ // Restore original require
37
+ global.require = originalRequire;
38
+ }
39
+ });
40
+ });
41
+ (0, node_test_1.describe)('Static Analysis: Check compiled browser export for Node.js imports', () => {
42
+ (0, node_test_1.it)('should not contain require() calls for Node.js built-ins', () => {
43
+ const browserJsPath = (0, path_1.join)(process.cwd(), 'dist', 'browser.js');
44
+ let browserJsContent;
45
+ try {
46
+ browserJsContent = (0, fs_1.readFileSync)(browserJsPath, 'utf-8');
47
+ }
48
+ catch (error) {
49
+ throw new Error(`Cannot read dist/browser.js. Did you run 'npm run build' first? ${error}`);
50
+ }
51
+ // Node.js built-in modules that should NOT appear in browser bundle
52
+ const nodeBuiltins = [
53
+ 'crypto', 'fs', 'path', 'os', 'util', 'events', 'stream', 'buffer',
54
+ 'url', 'http', 'https', 'net', 'tls', 'zlib', 'child_process', 'cluster'
55
+ ];
56
+ const foundImports = [];
57
+ for (const builtin of nodeBuiltins) {
58
+ // Check for various import patterns
59
+ const patterns = [
60
+ `require("${builtin}")`,
61
+ `require('${builtin}')`,
62
+ `require(\`${builtin}\`)`,
63
+ `from "${builtin}"`,
64
+ `from '${builtin}'`,
65
+ `from \`${builtin}\``
66
+ ];
67
+ for (const pattern of patterns) {
68
+ if (browserJsContent.includes(pattern)) {
69
+ foundImports.push(`Found: ${pattern}`);
70
+ }
71
+ }
72
+ }
73
+ if (foundImports.length > 0) {
74
+ node_assert_1.default.fail(`Browser export contains Node.js built-in imports:\n${foundImports.join('\n')}`);
75
+ }
76
+ });
77
+ });
78
+ (0, node_test_1.describe)('Runtime Verification: Browser export works in browser-like environment', () => {
79
+ let originalRequire;
80
+ let window;
81
+ (0, node_test_1.beforeEach)(() => {
82
+ // Create clean browser-like environment
83
+ window = new happy_dom_1.Window();
84
+ // Store original require
85
+ originalRequire = global.require;
86
+ // Remove Node.js built-ins to simulate real browser
87
+ global.require = (module) => {
88
+ const nodeBuiltins = ['fs', 'crypto', 'path', 'os', 'util', 'events', 'stream'];
89
+ if (nodeBuiltins.some(builtin => module === builtin || module.startsWith(builtin + '/'))) {
90
+ throw new Error(`Module '${module}' not available in browser`);
91
+ }
92
+ return originalRequire(module);
93
+ };
94
+ // Set up minimal browser-like globals
95
+ if (!global.fetch) {
96
+ global.fetch = (() => Promise.reject(new Error('fetch not available in test')));
97
+ }
98
+ });
99
+ (0, node_test_1.afterEach)(() => {
100
+ // Restore original require
101
+ global.require = originalRequire;
102
+ });
103
+ (0, node_test_1.it)('should load browser export without errors', () => {
104
+ try {
105
+ // This should not throw if the browser export is truly browser-compatible
106
+ const browserExport = require('../../dist/browser.js');
107
+ node_assert_1.default.ok(browserExport, 'Browser export should load successfully');
108
+ node_assert_1.default.ok(typeof browserExport === 'object', 'Browser export should be an object');
109
+ }
110
+ catch (error) {
111
+ if (error.message.includes('not available in browser')) {
112
+ node_assert_1.default.fail(`Browser export tried to use Node.js built-in: ${error.message}`);
113
+ }
114
+ throw error;
115
+ }
116
+ });
117
+ (0, node_test_1.it)('should be able to create browser SDK instance', () => {
118
+ try {
119
+ const { createFastCommentsBrowserSDK } = require('../../dist/browser.js');
120
+ node_assert_1.default.ok(typeof createFastCommentsBrowserSDK === 'function', 'createFastCommentsBrowserSDK should be a function');
121
+ const sdk = createFastCommentsBrowserSDK();
122
+ node_assert_1.default.ok(sdk, 'Should be able to create SDK instance');
123
+ node_assert_1.default.ok(sdk.publicApi, 'SDK should have publicApi');
124
+ }
125
+ catch (error) {
126
+ if (error.message.includes('not available in browser')) {
127
+ node_assert_1.default.fail(`SDK creation tried to use Node.js built-in: ${error.message}`);
128
+ }
129
+ throw error;
130
+ }
131
+ });
132
+ (0, node_test_1.it)('should have functional getFeedPostsStats API', () => {
133
+ try {
134
+ const { createFastCommentsBrowserSDK } = require('../../dist/browser.js');
135
+ const sdk = createFastCommentsBrowserSDK();
136
+ node_assert_1.default.ok(sdk.publicApi.getFeedPostsStats, 'getFeedPostsStats should be available');
137
+ node_assert_1.default.ok(typeof sdk.publicApi.getFeedPostsStats === 'function', 'getFeedPostsStats should be a function');
138
+ }
139
+ catch (error) {
140
+ if (error.message.includes('not available in browser')) {
141
+ node_assert_1.default.fail(`getFeedPostsStats access tried to use Node.js built-in: ${error.message}`);
142
+ }
143
+ throw error;
144
+ }
145
+ });
146
+ (0, node_test_1.it)('should have functional live utilities', () => {
147
+ try {
148
+ const browserExports = require('../../dist/browser.js');
149
+ // Check that live utilities are available
150
+ node_assert_1.default.ok(browserExports.makeRequest, 'makeRequest should be available');
151
+ node_assert_1.default.ok(typeof browserExports.makeRequest === 'function', 'makeRequest should be a function');
152
+ node_assert_1.default.ok(browserExports.subscribeToChanges, 'subscribeToChanges should be available');
153
+ node_assert_1.default.ok(typeof browserExports.subscribeToChanges === 'function', 'subscribeToChanges should be a function');
154
+ }
155
+ catch (error) {
156
+ if (error.message.includes('not available in browser')) {
157
+ node_assert_1.default.fail(`Live utilities tried to use Node.js built-in: ${error.message}`);
158
+ }
159
+ throw error;
160
+ }
161
+ });
162
+ (0, node_test_1.it)('should NOT have SSO functionality (which requires Node.js crypto)', () => {
163
+ const browserExports = require('../../dist/browser.js');
164
+ // Browser export should not include SSO functionality
165
+ node_assert_1.default.ok(!browserExports.FastCommentsSSO, 'FastCommentsSSO should not be in browser export');
166
+ node_assert_1.default.ok(!browserExports.SecureSSOPayloadBuilder, 'SecureSSOPayloadBuilder should not be in browser export');
167
+ });
168
+ });
169
+ });
170
+ //# sourceMappingURL=browser-compatibility.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-compatibility.test.js","sourceRoot":"","sources":["../../src/__tests__/browser-compatibility.test.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const node_test_1 = require("node:test");
7
7
  const node_assert_1 = __importDefault(require("node:assert"));
8
- const index_1 = require("../index");
8
+ const server_1 = require("../server");
9
9
  const env_1 = require("./env");
10
10
  // Test against the real FastComments API
11
11
  (0, node_test_1.describe)('FastComments SSO Integration Tests', () => {
@@ -13,12 +13,12 @@ const env_1 = require("./env");
13
13
  let publicApi;
14
14
  let defaultApi;
15
15
  (0, node_test_1.beforeEach)(() => {
16
- sdk = (0, index_1.createFastCommentsSDK)({
16
+ sdk = (0, server_1.createFastCommentsSDK)({
17
17
  apiKey: env_1.API_KEY,
18
18
  basePath: env_1.BASE_URL
19
19
  });
20
- publicApi = new index_1.PublicApi(new index_1.Configuration({ basePath: env_1.BASE_URL }));
21
- defaultApi = new index_1.DefaultApi(new index_1.Configuration({
20
+ publicApi = new server_1.PublicApi(new server_1.Configuration({ basePath: env_1.BASE_URL }));
21
+ defaultApi = new server_1.DefaultApi(new server_1.Configuration({
22
22
  apiKey: env_1.API_KEY,
23
23
  basePath: env_1.BASE_URL
24
24
  }));
@@ -47,7 +47,7 @@ const env_1 = require("./env");
47
47
  };
48
48
  (0, node_test_1.describe)('Secure SSO API Integration', () => {
49
49
  (0, node_test_1.it)('should work with PublicApi.getCommentsPublic using secure SSO', async () => {
50
- const sso = index_1.FastCommentsSSO.createSecure(env_1.API_KEY, mockSecureUser);
50
+ const sso = server_1.FastCommentsSSO.createSecure(env_1.API_KEY, mockSecureUser);
51
51
  const ssoConfig = sso.prepareToSend();
52
52
  try {
53
53
  const response = await publicApi.getCommentsPublic({
@@ -94,7 +94,7 @@ const env_1 = require("./env");
94
94
  }
95
95
  });
96
96
  (0, node_test_1.it)('should create comment with secure SSO', async () => {
97
- const sso = index_1.FastCommentsSSO.createSecure(env_1.API_KEY, mockSecureUser);
97
+ const sso = server_1.FastCommentsSSO.createSecure(env_1.API_KEY, mockSecureUser);
98
98
  const ssoConfig = sso.prepareToSend();
99
99
  try {
100
100
  const response = await publicApi.createCommentPublic({
@@ -133,7 +133,7 @@ const env_1 = require("./env");
133
133
  });
134
134
  (0, node_test_1.describe)('Simple SSO API Integration', () => {
135
135
  (0, node_test_1.it)('should work with PublicApi.getCommentsPublic using simple SSO', async () => {
136
- const sso = index_1.FastCommentsSSO.createSimple(mockSimpleUser);
136
+ const sso = server_1.FastCommentsSSO.createSimple(mockSimpleUser);
137
137
  const ssoToken = sso.createToken();
138
138
  try {
139
139
  const response = await publicApi.getCommentsPublic({
@@ -154,7 +154,7 @@ const env_1 = require("./env");
154
154
  }
155
155
  });
156
156
  (0, node_test_1.it)('should create comment with simple SSO', async () => {
157
- const sso = index_1.FastCommentsSSO.createSimple(mockSimpleUser);
157
+ const sso = server_1.FastCommentsSSO.createSimple(mockSimpleUser);
158
158
  const ssoToken = sso.createToken();
159
159
  try {
160
160
  const response = await publicApi.createCommentPublic({
@@ -213,7 +213,7 @@ const env_1 = require("./env");
213
213
  });
214
214
  (0, node_test_1.describe)('Error Handling', () => {
215
215
  (0, node_test_1.it)('should handle invalid tenant ID gracefully', async () => {
216
- const sso = index_1.FastCommentsSSO.createSecure(env_1.API_KEY, mockSecureUser);
216
+ const sso = server_1.FastCommentsSSO.createSecure(env_1.API_KEY, mockSecureUser);
217
217
  const ssoConfig = sso.prepareToSend();
218
218
  try {
219
219
  await publicApi.getCommentsPublic({
@@ -221,9 +221,12 @@ const env_1 = require("./env");
221
221
  urlId: 'test-page',
222
222
  sso: JSON.stringify(ssoConfig)
223
223
  });
224
+ node_assert_1.default.fail('Expected API call to throw an error for invalid tenant ID');
224
225
  }
225
226
  catch (error) {
226
- node_assert_1.default.ok(error.status >= 400);
227
+ const status = error.response?.status || error.status;
228
+ node_assert_1.default.ok(status, 'Error should have a status property');
229
+ node_assert_1.default.ok(status >= 400, `Expected error status >= 400, got: ${status}`);
227
230
  }
228
231
  });
229
232
  (0, node_test_1.it)('should handle malformed SSO data gracefully', async () => {
@@ -233,9 +236,12 @@ const env_1 = require("./env");
233
236
  urlId: 'test-page',
234
237
  sso: 'invalid-sso-data'
235
238
  });
239
+ node_assert_1.default.fail('Expected API call to throw an error for malformed SSO data');
236
240
  }
237
241
  catch (error) {
238
- node_assert_1.default.ok(error.status >= 400);
242
+ const status = error.response?.status || error.status;
243
+ node_assert_1.default.ok(status, 'Error should have a status property');
244
+ node_assert_1.default.ok(status >= 400, `Expected error status >= 400, got: ${status}`);
239
245
  }
240
246
  });
241
247
  });
@@ -1 +1 @@
1
- {"version":3,"file":"sso.integration.test.js","sourceRoot":"","sources":["../../src/__tests__/sso.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sso.integration.test.js","sourceRoot":"","sources":["../../src/__tests__/sso.integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ export * from './generated/src/apis';
2
+ export * from './generated/src/models';
3
+ export { Configuration } from './generated/src/runtime';
4
+ export { DefaultApi, PublicApi, HiddenApi } from './generated/src/apis';
5
+ export { createURLQueryString, isAPIError, debounce, makeRequest } from './live/utils';
6
+ export { default as subscribeToChanges } from './live/subscribe-to-changes';
7
+ export type { SubscribeToChangesResult, SubscribeToChangesConfig } from './live/subscribe-to-changes';
8
+ export { subscribeToUserFeed } from './live/user-feed';
9
+ export type { UserFeedConfig } from './live/user-feed';
10
+ export type { LiveEvent, LiveEventType, EventLogEntry, PubSubComment, PubSubVote, FeedPost, UserNotification } from './generated/src/index';
11
+ export type * from './sso/types';
12
+ import { DefaultApi, PublicApi, HiddenApi } from './generated/src/apis';
13
+ export interface FastCommentsBrowserSDKConfig {
14
+ apiKey?: string;
15
+ basePath?: string;
16
+ }
17
+ export declare class FastCommentsBrowserSDK {
18
+ private config;
19
+ private _defaultApi;
20
+ private _publicApi;
21
+ private _hiddenApi;
22
+ constructor(config?: FastCommentsBrowserSDKConfig);
23
+ private getConfiguration;
24
+ get defaultApi(): DefaultApi;
25
+ get publicApi(): PublicApi;
26
+ get hiddenApi(): HiddenApi;
27
+ /**
28
+ * Update the API key for authenticated requests
29
+ */
30
+ setApiKey(apiKey: string): void;
31
+ /**
32
+ * Update the base path for API requests
33
+ */
34
+ setBasePath(basePath: string): void;
35
+ }
36
+ export declare function createFastCommentsBrowserSDK(config?: FastCommentsBrowserSDKConfig): FastCommentsBrowserSDK;
37
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAIA,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGxE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,YAAY,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG5I,mBAAmB,aAAa,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGxE,MAAM,WAAW,4BAA4B;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,UAAU,CAA0B;gBAEhC,MAAM,GAAE,4BAAiC;IAOrD,OAAO,CAAC,gBAAgB;IAOxB,IAAW,UAAU,IAAI,UAAU,CAKlC;IAED,IAAW,SAAS,IAAI,SAAS,CAKhC;IAED,IAAW,SAAS,IAAI,SAAS,CAKhC;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO/B;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAMpC;AAGD,wBAAgB,4BAA4B,CAAC,MAAM,CAAC,EAAE,4BAA4B,GAAG,sBAAsB,CAE1G"}