@interfere/next 0.0.13 → 0.0.15-alpha.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 (226) hide show
  1. package/README.md +1 -6
  2. package/dist/build/env-config.d.mts +7 -0
  3. package/dist/build/env-config.d.mts.map +1 -0
  4. package/dist/build/env-config.mjs +17 -0
  5. package/dist/build/env-config.mjs.map +1 -0
  6. package/dist/build/logger.d.mts +11 -0
  7. package/dist/build/logger.d.mts.map +1 -0
  8. package/dist/build/logger.mjs +155 -0
  9. package/dist/build/logger.mjs.map +1 -0
  10. package/dist/build/release-program.d.mts +19 -0
  11. package/dist/build/release-program.d.mts.map +1 -0
  12. package/dist/build/release-program.mjs +92 -0
  13. package/dist/build/release-program.mjs.map +1 -0
  14. package/dist/build/secret-key.d.mts +10 -0
  15. package/dist/build/secret-key.d.mts.map +1 -0
  16. package/dist/build/secret-key.mjs +16 -0
  17. package/dist/build/secret-key.mjs.map +1 -0
  18. package/dist/build/services/config.service.d.mts +9 -0
  19. package/dist/build/services/config.service.d.mts.map +1 -0
  20. package/dist/build/services/config.service.mjs +8 -0
  21. package/dist/build/services/config.service.mjs.map +1 -0
  22. package/dist/build/services/preflight.service.d.mts +19 -0
  23. package/dist/build/services/preflight.service.d.mts.map +1 -0
  24. package/dist/build/services/preflight.service.mjs +76 -0
  25. package/dist/build/services/preflight.service.mjs.map +1 -0
  26. package/dist/build/services/release-identity.service.d.mts +22 -0
  27. package/dist/build/services/release-identity.service.d.mts.map +1 -0
  28. package/dist/build/services/release-identity.service.mjs +48 -0
  29. package/dist/build/services/release-identity.service.mjs.map +1 -0
  30. package/dist/build/services/source-map.service.d.mts +24 -0
  31. package/dist/build/services/source-map.service.d.mts.map +1 -0
  32. package/dist/build/services/source-map.service.mjs +58 -0
  33. package/dist/build/services/source-map.service.mjs.map +1 -0
  34. package/dist/build/source-maps/api.d.mts +35 -0
  35. package/dist/build/source-maps/api.d.mts.map +1 -0
  36. package/dist/build/source-maps/api.mjs +61 -0
  37. package/dist/build/source-maps/api.mjs.map +1 -0
  38. package/dist/build/source-maps/client.d.mts +73 -0
  39. package/dist/build/source-maps/client.d.mts.map +1 -0
  40. package/dist/build/source-maps/client.mjs +228 -0
  41. package/dist/build/source-maps/client.mjs.map +1 -0
  42. package/dist/build/source-maps/errors.d.mts +109 -0
  43. package/dist/build/source-maps/errors.d.mts.map +1 -0
  44. package/dist/build/source-maps/errors.mjs +22 -0
  45. package/dist/build/source-maps/errors.mjs.map +1 -0
  46. package/dist/build/source-maps/files.d.mts +35 -0
  47. package/dist/build/source-maps/files.d.mts.map +1 -0
  48. package/dist/build/source-maps/files.mjs +222 -0
  49. package/dist/build/source-maps/files.mjs.map +1 -0
  50. package/dist/build/source-maps/providers/deployment/detector.d.mts +26 -0
  51. package/dist/build/source-maps/providers/deployment/detector.d.mts.map +1 -0
  52. package/dist/build/source-maps/providers/deployment/detector.mjs +22 -0
  53. package/dist/build/source-maps/providers/deployment/detector.mjs.map +1 -0
  54. package/dist/build/source-maps/providers/deployment/types.d.mts +12 -0
  55. package/dist/build/source-maps/providers/deployment/types.d.mts.map +1 -0
  56. package/dist/build/source-maps/providers/deployment/types.mjs +3 -0
  57. package/dist/build/source-maps/providers/deployment/vercel.d.mts +6 -0
  58. package/dist/build/source-maps/providers/deployment/vercel.d.mts.map +1 -0
  59. package/dist/build/source-maps/providers/deployment/vercel.mjs +44 -0
  60. package/dist/build/source-maps/providers/deployment/vercel.mjs.map +1 -0
  61. package/dist/build/source-maps/providers/source-control/detector.d.mts +15 -0
  62. package/dist/build/source-maps/providers/source-control/detector.d.mts.map +1 -0
  63. package/dist/build/source-maps/providers/source-control/detector.mjs +22 -0
  64. package/dist/build/source-maps/providers/source-control/detector.mjs.map +1 -0
  65. package/dist/build/source-maps/providers/source-control/git.d.mts +6 -0
  66. package/dist/build/source-maps/providers/source-control/git.d.mts.map +1 -0
  67. package/dist/build/source-maps/providers/source-control/git.mjs +50 -0
  68. package/dist/build/source-maps/providers/source-control/git.mjs.map +1 -0
  69. package/dist/build/source-maps/providers/source-control/types.d.mts +12 -0
  70. package/dist/build/source-maps/providers/source-control/types.d.mts.map +1 -0
  71. package/dist/build/source-maps/providers/source-control/types.mjs +3 -0
  72. package/dist/build/with-interfere.d.mts +49 -0
  73. package/dist/build/with-interfere.d.mts.map +1 -0
  74. package/dist/build/with-interfere.mjs +75 -0
  75. package/dist/build/with-interfere.mjs.map +1 -0
  76. package/dist/client/client.d.mts +3 -0
  77. package/dist/client/client.mjs +5 -0
  78. package/dist/client/provider.d.mts +22 -0
  79. package/dist/client/provider.d.mts.map +1 -0
  80. package/dist/client/provider.mjs +33 -0
  81. package/dist/client/provider.mjs.map +1 -0
  82. package/dist/lib/env.d.mts +12 -0
  83. package/dist/lib/env.d.mts.map +1 -0
  84. package/dist/lib/env.mjs +17 -0
  85. package/dist/lib/env.mjs.map +1 -0
  86. package/dist/lib/test-utils/make-next-request.d.mts +6 -0
  87. package/dist/lib/test-utils/make-next-request.d.mts.map +1 -0
  88. package/dist/lib/test-utils/make-next-request.mjs +12 -0
  89. package/dist/lib/test-utils/make-next-request.mjs.map +1 -0
  90. package/dist/lib/types.d.mts +22 -0
  91. package/dist/lib/types.d.mts.map +1 -0
  92. package/dist/lib/types.mjs +7 -0
  93. package/dist/lib/types.mjs.map +1 -0
  94. package/dist/server/middleware.d.mts +11 -0
  95. package/dist/server/middleware.d.mts.map +1 -0
  96. package/dist/server/middleware.mjs +84 -0
  97. package/dist/server/middleware.mjs.map +1 -0
  98. package/dist/server/proxy.d.mts +6 -0
  99. package/dist/server/proxy.d.mts.map +1 -0
  100. package/dist/server/proxy.mjs +29 -0
  101. package/dist/server/proxy.mjs.map +1 -0
  102. package/dist/server/route-handler.d.mts +9 -0
  103. package/dist/server/route-handler.d.mts.map +1 -0
  104. package/dist/server/route-handler.mjs +172 -0
  105. package/dist/server/route-handler.mjs.map +1 -0
  106. package/dist/server/services/config.service.d.mts +21 -0
  107. package/dist/server/services/config.service.d.mts.map +1 -0
  108. package/dist/server/services/config.service.mjs +43 -0
  109. package/dist/server/services/config.service.mjs.map +1 -0
  110. package/dist/server/services/error-tracking.service.d.mts +19 -0
  111. package/dist/server/services/error-tracking.service.d.mts.map +1 -0
  112. package/dist/server/services/error-tracking.service.mjs +31 -0
  113. package/dist/server/services/error-tracking.service.mjs.map +1 -0
  114. package/package.json +67 -36
  115. package/dist/__tests__/build/with-interfere-coverage.test.d.ts +0 -2
  116. package/dist/__tests__/build/with-interfere-coverage.test.d.ts.map +0 -1
  117. package/dist/__tests__/build/with-interfere-coverage.test.js +0 -325
  118. package/dist/__tests__/build/with-interfere-coverage.test.js.map +0 -1
  119. package/dist/__tests__/build/with-interfere.test.d.ts +0 -2
  120. package/dist/__tests__/build/with-interfere.test.d.ts.map +0 -1
  121. package/dist/__tests__/build/with-interfere.test.js +0 -424
  122. package/dist/__tests__/build/with-interfere.test.js.map +0 -1
  123. package/dist/__tests__/core/client.test.d.ts +0 -2
  124. package/dist/__tests__/core/client.test.d.ts.map +0 -1
  125. package/dist/__tests__/core/client.test.js +0 -373
  126. package/dist/__tests__/core/client.test.js.map +0 -1
  127. package/dist/__tests__/core/encoders.test.d.ts +0 -2
  128. package/dist/__tests__/core/encoders.test.d.ts.map +0 -1
  129. package/dist/__tests__/core/encoders.test.js +0 -56
  130. package/dist/__tests__/core/encoders.test.js.map +0 -1
  131. package/dist/__tests__/core/rage-click.test.d.ts +0 -2
  132. package/dist/__tests__/core/rage-click.test.d.ts.map +0 -1
  133. package/dist/__tests__/core/rage-click.test.js +0 -121
  134. package/dist/__tests__/core/rage-click.test.js.map +0 -1
  135. package/dist/__tests__/core/session-manager.test.d.ts +0 -2
  136. package/dist/__tests__/core/session-manager.test.d.ts.map +0 -1
  137. package/dist/__tests__/core/session-manager.test.js +0 -1168
  138. package/dist/__tests__/core/session-manager.test.js.map +0 -1
  139. package/dist/__tests__/integration/release-upload.test.d.ts +0 -2
  140. package/dist/__tests__/integration/release-upload.test.d.ts.map +0 -1
  141. package/dist/__tests__/integration/release-upload.test.js +0 -167
  142. package/dist/__tests__/integration/release-upload.test.js.map +0 -1
  143. package/dist/__tests__/session/persistence.test.d.ts +0 -2
  144. package/dist/__tests__/session/persistence.test.d.ts.map +0 -1
  145. package/dist/__tests__/session/persistence.test.js +0 -129
  146. package/dist/__tests__/session/persistence.test.js.map +0 -1
  147. package/dist/__tests__/session/session-summary.test.d.ts +0 -2
  148. package/dist/__tests__/session/session-summary.test.d.ts.map +0 -1
  149. package/dist/__tests__/session/session-summary.test.js +0 -763
  150. package/dist/__tests__/session/session-summary.test.js.map +0 -1
  151. package/dist/client.d.ts +0 -75
  152. package/dist/client.d.ts.map +0 -1
  153. package/dist/client.js +0 -123
  154. package/dist/client.js.map +0 -1
  155. package/dist/config.d.ts +0 -61
  156. package/dist/config.d.ts.map +0 -1
  157. package/dist/config.js +0 -315
  158. package/dist/config.js.map +0 -1
  159. package/dist/index.d.ts +0 -20
  160. package/dist/index.d.ts.map +0 -1
  161. package/dist/index.jsx +0 -50
  162. package/dist/index.jsx.map +0 -1
  163. package/dist/lib/core/client-core.d.ts +0 -27
  164. package/dist/lib/core/client-core.d.ts.map +0 -1
  165. package/dist/lib/core/client-core.js +0 -152
  166. package/dist/lib/core/client-core.js.map +0 -1
  167. package/dist/lib/core/constants.d.ts +0 -12
  168. package/dist/lib/core/constants.d.ts.map +0 -1
  169. package/dist/lib/core/constants.js +0 -17
  170. package/dist/lib/core/constants.js.map +0 -1
  171. package/dist/lib/core/debug.d.ts +0 -47
  172. package/dist/lib/core/debug.d.ts.map +0 -1
  173. package/dist/lib/core/debug.js +0 -79
  174. package/dist/lib/core/debug.js.map +0 -1
  175. package/dist/lib/core/encoders.d.ts +0 -3
  176. package/dist/lib/core/encoders.d.ts.map +0 -1
  177. package/dist/lib/core/encoders.js +0 -5
  178. package/dist/lib/core/encoders.js.map +0 -1
  179. package/dist/lib/core/error-handlers.d.ts +0 -14
  180. package/dist/lib/core/error-handlers.d.ts.map +0 -1
  181. package/dist/lib/core/error-handlers.js +0 -191
  182. package/dist/lib/core/error-handlers.js.map +0 -1
  183. package/dist/lib/core/runtime.d.ts +0 -7
  184. package/dist/lib/core/runtime.d.ts.map +0 -1
  185. package/dist/lib/core/runtime.js +0 -16
  186. package/dist/lib/core/runtime.js.map +0 -1
  187. package/dist/lib/persistence/storage.d.ts +0 -5
  188. package/dist/lib/persistence/storage.d.ts.map +0 -1
  189. package/dist/lib/persistence/storage.js +0 -67
  190. package/dist/lib/persistence/storage.js.map +0 -1
  191. package/dist/lib/session/constants.d.ts +0 -19
  192. package/dist/lib/session/constants.d.ts.map +0 -1
  193. package/dist/lib/session/constants.js +0 -34
  194. package/dist/lib/session/constants.js.map +0 -1
  195. package/dist/lib/session/persistence.d.ts +0 -58
  196. package/dist/lib/session/persistence.d.ts.map +0 -1
  197. package/dist/lib/session/persistence.js +0 -179
  198. package/dist/lib/session/persistence.js.map +0 -1
  199. package/dist/lib/session/rage-click.d.ts +0 -17
  200. package/dist/lib/session/rage-click.d.ts.map +0 -1
  201. package/dist/lib/session/rage-click.js +0 -104
  202. package/dist/lib/session/rage-click.js.map +0 -1
  203. package/dist/lib/session/replay.d.ts +0 -3
  204. package/dist/lib/session/replay.d.ts.map +0 -1
  205. package/dist/lib/session/replay.js +0 -109
  206. package/dist/lib/session/replay.js.map +0 -1
  207. package/dist/lib/session/session-manager.d.ts +0 -126
  208. package/dist/lib/session/session-manager.d.ts.map +0 -1
  209. package/dist/lib/session/session-manager.js +0 -635
  210. package/dist/lib/session/session-manager.js.map +0 -1
  211. package/dist/lib/session/session-summary.d.ts +0 -3
  212. package/dist/lib/session/session-summary.d.ts.map +0 -1
  213. package/dist/lib/session/session-summary.js +0 -214
  214. package/dist/lib/session/session-summary.js.map +0 -1
  215. package/dist/middleware.d.ts +0 -8
  216. package/dist/middleware.d.ts.map +0 -1
  217. package/dist/middleware.js +0 -139
  218. package/dist/middleware.js.map +0 -1
  219. package/dist/types/storage.d.ts +0 -7
  220. package/dist/types/storage.d.ts.map +0 -1
  221. package/dist/types/storage.js +0 -2
  222. package/dist/types/storage.js.map +0 -1
  223. package/dist/types.d.ts +0 -6
  224. package/dist/types.d.ts.map +0 -1
  225. package/dist/types.js +0 -4
  226. package/dist/types.js.map +0 -1
@@ -1,424 +0,0 @@
1
- import { execSync } from "node:child_process";
2
- import { promises as fs } from "node:fs";
3
- import { glob } from "glob";
4
- import fetch from "node-fetch";
5
- import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
6
- import { withInterfere } from "../../config.js";
7
- // Test constants
8
- const TEST_SURFACE_ID = "test-surface";
9
- const TEST_SECRET_KEY = "test-api-key";
10
- const TEST_BUILD_ID = "test-build";
11
- const TEST_DEPLOY_URL = "https://test.vercel.app";
12
- const TEST_CUSTOM_API_URL = "https://custom-api.example.com";
13
- const MOCK_GIT_SHA = "abc123def456789";
14
- const MOCK_BRANCH = "main";
15
- const MOCK_COMMIT_MESSAGE = "feat: add new feature";
16
- const MOCK_VERCEL_URL = "test-app-123.vercel.app";
17
- // Mock modules
18
- vi.mock("node:child_process");
19
- vi.mock("node:fs", () => ({
20
- promises: {
21
- readFile: vi.fn(),
22
- },
23
- }));
24
- vi.mock("glob");
25
- vi.mock("node-fetch");
26
- vi.mock("@vercel/blob");
27
- // Mock crypto for hashing
28
- vi.mock("node:crypto", () => ({
29
- createHash: vi.fn(() => ({
30
- update: vi.fn().mockReturnThis(),
31
- digest: vi.fn(() => "mock-hash-123"),
32
- })),
33
- }));
34
- describe("withInterfere", () => {
35
- beforeEach(() => {
36
- vi.clearAllMocks();
37
- // Reset environment variables using vi.stubEnv
38
- vi.stubEnv("INTERFERE_SECRET_KEY", undefined);
39
- vi.stubEnv("VERCEL_URL", undefined);
40
- vi.stubEnv("VERCEL_DEPLOYMENT_ID", undefined);
41
- vi.stubEnv("NODE_ENV", undefined);
42
- vi.stubEnv("DEPLOY_URL", undefined);
43
- vi.stubEnv("NEXT_BUILD_ID", undefined);
44
- // Mock Git commands to return the expected values (with newlines as git does)
45
- vi.mocked(execSync).mockImplementation((command) => {
46
- const cmd = String(command);
47
- if (cmd.includes("git rev-parse HEAD")) {
48
- return `${MOCK_GIT_SHA}\n`;
49
- }
50
- if (cmd.includes("git rev-parse --abbrev-ref HEAD")) {
51
- return `${MOCK_BRANCH}\n`;
52
- }
53
- if (cmd.includes("git log -1 --pretty=%B")) {
54
- return `${MOCK_COMMIT_MESSAGE}\n`;
55
- }
56
- throw new Error("Unknown command");
57
- });
58
- });
59
- afterEach(() => {
60
- vi.resetAllMocks();
61
- });
62
- describe("configuration", () => {
63
- it("should require surface option", () => {
64
- expect(() => {
65
- const wrapper = withInterfere({});
66
- wrapper({});
67
- }).toThrow("[Interfere] Could not determine surface ID. Either provide 'surface' option or use a secret key with format: int_sk_{surfaceId}_{random}");
68
- });
69
- // clerkOrgId is not required anymore
70
- it("should use environment variable for API key", () => {
71
- vi.stubEnv("INTERFERE_SECRET_KEY", "env-api-key");
72
- const wrapper = withInterfere({
73
- surface: TEST_SURFACE_ID,
74
- });
75
- const config = wrapper({});
76
- expect(config).toBeDefined();
77
- expect(config.productionBrowserSourceMaps).toBe(true);
78
- });
79
- it("should warn and disable if no secret key provided", () => {
80
- const consoleSpy = vi.spyOn(console, "warn").mockImplementation(() => { });
81
- const wrapper = withInterfere({
82
- surface: TEST_SURFACE_ID,
83
- });
84
- wrapper({});
85
- expect(consoleSpy).toHaveBeenCalledWith("[Interfere] No secret key provided. Set INTERFERE_SECRET_KEY environment variable or pass secretKey option");
86
- });
87
- it("should respect disabled option", () => {
88
- const wrapper = withInterfere({
89
- surface: TEST_SURFACE_ID,
90
- disabled: true,
91
- });
92
- const config = wrapper({});
93
- expect(config.productionBrowserSourceMaps).toBe(true);
94
- // Should not set up webpack plugin when disabled
95
- });
96
- it("should use custom apiUrl if provided", () => {
97
- const wrapper = withInterfere({
98
- surface: TEST_SURFACE_ID,
99
- apiUrl: TEST_CUSTOM_API_URL,
100
- secretKey: TEST_SECRET_KEY,
101
- });
102
- const config = wrapper({});
103
- expect(config).toBeDefined();
104
- });
105
- it("should use default environment if not provided", () => {
106
- const wrapper = withInterfere({
107
- surface: TEST_SURFACE_ID,
108
- secretKey: TEST_SECRET_KEY,
109
- });
110
- const config = wrapper({});
111
- expect(config).toBeDefined();
112
- // Environment defaults to production or NODE_ENV
113
- });
114
- it("should enable productionBrowserSourceMaps", () => {
115
- const wrapper = withInterfere({
116
- surface: TEST_SURFACE_ID,
117
- secretKey: TEST_SECRET_KEY,
118
- });
119
- const config = wrapper({});
120
- expect(config.productionBrowserSourceMaps).toBe(true);
121
- });
122
- it("should preserve existing config properties", () => {
123
- const wrapper = withInterfere({
124
- surface: TEST_SURFACE_ID,
125
- secretKey: TEST_SECRET_KEY,
126
- });
127
- const existingConfig = {
128
- reactStrictMode: true,
129
- swcMinify: true,
130
- images: {
131
- domains: ["example.com"],
132
- },
133
- };
134
- const config = wrapper(existingConfig);
135
- expect(config.reactStrictMode).toBe(true);
136
- expect(config.swcMinify).toBe(true);
137
- expect(config.images?.domains).toEqual(["example.com"]);
138
- });
139
- it("should use debug mode when enabled", () => {
140
- const consoleSpy = vi.spyOn(console, "log").mockImplementation(() => { });
141
- const wrapper = withInterfere({
142
- surface: TEST_SURFACE_ID,
143
- secretKey: TEST_SECRET_KEY,
144
- debug: true,
145
- });
146
- const config = wrapper({});
147
- expect(config).toBeDefined();
148
- });
149
- });
150
- describe("environment detection", () => {
151
- it("should detect Git SHA", () => {
152
- const wrapper = withInterfere({
153
- surface: TEST_SURFACE_ID,
154
- secretKey: TEST_SECRET_KEY,
155
- });
156
- const config = wrapper({});
157
- expect(config.env?.NEXT_PUBLIC_INTERFERE_BUILD_ID).toBe(MOCK_GIT_SHA);
158
- });
159
- it("should handle missing Git repository", () => {
160
- vi.mocked(execSync).mockImplementation(() => {
161
- throw new Error("Not a git repository");
162
- });
163
- const wrapper = withInterfere({
164
- surface: TEST_SURFACE_ID,
165
- secretKey: TEST_SECRET_KEY,
166
- });
167
- const config = wrapper({});
168
- expect(config.env?.NEXT_PUBLIC_INTERFERE_BUILD_ID).toBe("");
169
- });
170
- it("should detect Vercel deployment ID", () => {
171
- vi.stubEnv("VERCEL_URL", MOCK_VERCEL_URL);
172
- const wrapper = withInterfere({
173
- surface: TEST_SURFACE_ID,
174
- secretKey: TEST_SECRET_KEY,
175
- });
176
- const config = wrapper({});
177
- expect(config.env?.NEXT_PUBLIC_INTERFERE_RELEASE_ID).toBe("test-app-123");
178
- });
179
- it("should fall back to Git SHA if no Vercel deployment", () => {
180
- const wrapper = withInterfere({
181
- surface: TEST_SURFACE_ID,
182
- secretKey: TEST_SECRET_KEY,
183
- });
184
- const config = wrapper({});
185
- expect(config.env?.NEXT_PUBLIC_INTERFERE_RELEASE_ID).toBe(MOCK_GIT_SHA);
186
- });
187
- it("should use custom environment if provided", () => {
188
- const wrapper = withInterfere({
189
- surface: TEST_SURFACE_ID,
190
- secretKey: TEST_SECRET_KEY,
191
- environment: "staging",
192
- });
193
- const config = wrapper({});
194
- expect(config).toBeDefined();
195
- });
196
- it("should use DEPLOY_URL if VERCEL_URL not available", () => {
197
- vi.stubEnv("DEPLOY_URL", TEST_DEPLOY_URL);
198
- const wrapper = withInterfere({
199
- surface: TEST_SURFACE_ID,
200
- secretKey: TEST_SECRET_KEY,
201
- });
202
- const config = wrapper({});
203
- expect(config).toBeDefined();
204
- });
205
- it("should use NODE_ENV for environment if not specified", () => {
206
- vi.stubEnv("NODE_ENV", "development");
207
- const wrapper = withInterfere({
208
- surface: TEST_SURFACE_ID,
209
- secretKey: TEST_SECRET_KEY,
210
- });
211
- const config = wrapper({});
212
- expect(config).toBeDefined();
213
- });
214
- it("should use VERCEL_DEPLOYMENT_ID if available", () => {
215
- vi.stubEnv("VERCEL_DEPLOYMENT_ID", "deploy-abc123");
216
- const wrapper = withInterfere({
217
- surface: TEST_SURFACE_ID,
218
- secretKey: TEST_SECRET_KEY,
219
- });
220
- const config = wrapper({});
221
- expect(config.env?.NEXT_PUBLIC_INTERFERE_RELEASE_ID).toBe("deploy-abc123");
222
- });
223
- });
224
- describe("webpack configuration", () => {
225
- const createWebpackConfig = () => ({
226
- devtool: "eval",
227
- plugins: [],
228
- });
229
- const createWebpackContext = (overrides) => ({
230
- isServer: false,
231
- dev: false,
232
- buildId: TEST_BUILD_ID,
233
- dir: "/project",
234
- defaultLoaders: {},
235
- totalPages: 10,
236
- webpack: {},
237
- config: {},
238
- ...overrides,
239
- });
240
- it("should preserve existing webpack config", () => {
241
- const originalWebpack = vi.fn((config) => ({
242
- ...config,
243
- customField: "preserved",
244
- }));
245
- const wrapper = withInterfere({
246
- surface: TEST_SURFACE_ID,
247
- secretKey: TEST_SECRET_KEY,
248
- });
249
- const config = wrapper({
250
- webpack: originalWebpack,
251
- });
252
- const webpackConfig = createWebpackConfig();
253
- const context = createWebpackContext({ dev: true });
254
- const result = config.webpack(webpackConfig, context);
255
- expect(originalWebpack).toHaveBeenCalledWith(webpackConfig, context);
256
- expect(result.customField).toBe("preserved");
257
- });
258
- it("should set source-map devtool for client production builds", () => {
259
- const wrapper = withInterfere({
260
- surface: TEST_SURFACE_ID,
261
- secretKey: TEST_SECRET_KEY,
262
- });
263
- const config = wrapper({});
264
- const webpackConfig = createWebpackConfig();
265
- const context = createWebpackContext({ isServer: false, dev: false });
266
- const result = config.webpack(webpackConfig, context);
267
- expect(result.devtool).toBe("source-map");
268
- });
269
- it("should not modify server-side builds", () => {
270
- const wrapper = withInterfere({
271
- surface: TEST_SURFACE_ID,
272
- secretKey: TEST_SECRET_KEY,
273
- });
274
- const config = wrapper({});
275
- const webpackConfig = createWebpackConfig();
276
- const context = createWebpackContext({ isServer: true, dev: false });
277
- const result = config.webpack(webpackConfig, context);
278
- expect(result.devtool).toBe("eval");
279
- });
280
- it("should not modify development builds", () => {
281
- const wrapper = withInterfere({
282
- surface: TEST_SURFACE_ID,
283
- secretKey: TEST_SECRET_KEY,
284
- });
285
- const config = wrapper({});
286
- const webpackConfig = createWebpackConfig();
287
- const context = createWebpackContext({ isServer: false, dev: true });
288
- const result = config.webpack(webpackConfig, context);
289
- expect(result.devtool).toBe("eval");
290
- });
291
- it("should add upload plugin for production client builds", () => {
292
- const wrapper = withInterfere({
293
- surface: TEST_SURFACE_ID,
294
- secretKey: TEST_SECRET_KEY,
295
- });
296
- const config = wrapper({});
297
- const webpackConfig = createWebpackConfig();
298
- const context = createWebpackContext({ isServer: false, dev: false });
299
- const result = config.webpack(webpackConfig, context);
300
- expect(result.plugins).toHaveLength(1);
301
- expect(result.plugins[0]).toHaveProperty("apply");
302
- });
303
- it("should not add plugin when disabled", () => {
304
- const wrapper = withInterfere({
305
- surface: TEST_SURFACE_ID,
306
- secretKey: TEST_SECRET_KEY,
307
- disabled: true,
308
- });
309
- const config = wrapper({});
310
- const webpackConfig = createWebpackConfig();
311
- const context = createWebpackContext({ isServer: false, dev: false });
312
- const result = config.webpack(webpackConfig, context);
313
- expect(result.plugins).toHaveLength(0);
314
- });
315
- it("should handle webpack config without existing plugins", () => {
316
- const wrapper = withInterfere({
317
- surface: TEST_SURFACE_ID,
318
- secretKey: TEST_SECRET_KEY,
319
- });
320
- const config = wrapper({});
321
- const webpackConfig = { devtool: "eval" };
322
- const context = createWebpackContext({ isServer: false, dev: false });
323
- const result = config.webpack(webpackConfig, context);
324
- expect(result.devtool).toBe("source-map");
325
- expect(result.plugins).toBeDefined();
326
- expect(result.plugins).toHaveLength(1);
327
- });
328
- });
329
- describe("source map upload", () => {
330
- it("should skip upload if no Git SHA", async () => {
331
- vi.mocked(execSync).mockImplementation(() => {
332
- throw new Error("Not a git repository");
333
- });
334
- const consoleSpy = vi.spyOn(console, "warn").mockImplementation(() => { });
335
- // This would be called by the webpack plugin
336
- // We'll test the upload logic directly
337
- const { withInterfere: importedWithInterfere } = await import("../../config.js");
338
- const wrapper = importedWithInterfere({
339
- surface: TEST_SURFACE_ID,
340
- secretKey: TEST_SECRET_KEY,
341
- });
342
- const config = wrapper({});
343
- // The upload would be triggered but should exit early
344
- expect(config).toBeDefined();
345
- });
346
- it("should handle upload errors gracefully", async () => {
347
- const consoleSpy = vi.spyOn(console, "error").mockImplementation(() => { });
348
- // Mock glob and fs to simulate read error
349
- vi.mocked(glob).mockRejectedValue(new Error("File system error"));
350
- const wrapper = withInterfere({
351
- surface: TEST_SURFACE_ID,
352
- secretKey: TEST_SECRET_KEY,
353
- });
354
- const config = wrapper({});
355
- // The webpack plugin would catch this error
356
- // Testing that errors don't break the build
357
- expect(config).toBeDefined();
358
- });
359
- it("should handle missing source maps gracefully", async () => {
360
- vi.mocked(glob).mockResolvedValue([]);
361
- const wrapper = withInterfere({
362
- surface: TEST_SURFACE_ID,
363
- secretKey: TEST_SECRET_KEY,
364
- });
365
- const config = wrapper({});
366
- expect(config).toBeDefined();
367
- });
368
- it("should handle fetch errors during upload", async () => {
369
- vi.mocked(glob).mockResolvedValue([".next/static/chunks/app.js.map"]);
370
- vi.mocked(fs.readFile).mockResolvedValue('{"version":3}');
371
- vi.mocked(fetch).mockRejectedValue(new Error("Network error"));
372
- const consoleSpy = vi.spyOn(console, "error").mockImplementation(() => { });
373
- const wrapper = withInterfere({
374
- surface: TEST_SURFACE_ID,
375
- secretKey: TEST_SECRET_KEY,
376
- });
377
- const config = wrapper({});
378
- expect(config).toBeDefined();
379
- });
380
- });
381
- describe("edge cases", () => {
382
- it("should handle empty Next.js config", () => {
383
- const wrapper = withInterfere({
384
- surface: TEST_SURFACE_ID,
385
- secretKey: TEST_SECRET_KEY,
386
- });
387
- const config = wrapper();
388
- expect(config).toBeDefined();
389
- expect(config.productionBrowserSourceMaps).toBe(true);
390
- expect(config.webpack).toBeDefined();
391
- expect(config.env).toBeDefined();
392
- });
393
- it("should preserve existing env variables", () => {
394
- const wrapper = withInterfere({
395
- surface: TEST_SURFACE_ID,
396
- secretKey: TEST_SECRET_KEY,
397
- });
398
- const existingConfig = {
399
- env: {
400
- CUSTOM_VAR: "custom-value",
401
- ANOTHER_VAR: "another-value",
402
- },
403
- };
404
- const config = wrapper(existingConfig);
405
- expect(config.env?.CUSTOM_VAR).toBe("custom-value");
406
- expect(config.env?.ANOTHER_VAR).toBe("another-value");
407
- expect(config.env?.NEXT_PUBLIC_INTERFERE_BUILD_ID).toBe(MOCK_GIT_SHA);
408
- expect(config.env?.NEXT_PUBLIC_INTERFERE_RELEASE_ID).toBe(MOCK_GIT_SHA);
409
- });
410
- it("should handle all Git command failures gracefully", () => {
411
- vi.mocked(execSync).mockImplementation(() => {
412
- throw new Error("Command not found");
413
- });
414
- const wrapper = withInterfere({
415
- surface: TEST_SURFACE_ID,
416
- secretKey: TEST_SECRET_KEY,
417
- });
418
- const config = wrapper({});
419
- expect(config.env?.NEXT_PUBLIC_INTERFERE_BUILD_ID).toBe("");
420
- expect(config.env?.NEXT_PUBLIC_INTERFERE_RELEASE_ID).toBe("");
421
- });
422
- });
423
- });
424
- //# sourceMappingURL=with-interfere.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"with-interfere.test.js","sourceRoot":"","sources":["../../../src/__tests__/build/with-interfere.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=client.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/core/client.test.ts"],"names":[],"mappings":""}