@interfere/next 0.0.14 → 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 (232) 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 -295
  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 -363
  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 -153
  142. package/dist/__tests__/integration/release-upload.test.js.map +0 -1
  143. package/dist/__tests__/provider.test.d.ts +0 -2
  144. package/dist/__tests__/provider.test.d.ts.map +0 -1
  145. package/dist/__tests__/provider.test.js +0 -84
  146. package/dist/__tests__/provider.test.js.map +0 -1
  147. package/dist/__tests__/session/persistence.test.d.ts +0 -2
  148. package/dist/__tests__/session/persistence.test.d.ts.map +0 -1
  149. package/dist/__tests__/session/persistence.test.js +0 -129
  150. package/dist/__tests__/session/persistence.test.js.map +0 -1
  151. package/dist/__tests__/session/session-summary.test.d.ts +0 -2
  152. package/dist/__tests__/session/session-summary.test.d.ts.map +0 -1
  153. package/dist/__tests__/session/session-summary.test.js +0 -763
  154. package/dist/__tests__/session/session-summary.test.js.map +0 -1
  155. package/dist/client.d.ts +0 -75
  156. package/dist/client.d.ts.map +0 -1
  157. package/dist/client.js +0 -123
  158. package/dist/client.js.map +0 -1
  159. package/dist/config.d.ts +0 -40
  160. package/dist/config.d.ts.map +0 -1
  161. package/dist/config.js +0 -340
  162. package/dist/config.js.map +0 -1
  163. package/dist/index.d.ts +0 -37
  164. package/dist/index.d.ts.map +0 -1
  165. package/dist/index.js +0 -49
  166. package/dist/index.js.map +0 -1
  167. package/dist/index.jsx +0 -87
  168. package/dist/index.jsx.map +0 -1
  169. package/dist/lib/core/client-core.d.ts +0 -27
  170. package/dist/lib/core/client-core.d.ts.map +0 -1
  171. package/dist/lib/core/client-core.js +0 -152
  172. package/dist/lib/core/client-core.js.map +0 -1
  173. package/dist/lib/core/constants.d.ts +0 -12
  174. package/dist/lib/core/constants.d.ts.map +0 -1
  175. package/dist/lib/core/constants.js +0 -17
  176. package/dist/lib/core/constants.js.map +0 -1
  177. package/dist/lib/core/debug.d.ts +0 -47
  178. package/dist/lib/core/debug.d.ts.map +0 -1
  179. package/dist/lib/core/debug.js +0 -79
  180. package/dist/lib/core/debug.js.map +0 -1
  181. package/dist/lib/core/encoders.d.ts +0 -3
  182. package/dist/lib/core/encoders.d.ts.map +0 -1
  183. package/dist/lib/core/encoders.js +0 -5
  184. package/dist/lib/core/encoders.js.map +0 -1
  185. package/dist/lib/core/error-handlers.d.ts +0 -14
  186. package/dist/lib/core/error-handlers.d.ts.map +0 -1
  187. package/dist/lib/core/error-handlers.js +0 -191
  188. package/dist/lib/core/error-handlers.js.map +0 -1
  189. package/dist/lib/core/runtime.d.ts +0 -7
  190. package/dist/lib/core/runtime.d.ts.map +0 -1
  191. package/dist/lib/core/runtime.js +0 -16
  192. package/dist/lib/core/runtime.js.map +0 -1
  193. package/dist/lib/persistence/storage.d.ts +0 -5
  194. package/dist/lib/persistence/storage.d.ts.map +0 -1
  195. package/dist/lib/persistence/storage.js +0 -67
  196. package/dist/lib/persistence/storage.js.map +0 -1
  197. package/dist/lib/session/constants.d.ts +0 -19
  198. package/dist/lib/session/constants.d.ts.map +0 -1
  199. package/dist/lib/session/constants.js +0 -34
  200. package/dist/lib/session/constants.js.map +0 -1
  201. package/dist/lib/session/persistence.d.ts +0 -58
  202. package/dist/lib/session/persistence.d.ts.map +0 -1
  203. package/dist/lib/session/persistence.js +0 -179
  204. package/dist/lib/session/persistence.js.map +0 -1
  205. package/dist/lib/session/rage-click.d.ts +0 -17
  206. package/dist/lib/session/rage-click.d.ts.map +0 -1
  207. package/dist/lib/session/rage-click.js +0 -104
  208. package/dist/lib/session/rage-click.js.map +0 -1
  209. package/dist/lib/session/replay.d.ts +0 -3
  210. package/dist/lib/session/replay.d.ts.map +0 -1
  211. package/dist/lib/session/replay.js +0 -109
  212. package/dist/lib/session/replay.js.map +0 -1
  213. package/dist/lib/session/session-manager.d.ts +0 -126
  214. package/dist/lib/session/session-manager.d.ts.map +0 -1
  215. package/dist/lib/session/session-manager.js +0 -635
  216. package/dist/lib/session/session-manager.js.map +0 -1
  217. package/dist/lib/session/session-summary.d.ts +0 -3
  218. package/dist/lib/session/session-summary.d.ts.map +0 -1
  219. package/dist/lib/session/session-summary.js +0 -214
  220. package/dist/lib/session/session-summary.js.map +0 -1
  221. package/dist/middleware.d.ts +0 -8
  222. package/dist/middleware.d.ts.map +0 -1
  223. package/dist/middleware.js +0 -139
  224. package/dist/middleware.js.map +0 -1
  225. package/dist/types/storage.d.ts +0 -7
  226. package/dist/types/storage.d.ts.map +0 -1
  227. package/dist/types/storage.js +0 -2
  228. package/dist/types/storage.js.map +0 -1
  229. package/dist/types.d.ts +0 -6
  230. package/dist/types.d.ts.map +0 -1
  231. package/dist/types.js +0 -4
  232. package/dist/types.js.map +0 -1
@@ -1,363 +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 = `int_sk_${TEST_SURFACE_ID}_randomsuffix123`; // Proper format
10
- const TEST_INVALID_KEY = "invalid-api-key"; // Invalid format
11
- const TEST_BUILD_ID = "test-build";
12
- const TEST_DEPLOY_URL = "https://test.vercel.app";
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 warn if no secret key in environment", () => {
64
- const consoleSpy = vi.spyOn(console, "warn").mockImplementation(() => { });
65
- const wrapper = withInterfere();
66
- wrapper();
67
- expect(consoleSpy).toHaveBeenCalledWith("[Interfere] No secret key found. Set INTERFERE_SECRET_KEY environment variable to enable source map uploads.");
68
- });
69
- // clerkOrgId is not required anymore
70
- it("should parse surface ID from valid secret key", () => {
71
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
72
- const wrapper = withInterfere();
73
- const config = wrapper();
74
- expect(config).toBeDefined();
75
- expect(config.productionBrowserSourceMaps).toBe(true);
76
- });
77
- it("should warn if secret key has invalid format", () => {
78
- const consoleSpy = vi.spyOn(console, "warn").mockImplementation(() => { });
79
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_INVALID_KEY);
80
- const wrapper = withInterfere();
81
- wrapper();
82
- expect(consoleSpy).toHaveBeenCalledWith("[Interfere] Invalid secret key format. Expected format: int_sk_{surfaceId}_{random}");
83
- });
84
- it("should disable when no secret key provided", () => {
85
- const wrapper = withInterfere();
86
- const config = wrapper();
87
- expect(config.productionBrowserSourceMaps).toBe(true);
88
- // Should not set up webpack plugin when disabled
89
- });
90
- it("should use default API URL", () => {
91
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
92
- const wrapper = withInterfere();
93
- const config = wrapper();
94
- expect(config).toBeDefined();
95
- });
96
- it("should use default environment if not provided", () => {
97
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
98
- const wrapper = withInterfere();
99
- const config = wrapper();
100
- expect(config).toBeDefined();
101
- // Environment defaults to production or NODE_ENV
102
- });
103
- it("should enable productionBrowserSourceMaps", () => {
104
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
105
- const wrapper = withInterfere();
106
- const config = wrapper();
107
- expect(config.productionBrowserSourceMaps).toBe(true);
108
- });
109
- it("should preserve existing config properties", () => {
110
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
111
- const wrapper = withInterfere();
112
- const existingConfig = {
113
- reactStrictMode: true,
114
- swcMinify: true,
115
- images: {
116
- domains: ["example.com"],
117
- },
118
- };
119
- const config = wrapper(existingConfig);
120
- expect(config.reactStrictMode).toBe(true);
121
- expect(config.swcMinify).toBe(true);
122
- expect(config.images?.domains).toEqual(["example.com"]);
123
- });
124
- it("should use debug mode when enabled", () => {
125
- const consoleSpy = vi.spyOn(console, "log").mockImplementation(() => { });
126
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
127
- const wrapper = withInterfere({
128
- debug: true,
129
- });
130
- const config = wrapper();
131
- expect(config).toBeDefined();
132
- });
133
- });
134
- describe("environment detection", () => {
135
- it("should detect Git SHA", () => {
136
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
137
- const wrapper = withInterfere();
138
- const config = wrapper();
139
- expect(config.env?.NEXT_PUBLIC_INTERFERE_BUILD_ID).toBe(MOCK_GIT_SHA);
140
- });
141
- it("should handle missing Git repository", () => {
142
- vi.mocked(execSync).mockImplementation(() => {
143
- throw new Error("Not a git repository");
144
- });
145
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
146
- const wrapper = withInterfere();
147
- const config = wrapper();
148
- expect(config.env?.NEXT_PUBLIC_INTERFERE_BUILD_ID).toBe("");
149
- });
150
- it("should detect Vercel deployment ID", () => {
151
- vi.stubEnv("VERCEL_URL", MOCK_VERCEL_URL);
152
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
153
- const wrapper = withInterfere();
154
- const config = wrapper();
155
- expect(config.env?.NEXT_PUBLIC_INTERFERE_RELEASE_ID).toBe("test-app-123");
156
- });
157
- it("should fall back to Git SHA if no Vercel deployment", () => {
158
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
159
- const wrapper = withInterfere();
160
- const config = wrapper();
161
- expect(config.env?.NEXT_PUBLIC_INTERFERE_RELEASE_ID).toBe(MOCK_GIT_SHA);
162
- });
163
- it("should use custom environment if provided", () => {
164
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
165
- const wrapper = withInterfere({
166
- environment: "staging",
167
- });
168
- const config = wrapper();
169
- expect(config).toBeDefined();
170
- });
171
- it("should use DEPLOY_URL if VERCEL_URL not available", () => {
172
- vi.stubEnv("DEPLOY_URL", TEST_DEPLOY_URL);
173
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
174
- const wrapper = withInterfere();
175
- const config = wrapper();
176
- expect(config).toBeDefined();
177
- });
178
- it("should use NODE_ENV for environment if not specified", () => {
179
- vi.stubEnv("NODE_ENV", "development");
180
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
181
- const wrapper = withInterfere();
182
- const config = wrapper();
183
- expect(config).toBeDefined();
184
- });
185
- it("should use VERCEL_DEPLOYMENT_ID if available", () => {
186
- vi.stubEnv("VERCEL_DEPLOYMENT_ID", "deploy-abc123");
187
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
188
- const wrapper = withInterfere();
189
- const config = wrapper();
190
- expect(config.env?.NEXT_PUBLIC_INTERFERE_RELEASE_ID).toBe("deploy-abc123");
191
- });
192
- });
193
- describe("webpack configuration", () => {
194
- const createWebpackConfig = () => ({
195
- devtool: "eval",
196
- plugins: [],
197
- });
198
- const createWebpackContext = (overrides) => ({
199
- isServer: false,
200
- dev: false,
201
- buildId: TEST_BUILD_ID,
202
- dir: "/project",
203
- defaultLoaders: {},
204
- totalPages: 10,
205
- webpack: {},
206
- config: {},
207
- ...overrides,
208
- });
209
- it("should preserve existing webpack config", () => {
210
- const originalWebpack = vi.fn((config) => ({
211
- ...config,
212
- customField: "preserved",
213
- }));
214
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
215
- const wrapper = withInterfere();
216
- const config = wrapper({
217
- webpack: originalWebpack,
218
- });
219
- const webpackConfig = createWebpackConfig();
220
- const context = createWebpackContext({ dev: true });
221
- const result = config.webpack(webpackConfig, context);
222
- expect(originalWebpack).toHaveBeenCalledWith(webpackConfig, context);
223
- expect(result.customField).toBe("preserved");
224
- });
225
- it("should set source-map devtool for client production builds", () => {
226
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
227
- const wrapper = withInterfere();
228
- const config = wrapper();
229
- const webpackConfig = createWebpackConfig();
230
- const context = createWebpackContext({ isServer: false, dev: false });
231
- const result = config.webpack(webpackConfig, context);
232
- expect(result.devtool).toBe("source-map");
233
- });
234
- it("should not modify server-side builds", () => {
235
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
236
- const wrapper = withInterfere();
237
- const config = wrapper();
238
- const webpackConfig = createWebpackConfig();
239
- const context = createWebpackContext({ isServer: true, dev: false });
240
- const result = config.webpack(webpackConfig, context);
241
- expect(result.devtool).toBe("eval");
242
- });
243
- it("should not modify development builds", () => {
244
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
245
- const wrapper = withInterfere();
246
- const config = wrapper();
247
- const webpackConfig = createWebpackConfig();
248
- const context = createWebpackContext({ isServer: false, dev: true });
249
- const result = config.webpack(webpackConfig, context);
250
- expect(result.devtool).toBe("eval");
251
- });
252
- it("should add upload plugin for production client builds", () => {
253
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
254
- const wrapper = withInterfere();
255
- const config = wrapper();
256
- const webpackConfig = createWebpackConfig();
257
- const context = createWebpackContext({ isServer: false, dev: false });
258
- const result = config.webpack(webpackConfig, context);
259
- expect(result.plugins).toHaveLength(1);
260
- expect(result.plugins[0]).toHaveProperty("apply");
261
- });
262
- it("should not add plugin when no secret key", () => {
263
- const wrapper = withInterfere();
264
- const config = wrapper();
265
- const webpackConfig = createWebpackConfig();
266
- const context = createWebpackContext({ isServer: false, dev: false });
267
- const result = config.webpack(webpackConfig, context);
268
- expect(result.plugins).toHaveLength(0);
269
- });
270
- it("should handle webpack config without existing plugins", () => {
271
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
272
- const wrapper = withInterfere();
273
- const config = wrapper();
274
- const webpackConfig = { devtool: "eval" };
275
- const context = createWebpackContext({ isServer: false, dev: false });
276
- const result = config.webpack(webpackConfig, context);
277
- expect(result.devtool).toBe("source-map");
278
- expect(result.plugins).toBeDefined();
279
- expect(result.plugins).toHaveLength(1);
280
- });
281
- });
282
- describe("source map upload", () => {
283
- it("should skip upload if no Git SHA", async () => {
284
- vi.mocked(execSync).mockImplementation(() => {
285
- throw new Error("Not a git repository");
286
- });
287
- const consoleSpy = vi.spyOn(console, "warn").mockImplementation(() => { });
288
- // This would be called by the webpack plugin
289
- // We'll test the upload logic directly
290
- const { withInterfere: importedWithInterfere } = await import("../../config.js");
291
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
292
- const wrapper = importedWithInterfere();
293
- const config = wrapper();
294
- // The upload would be triggered but should exit early
295
- expect(config).toBeDefined();
296
- });
297
- it("should handle upload errors gracefully", async () => {
298
- const consoleSpy = vi.spyOn(console, "error").mockImplementation(() => { });
299
- // Mock glob and fs to simulate read error
300
- vi.mocked(glob).mockRejectedValue(new Error("File system error"));
301
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
302
- const wrapper = withInterfere();
303
- const config = wrapper();
304
- // The webpack plugin would catch this error
305
- // Testing that errors don't break the build
306
- expect(config).toBeDefined();
307
- });
308
- it("should handle missing source maps gracefully", async () => {
309
- vi.mocked(glob).mockResolvedValue([]);
310
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
311
- const wrapper = withInterfere();
312
- const config = wrapper();
313
- expect(config).toBeDefined();
314
- });
315
- it("should handle fetch errors during upload", async () => {
316
- vi.mocked(glob).mockResolvedValue([".next/static/chunks/app.js.map"]);
317
- vi.mocked(fs.readFile).mockResolvedValue('{"version":3}');
318
- vi.mocked(fetch).mockRejectedValue(new Error("Network error"));
319
- const consoleSpy = vi.spyOn(console, "error").mockImplementation(() => { });
320
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
321
- const wrapper = withInterfere();
322
- const config = wrapper();
323
- expect(config).toBeDefined();
324
- });
325
- });
326
- describe("edge cases", () => {
327
- it("should handle empty Next.js config", () => {
328
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
329
- const wrapper = withInterfere();
330
- const config = wrapper();
331
- expect(config).toBeDefined();
332
- expect(config.productionBrowserSourceMaps).toBe(true);
333
- expect(config.webpack).toBeDefined();
334
- expect(config.env).toBeDefined();
335
- });
336
- it("should preserve existing env variables", () => {
337
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
338
- const wrapper = withInterfere();
339
- const existingConfig = {
340
- env: {
341
- CUSTOM_VAR: "custom-value",
342
- ANOTHER_VAR: "another-value",
343
- },
344
- };
345
- const config = wrapper(existingConfig);
346
- expect(config.env?.CUSTOM_VAR).toBe("custom-value");
347
- expect(config.env?.ANOTHER_VAR).toBe("another-value");
348
- expect(config.env?.NEXT_PUBLIC_INTERFERE_BUILD_ID).toBe(MOCK_GIT_SHA);
349
- expect(config.env?.NEXT_PUBLIC_INTERFERE_RELEASE_ID).toBe(MOCK_GIT_SHA);
350
- });
351
- it("should handle all Git command failures gracefully", () => {
352
- vi.mocked(execSync).mockImplementation(() => {
353
- throw new Error("Command not found");
354
- });
355
- vi.stubEnv("INTERFERE_SECRET_KEY", TEST_SECRET_KEY);
356
- const wrapper = withInterfere();
357
- const config = wrapper();
358
- expect(config.env?.NEXT_PUBLIC_INTERFERE_BUILD_ID).toBe("");
359
- expect(config.env?.NEXT_PUBLIC_INTERFERE_RELEASE_ID).toBe("");
360
- });
361
- });
362
- });
363
- //# 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":""}