@sentry/wizard 3.42.1 → 4.0.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 (585) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/bin.js +44 -35
  3. package/dist/bin.js.map +1 -1
  4. package/dist/e2e-tests/jest.config.js +1 -1
  5. package/dist/e2e-tests/jest.config.js.map +1 -1
  6. package/dist/e2e-tests/tests/flutter.test.js +62 -147
  7. package/dist/e2e-tests/tests/flutter.test.js.map +1 -1
  8. package/dist/e2e-tests/tests/nextjs.test.js +77 -175
  9. package/dist/e2e-tests/tests/nextjs.test.js.map +1 -1
  10. package/dist/e2e-tests/tests/nuxt-3.test.js +61 -162
  11. package/dist/e2e-tests/tests/nuxt-3.test.js.map +1 -1
  12. package/dist/e2e-tests/tests/nuxt-4.test.js +62 -163
  13. package/dist/e2e-tests/tests/nuxt-4.test.js.map +1 -1
  14. package/dist/e2e-tests/tests/remix.test.js +147 -189
  15. package/dist/e2e-tests/tests/remix.test.js.map +1 -1
  16. package/dist/e2e-tests/tests/sveltekit.test.js +133 -187
  17. package/dist/e2e-tests/tests/sveltekit.test.js.map +1 -1
  18. package/dist/e2e-tests/utils/index.d.ts +1 -1
  19. package/dist/e2e-tests/utils/index.js +113 -195
  20. package/dist/e2e-tests/utils/index.js.map +1 -1
  21. package/dist/lib/Constants.js +5 -5
  22. package/dist/lib/Constants.js.map +1 -1
  23. package/dist/lib/Helper/BottomBar.d.ts +1 -1
  24. package/dist/lib/Helper/BottomBar.js +14 -15
  25. package/dist/lib/Helper/BottomBar.js.map +1 -1
  26. package/dist/lib/Helper/Env.js +5 -2
  27. package/dist/lib/Helper/Env.js.map +1 -1
  28. package/dist/lib/Helper/File.js +14 -27
  29. package/dist/lib/Helper/File.js.map +1 -1
  30. package/dist/lib/Helper/Git.js +24 -59
  31. package/dist/lib/Helper/Git.js.map +1 -1
  32. package/dist/lib/Helper/Logging.js +2 -2
  33. package/dist/lib/Helper/Logging.js.map +1 -1
  34. package/dist/lib/Helper/MergeConfig.js +4 -4
  35. package/dist/lib/Helper/MergeConfig.js.map +1 -1
  36. package/dist/lib/Helper/Package.d.ts +4 -1
  37. package/dist/lib/Helper/Package.js +12 -38
  38. package/dist/lib/Helper/Package.js.map +1 -1
  39. package/dist/lib/Helper/SentryCli.js +77 -149
  40. package/dist/lib/Helper/SentryCli.js.map +1 -1
  41. package/dist/lib/Helper/Wizard.js +29 -124
  42. package/dist/lib/Helper/Wizard.js.map +1 -1
  43. package/dist/lib/Helper/__tests__/File.js +4 -4
  44. package/dist/lib/Helper/__tests__/File.js.map +1 -1
  45. package/dist/lib/Helper/__tests__/MergeConfig.js +24 -24
  46. package/dist/lib/Helper/__tests__/MergeConfig.js.map +1 -1
  47. package/dist/lib/Helper/__tests__/SentryCli.js +33 -23
  48. package/dist/lib/Helper/__tests__/SentryCli.js.map +1 -1
  49. package/dist/lib/Setup.js +23 -85
  50. package/dist/lib/Setup.js.map +1 -1
  51. package/dist/lib/Steps/BaseStep.js +8 -8
  52. package/dist/lib/Steps/BaseStep.js.map +1 -1
  53. package/dist/lib/Steps/ChooseIntegration.js +80 -125
  54. package/dist/lib/Steps/ChooseIntegration.js.map +1 -1
  55. package/dist/lib/Steps/ConfigureProject.js +6 -66
  56. package/dist/lib/Steps/ConfigureProject.js.map +1 -1
  57. package/dist/lib/Steps/Initial.js +16 -104
  58. package/dist/lib/Steps/Initial.js.map +1 -1
  59. package/dist/lib/Steps/Integrations/BaseIntegration.js +24 -118
  60. package/dist/lib/Steps/Integrations/BaseIntegration.js.map +1 -1
  61. package/dist/lib/Steps/Integrations/Cordova.js +95 -183
  62. package/dist/lib/Steps/Integrations/Cordova.js.map +1 -1
  63. package/dist/lib/Steps/Integrations/Electron.js +87 -145
  64. package/dist/lib/Steps/Integrations/Electron.js.map +1 -1
  65. package/dist/lib/Steps/Integrations/MobileProject.js +40 -148
  66. package/dist/lib/Steps/Integrations/MobileProject.js.map +1 -1
  67. package/dist/lib/Steps/OpenSentry.js +63 -126
  68. package/dist/lib/Steps/OpenSentry.js.map +1 -1
  69. package/dist/lib/Steps/PromptForParameters.js +110 -206
  70. package/dist/lib/Steps/PromptForParameters.js.map +1 -1
  71. package/dist/lib/Steps/Result.js +19 -79
  72. package/dist/lib/Steps/Result.js.map +1 -1
  73. package/dist/lib/Steps/SentryProjectSelector.js +57 -148
  74. package/dist/lib/Steps/SentryProjectSelector.js.map +1 -1
  75. package/dist/lib/Steps/ShouldConfigure.js +6 -66
  76. package/dist/lib/Steps/ShouldConfigure.js.map +1 -1
  77. package/dist/lib/Steps/WaitForSentry.js +43 -120
  78. package/dist/lib/Steps/WaitForSentry.js.map +1 -1
  79. package/dist/lib/Steps/Welcome.js +17 -76
  80. package/dist/lib/Steps/Welcome.js.map +1 -1
  81. package/dist/lib/__tests__/Env.js +3 -3
  82. package/dist/lib/__tests__/Env.js.map +1 -1
  83. package/dist/src/android/android-wizard.js +100 -176
  84. package/dist/src/android/android-wizard.js.map +1 -1
  85. package/dist/src/android/code-tools.js +24 -33
  86. package/dist/src/android/code-tools.js.map +1 -1
  87. package/dist/src/android/gradle.js +106 -165
  88. package/dist/src/android/gradle.js.map +1 -1
  89. package/dist/src/android/manifest.js +26 -27
  90. package/dist/src/android/manifest.js.map +1 -1
  91. package/dist/src/android/templates.js +76 -23
  92. package/dist/src/android/templates.js.map +1 -1
  93. package/dist/src/apple/apple-wizard.js +129 -225
  94. package/dist/src/apple/apple-wizard.js.map +1 -1
  95. package/dist/src/apple/cocoapod.js +47 -109
  96. package/dist/src/apple/cocoapod.js.map +1 -1
  97. package/dist/src/apple/code-tools.js +32 -35
  98. package/dist/src/apple/code-tools.js.map +1 -1
  99. package/dist/src/apple/fastlane.js +51 -97
  100. package/dist/src/apple/fastlane.js.map +1 -1
  101. package/dist/src/apple/templates.js +41 -5
  102. package/dist/src/apple/templates.js.map +1 -1
  103. package/dist/src/apple/xcode-manager.d.ts +2 -2
  104. package/dist/src/apple/xcode-manager.js +93 -108
  105. package/dist/src/apple/xcode-manager.js.map +1 -1
  106. package/dist/src/flutter/code-tools.js +79 -127
  107. package/dist/src/flutter/code-tools.js.map +1 -1
  108. package/dist/src/flutter/flutter-wizard.js +75 -136
  109. package/dist/src/flutter/flutter-wizard.js.map +1 -1
  110. package/dist/src/flutter/templates.js +48 -12
  111. package/dist/src/flutter/templates.js.map +1 -1
  112. package/dist/src/nextjs/nextjs-wizard.js +527 -805
  113. package/dist/src/nextjs/nextjs-wizard.js.map +1 -1
  114. package/dist/src/nextjs/templates.js +380 -40
  115. package/dist/src/nextjs/templates.js.map +1 -1
  116. package/dist/src/nextjs/utils.js +5 -5
  117. package/dist/src/nextjs/utils.js.map +1 -1
  118. package/dist/src/nuxt/nuxt-wizard.js +91 -188
  119. package/dist/src/nuxt/nuxt-wizard.js.map +1 -1
  120. package/dist/src/nuxt/sdk-example.js +68 -137
  121. package/dist/src/nuxt/sdk-example.js.map +1 -1
  122. package/dist/src/nuxt/sdk-setup.d.ts +4 -4
  123. package/dist/src/nuxt/sdk-setup.js +180 -336
  124. package/dist/src/nuxt/sdk-setup.js.map +1 -1
  125. package/dist/src/nuxt/templates.js +195 -18
  126. package/dist/src/nuxt/templates.js.map +1 -1
  127. package/dist/src/nuxt/utils.js +29 -76
  128. package/dist/src/nuxt/utils.js.map +1 -1
  129. package/dist/src/react-native/expo-env-file.js +41 -94
  130. package/dist/src/react-native/expo-env-file.js.map +1 -1
  131. package/dist/src/react-native/expo-metro.d.ts +1 -1
  132. package/dist/src/react-native/expo-metro.js +75 -130
  133. package/dist/src/react-native/expo-metro.js.map +1 -1
  134. package/dist/src/react-native/expo.js +61 -114
  135. package/dist/src/react-native/expo.js.map +1 -1
  136. package/dist/src/react-native/git.js +23 -56
  137. package/dist/src/react-native/git.js.map +1 -1
  138. package/dist/src/react-native/glob.js +3 -3
  139. package/dist/src/react-native/glob.js.map +1 -1
  140. package/dist/src/react-native/gradle.js +4 -4
  141. package/dist/src/react-native/gradle.js.map +1 -1
  142. package/dist/src/react-native/javascript.js +51 -95
  143. package/dist/src/react-native/javascript.js.map +1 -1
  144. package/dist/src/react-native/metro.js +176 -296
  145. package/dist/src/react-native/metro.js.map +1 -1
  146. package/dist/src/react-native/react-native-wizard.js +267 -418
  147. package/dist/src/react-native/react-native-wizard.js.map +1 -1
  148. package/dist/src/react-native/uninstall.js +37 -80
  149. package/dist/src/react-native/uninstall.js.map +1 -1
  150. package/dist/src/react-native/xcode.js +57 -55
  151. package/dist/src/react-native/xcode.js.map +1 -1
  152. package/dist/src/remix/codemods/express-server.js +27 -82
  153. package/dist/src/remix/codemods/express-server.js.map +1 -1
  154. package/dist/src/remix/codemods/handle-error.js +28 -31
  155. package/dist/src/remix/codemods/handle-error.js.map +1 -1
  156. package/dist/src/remix/codemods/root-common.js +11 -11
  157. package/dist/src/remix/codemods/root-common.js.map +1 -1
  158. package/dist/src/remix/codemods/root-v1.js +17 -67
  159. package/dist/src/remix/codemods/root-v1.js.map +1 -1
  160. package/dist/src/remix/codemods/root-v2.js +89 -140
  161. package/dist/src/remix/codemods/root-v2.js.map +1 -1
  162. package/dist/src/remix/remix-wizard.js +181 -343
  163. package/dist/src/remix/remix-wizard.js.map +1 -1
  164. package/dist/src/remix/sdk-example.js +84 -66
  165. package/dist/src/remix/sdk-example.js.map +1 -1
  166. package/dist/src/remix/sdk-setup.js +161 -293
  167. package/dist/src/remix/sdk-setup.js.map +1 -1
  168. package/dist/src/remix/templates.js +10 -2
  169. package/dist/src/remix/templates.js.map +1 -1
  170. package/dist/src/remix/utils.js +13 -14
  171. package/dist/src/remix/utils.js.map +1 -1
  172. package/dist/src/run.js +106 -178
  173. package/dist/src/run.js.map +1 -1
  174. package/dist/src/sourcemaps/sourcemaps-wizard.js +248 -372
  175. package/dist/src/sourcemaps/sourcemaps-wizard.js.map +1 -1
  176. package/dist/src/sourcemaps/tools/angular.js +32 -66
  177. package/dist/src/sourcemaps/tools/angular.js.map +1 -1
  178. package/dist/src/sourcemaps/tools/create-react-app.js +14 -59
  179. package/dist/src/sourcemaps/tools/create-react-app.js.map +1 -1
  180. package/dist/src/sourcemaps/tools/esbuild.js +34 -77
  181. package/dist/src/sourcemaps/tools/esbuild.js.map +1 -1
  182. package/dist/src/sourcemaps/tools/nextjs.d.ts +2 -2
  183. package/dist/src/sourcemaps/tools/nextjs.js +75 -102
  184. package/dist/src/sourcemaps/tools/nextjs.js.map +1 -1
  185. package/dist/src/sourcemaps/tools/remix.js +53 -93
  186. package/dist/src/sourcemaps/tools/remix.js.map +1 -1
  187. package/dist/src/sourcemaps/tools/rollup.js +35 -76
  188. package/dist/src/sourcemaps/tools/rollup.js.map +1 -1
  189. package/dist/src/sourcemaps/tools/sentry-cli.js +157 -289
  190. package/dist/src/sourcemaps/tools/sentry-cli.js.map +1 -1
  191. package/dist/src/sourcemaps/tools/tsc.js +68 -134
  192. package/dist/src/sourcemaps/tools/tsc.js.map +1 -1
  193. package/dist/src/sourcemaps/tools/vite.js +111 -196
  194. package/dist/src/sourcemaps/tools/vite.js.map +1 -1
  195. package/dist/src/sourcemaps/tools/webpack.d.ts +1 -1
  196. package/dist/src/sourcemaps/tools/webpack.js +158 -260
  197. package/dist/src/sourcemaps/tools/webpack.js.map +1 -1
  198. package/dist/src/sourcemaps/utils/detect-tool.js +9 -54
  199. package/dist/src/sourcemaps/utils/detect-tool.js.map +1 -1
  200. package/dist/src/sourcemaps/utils/other-wizards.js +77 -144
  201. package/dist/src/sourcemaps/utils/other-wizards.js.map +1 -1
  202. package/dist/src/sourcemaps/utils/sdk-version.js +112 -191
  203. package/dist/src/sourcemaps/utils/sdk-version.js.map +1 -1
  204. package/dist/src/sveltekit/sdk-example.js +20 -70
  205. package/dist/src/sveltekit/sdk-example.js.map +1 -1
  206. package/dist/src/sveltekit/sdk-setup.js +250 -411
  207. package/dist/src/sveltekit/sdk-setup.js.map +1 -1
  208. package/dist/src/sveltekit/sveltekit-wizard.js +107 -191
  209. package/dist/src/sveltekit/sveltekit-wizard.js.map +1 -1
  210. package/dist/src/sveltekit/templates.js +147 -13
  211. package/dist/src/sveltekit/templates.js.map +1 -1
  212. package/dist/src/sveltekit/utils.js +3 -3
  213. package/dist/src/sveltekit/utils.js.map +1 -1
  214. package/dist/src/telemetry.d.ts +2 -2
  215. package/dist/src/telemetry.js +58 -108
  216. package/dist/src/telemetry.js.map +1 -1
  217. package/dist/src/utils/ast-utils.js +39 -54
  218. package/dist/src/utils/ast-utils.js.map +1 -1
  219. package/dist/src/utils/bash.js +28 -75
  220. package/dist/src/utils/bash.js.map +1 -1
  221. package/dist/src/utils/clack-utils.d.ts +3 -7
  222. package/dist/src/utils/clack-utils.js +688 -1083
  223. package/dist/src/utils/clack-utils.js.map +1 -1
  224. package/dist/src/utils/debug.js +6 -10
  225. package/dist/src/utils/debug.js.map +1 -1
  226. package/dist/src/utils/package-json.js +5 -6
  227. package/dist/src/utils/package-json.js.map +1 -1
  228. package/dist/src/utils/package-manager.js +65 -139
  229. package/dist/src/utils/package-manager.js.map +1 -1
  230. package/dist/src/utils/release-registry.js +12 -59
  231. package/dist/src/utils/release-registry.js.map +1 -1
  232. package/dist/src/utils/semver.js +3 -4
  233. package/dist/src/utils/semver.js.map +1 -1
  234. package/dist/src/utils/sentrycli-utils.js +4 -4
  235. package/dist/src/utils/sentrycli-utils.js.map +1 -1
  236. package/dist/src/utils/url.js +5 -6
  237. package/dist/src/utils/url.js.map +1 -1
  238. package/dist/test/android/code-tools.test.js +18 -18
  239. package/dist/test/android/code-tools.test.js.map +1 -1
  240. package/dist/test/apple/cocoapod.test.js +154 -299
  241. package/dist/test/apple/cocoapod.test.js.map +1 -1
  242. package/dist/test/apple/code-tools.test.js +375 -263
  243. package/dist/test/apple/code-tools.test.js.map +1 -1
  244. package/dist/test/apple/fastfile.test.js +319 -271
  245. package/dist/test/apple/fastfile.test.js.map +1 -1
  246. package/dist/test/apple/templates.test.js +114 -30
  247. package/dist/test/apple/templates.test.js.map +1 -1
  248. package/dist/test/apple/xcode-manager.test.js +230 -234
  249. package/dist/test/apple/xcode-manager.test.js.map +1 -1
  250. package/dist/test/flutter/code-tools.test.js +119 -48
  251. package/dist/test/flutter/code-tools.test.js.map +1 -1
  252. package/dist/test/flutter/templates.test.js +63 -20
  253. package/dist/test/flutter/templates.test.js.map +1 -1
  254. package/dist/test/nextjs/templates.test.js +332 -43
  255. package/dist/test/nextjs/templates.test.js.map +1 -1
  256. package/dist/test/nuxt/templates.test.js +161 -33
  257. package/dist/test/nuxt/templates.test.js.map +1 -1
  258. package/dist/test/react-native/expo-metro.test.js +61 -15
  259. package/dist/test/react-native/expo-metro.test.js.map +1 -1
  260. package/dist/test/react-native/expo.test.js +37 -17
  261. package/dist/test/react-native/expo.test.js.map +1 -1
  262. package/dist/test/react-native/gradle.test.js +260 -28
  263. package/dist/test/react-native/gradle.test.js.map +1 -1
  264. package/dist/test/react-native/javascript.test.js +85 -19
  265. package/dist/test/react-native/javascript.test.js.map +1 -1
  266. package/dist/test/react-native/metro.test.js +261 -187
  267. package/dist/test/react-native/metro.test.js.map +1 -1
  268. package/dist/test/react-native/xcode.test.js +243 -62
  269. package/dist/test/react-native/xcode.test.js.map +1 -1
  270. package/dist/test/remix/client-entry.test.js +81 -21
  271. package/dist/test/remix/client-entry.test.js.map +1 -1
  272. package/dist/test/remix/server-instrumentation.test.js +21 -8
  273. package/dist/test/remix/server-instrumentation.test.js.map +1 -1
  274. package/dist/test/sourcemaps/tools/sentry-cli.test.js +20 -72
  275. package/dist/test/sourcemaps/tools/sentry-cli.test.js.map +1 -1
  276. package/dist/test/sourcemaps/tools/tsc.test.js +142 -68
  277. package/dist/test/sourcemaps/tools/tsc.test.js.map +1 -1
  278. package/dist/test/sourcemaps/tools/vite.test.js +106 -75
  279. package/dist/test/sourcemaps/tools/vite.test.js.map +1 -1
  280. package/dist/test/sourcemaps/tools/webpack.test.js +226 -102
  281. package/dist/test/sourcemaps/tools/webpack.test.js.map +1 -1
  282. package/dist/test/sveltekit/templates.test.js +117 -18
  283. package/dist/test/sveltekit/templates.test.js.map +1 -1
  284. package/dist/test/utils/ast-utils.test.js +99 -58
  285. package/dist/test/utils/ast-utils.test.js.map +1 -1
  286. package/dist/test/utils/clack-utils.test.js +142 -247
  287. package/dist/test/utils/clack-utils.test.js.map +1 -1
  288. package/package.json +16 -9
  289. package/bin.ts +0 -138
  290. package/codecov.yml +0 -15
  291. package/dist/package.json +0 -128
  292. package/e2e-tests/.env.example +0 -11
  293. package/e2e-tests/README.md +0 -63
  294. package/e2e-tests/jest.config.ts +0 -22
  295. package/e2e-tests/package.json +0 -14
  296. package/e2e-tests/run.sh +0 -15
  297. package/e2e-tests/test-applications/apple/damaged-missing-configuration-list/Project.xcodeproj/project.pbxproj +0 -52
  298. package/e2e-tests/test-applications/apple/damaged-missing-configuration-list/Project.xcodeproj/xcshareddata/xcschemes/Project1.xcscheme +0 -78
  299. package/e2e-tests/test-applications/apple/no-targets/Project.xcodeproj/project.pbxproj +0 -62
  300. package/e2e-tests/test-applications/apple/no-targets/Project.xcodeproj/xcshareddata/xcschemes/Project1.xcscheme +0 -78
  301. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project.xcodeproj/project.pbxproj +0 -470
  302. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project.xcodeproj/xcshareddata/xcschemes/Project1.xcscheme +0 -78
  303. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project1/ContentView.swift +0 -7
  304. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project1/Project1App.swift +0 -10
  305. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project2/ContentView.swift +0 -7
  306. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project2/Project2App.swift +0 -10
  307. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Project.xcodeproj/project.pbxproj +0 -382
  308. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Project.xcodeproj/xcshareddata/xcschemes/Project.xcscheme +0 -78
  309. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Sources/ContentView.swift +0 -7
  310. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Sources/MainApp.swift +0 -10
  311. package/e2e-tests/test-applications/flutter-test-app/.metadata +0 -45
  312. package/e2e-tests/test-applications/flutter-test-app/README.md +0 -16
  313. package/e2e-tests/test-applications/flutter-test-app/analysis_options.yaml +0 -28
  314. package/e2e-tests/test-applications/flutter-test-app/android/app/build.gradle +0 -44
  315. package/e2e-tests/test-applications/flutter-test-app/android/app/src/debug/AndroidManifest.xml +0 -7
  316. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/AndroidManifest.xml +0 -45
  317. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/kotlin/com/example/flutter_magic/MainActivity.kt +0 -5
  318. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/drawable/launch_background.xml +0 -12
  319. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/drawable-v21/launch_background.xml +0 -12
  320. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  321. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  322. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  323. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  324. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  325. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/values/styles.xml +0 -18
  326. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/values-night/styles.xml +0 -18
  327. package/e2e-tests/test-applications/flutter-test-app/android/app/src/profile/AndroidManifest.xml +0 -7
  328. package/e2e-tests/test-applications/flutter-test-app/android/build.gradle +0 -18
  329. package/e2e-tests/test-applications/flutter-test-app/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  330. package/e2e-tests/test-applications/flutter-test-app/android/gradle.properties +0 -3
  331. package/e2e-tests/test-applications/flutter-test-app/android/settings.gradle +0 -25
  332. package/e2e-tests/test-applications/flutter-test-app/lib/main.dart +0 -125
  333. package/e2e-tests/test-applications/flutter-test-app/linux/CMakeLists.txt +0 -145
  334. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/CMakeLists.txt +0 -88
  335. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/generated_plugin_registrant.cc +0 -11
  336. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/generated_plugin_registrant.h +0 -15
  337. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/generated_plugins.cmake +0 -23
  338. package/e2e-tests/test-applications/flutter-test-app/linux/main.cc +0 -6
  339. package/e2e-tests/test-applications/flutter-test-app/linux/my_application.cc +0 -124
  340. package/e2e-tests/test-applications/flutter-test-app/linux/my_application.h +0 -18
  341. package/e2e-tests/test-applications/flutter-test-app/macos/Flutter/Flutter-Debug.xcconfig +0 -2
  342. package/e2e-tests/test-applications/flutter-test-app/macos/Flutter/Flutter-Release.xcconfig +0 -2
  343. package/e2e-tests/test-applications/flutter-test-app/macos/Flutter/GeneratedPluginRegistrant.swift +0 -10
  344. package/e2e-tests/test-applications/flutter-test-app/macos/Podfile +0 -43
  345. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/AppDelegate.swift +0 -9
  346. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -68
  347. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png +0 -0
  348. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png +0 -0
  349. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png +0 -0
  350. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png +0 -0
  351. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png +0 -0
  352. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png +0 -0
  353. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png +0 -0
  354. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Base.lproj/MainMenu.xib +0 -343
  355. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/AppInfo.xcconfig +0 -14
  356. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/Debug.xcconfig +0 -2
  357. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/Release.xcconfig +0 -2
  358. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/Warnings.xcconfig +0 -13
  359. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/DebugProfile.entitlements +0 -12
  360. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Info.plist +0 -32
  361. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/MainFlutterWindow.swift +0 -15
  362. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Release.entitlements +0 -8
  363. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcodeproj/project.pbxproj +0 -705
  364. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  365. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +0 -98
  366. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcworkspace/contents.xcworkspacedata +0 -7
  367. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  368. package/e2e-tests/test-applications/flutter-test-app/macos/RunnerTests/RunnerTests.swift +0 -12
  369. package/e2e-tests/test-applications/flutter-test-app/pubspec.lock +0 -213
  370. package/e2e-tests/test-applications/flutter-test-app/pubspec.yaml +0 -89
  371. package/e2e-tests/test-applications/flutter-test-app/test/widget_test.dart +0 -30
  372. package/e2e-tests/test-applications/flutter-test-app/web/favicon.png +0 -0
  373. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-192.png +0 -0
  374. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-512.png +0 -0
  375. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-maskable-192.png +0 -0
  376. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-maskable-512.png +0 -0
  377. package/e2e-tests/test-applications/flutter-test-app/web/index.html +0 -38
  378. package/e2e-tests/test-applications/flutter-test-app/web/manifest.json +0 -35
  379. package/e2e-tests/test-applications/flutter-test-app/windows/CMakeLists.txt +0 -108
  380. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/CMakeLists.txt +0 -109
  381. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/generated_plugin_registrant.cc +0 -11
  382. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/generated_plugin_registrant.h +0 -15
  383. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/generated_plugins.cmake +0 -23
  384. package/e2e-tests/test-applications/flutter-test-app/windows/runner/CMakeLists.txt +0 -40
  385. package/e2e-tests/test-applications/flutter-test-app/windows/runner/Runner.rc +0 -121
  386. package/e2e-tests/test-applications/flutter-test-app/windows/runner/flutter_window.cpp +0 -71
  387. package/e2e-tests/test-applications/flutter-test-app/windows/runner/flutter_window.h +0 -33
  388. package/e2e-tests/test-applications/flutter-test-app/windows/runner/main.cpp +0 -43
  389. package/e2e-tests/test-applications/flutter-test-app/windows/runner/resource.h +0 -16
  390. package/e2e-tests/test-applications/flutter-test-app/windows/runner/resources/app_icon.ico +0 -0
  391. package/e2e-tests/test-applications/flutter-test-app/windows/runner/runner.exe.manifest +0 -14
  392. package/e2e-tests/test-applications/flutter-test-app/windows/runner/utils.cpp +0 -65
  393. package/e2e-tests/test-applications/flutter-test-app/windows/runner/utils.h +0 -19
  394. package/e2e-tests/test-applications/flutter-test-app/windows/runner/win32_window.cpp +0 -288
  395. package/e2e-tests/test-applications/flutter-test-app/windows/runner/win32_window.h +0 -102
  396. package/e2e-tests/test-applications/nextjs-test-app/next.config.mjs +0 -4
  397. package/e2e-tests/test-applications/nextjs-test-app/package.json +0 -22
  398. package/e2e-tests/test-applications/nextjs-test-app/src/app/layout.tsx +0 -20
  399. package/e2e-tests/test-applications/nextjs-test-app/src/app/page.tsx +0 -90
  400. package/e2e-tests/test-applications/nuxt-3-test-app/README.md +0 -75
  401. package/e2e-tests/test-applications/nuxt-3-test-app/nuxt.config.ts +0 -5
  402. package/e2e-tests/test-applications/nuxt-3-test-app/package.json +0 -18
  403. package/e2e-tests/test-applications/nuxt-3-test-app/public/favicon.ico +0 -0
  404. package/e2e-tests/test-applications/nuxt-3-test-app/public/robots.txt +0 -1
  405. package/e2e-tests/test-applications/nuxt-4-test-app/README.md +0 -75
  406. package/e2e-tests/test-applications/nuxt-4-test-app/nuxt.config.ts +0 -6
  407. package/e2e-tests/test-applications/nuxt-4-test-app/package.json +0 -18
  408. package/e2e-tests/test-applications/nuxt-4-test-app/public/favicon.ico +0 -0
  409. package/e2e-tests/test-applications/nuxt-4-test-app/public/robots.txt +0 -1
  410. package/e2e-tests/test-applications/remix-test-app/app/entry.client.tsx +0 -18
  411. package/e2e-tests/test-applications/remix-test-app/app/entry.server.tsx +0 -140
  412. package/e2e-tests/test-applications/remix-test-app/app/root.tsx +0 -30
  413. package/e2e-tests/test-applications/remix-test-app/app/routes/_index.tsx +0 -48
  414. package/e2e-tests/test-applications/remix-test-app/app/tailwind.css +0 -3
  415. package/e2e-tests/test-applications/remix-test-app/package.json +0 -37
  416. package/e2e-tests/test-applications/remix-test-app/postcss.config.js +0 -6
  417. package/e2e-tests/test-applications/remix-test-app/tailwind.config.ts +0 -9
  418. package/e2e-tests/test-applications/remix-test-app/vite.config.ts +0 -16
  419. package/e2e-tests/test-applications/sveltekit-test-app/package.json +0 -21
  420. package/e2e-tests/test-applications/sveltekit-test-app/src/app.d.ts +0 -13
  421. package/e2e-tests/test-applications/sveltekit-test-app/src/app.html +0 -11
  422. package/e2e-tests/test-applications/sveltekit-test-app/src/lib/index.ts +0 -1
  423. package/e2e-tests/test-applications/sveltekit-test-app/src/routes/+page.svelte +0 -2
  424. package/e2e-tests/test-applications/sveltekit-test-app/svelte.config.js +0 -18
  425. package/e2e-tests/test-applications/sveltekit-test-app/vite.config.ts +0 -6
  426. package/e2e-tests/tests/flutter.test.ts +0 -127
  427. package/e2e-tests/tests/nextjs.test.ts +0 -161
  428. package/e2e-tests/tests/nuxt-3.test.ts +0 -189
  429. package/e2e-tests/tests/nuxt-4.test.ts +0 -188
  430. package/e2e-tests/tests/remix.test.ts +0 -277
  431. package/e2e-tests/tests/sveltekit.test.ts +0 -284
  432. package/e2e-tests/utils/index.ts +0 -438
  433. package/index.ts +0 -2
  434. package/lib/Constants.ts +0 -118
  435. package/lib/Helper/BottomBar.ts +0 -28
  436. package/lib/Helper/Env.ts +0 -7
  437. package/lib/Helper/File.ts +0 -65
  438. package/lib/Helper/Git.ts +0 -39
  439. package/lib/Helper/Logging.ts +0 -44
  440. package/lib/Helper/MergeConfig.ts +0 -19
  441. package/lib/Helper/Package.ts +0 -78
  442. package/lib/Helper/SentryCli.ts +0 -148
  443. package/lib/Helper/Wizard.ts +0 -59
  444. package/lib/Helper/__tests__/File.ts +0 -15
  445. package/lib/Helper/__tests__/MergeConfig.ts +0 -98
  446. package/lib/Helper/__tests__/SentryCli.ts +0 -86
  447. package/lib/Helper/test-fixtures/next.config.1-merged.js +0 -18
  448. package/lib/Helper/test-fixtures/next.config.1.js +0 -6
  449. package/lib/Helper/test-fixtures/next.config.2.js +0 -8
  450. package/lib/Helper/test-fixtures/next.config.3-merged.js +0 -21
  451. package/lib/Helper/test-fixtures/next.config.3.js +0 -9
  452. package/lib/Helper/test-fixtures/next.config.4-merged.js +0 -21
  453. package/lib/Helper/test-fixtures/next.config.4.js +0 -9
  454. package/lib/Setup.ts +0 -41
  455. package/lib/Steps/BaseStep.ts +0 -25
  456. package/lib/Steps/ChooseIntegration.ts +0 -112
  457. package/lib/Steps/ConfigureProject.ts +0 -10
  458. package/lib/Steps/Initial.ts +0 -44
  459. package/lib/Steps/Integrations/BaseIntegration.ts +0 -48
  460. package/lib/Steps/Integrations/Cordova.ts +0 -289
  461. package/lib/Steps/Integrations/Electron.ts +0 -161
  462. package/lib/Steps/Integrations/MobileProject.ts +0 -69
  463. package/lib/Steps/OpenSentry.ts +0 -75
  464. package/lib/Steps/PromptForParameters.ts +0 -207
  465. package/lib/Steps/Result.ts +0 -22
  466. package/lib/Steps/SentryProjectSelector.ts +0 -82
  467. package/lib/Steps/ShouldConfigure.ts +0 -10
  468. package/lib/Steps/WaitForSentry.ts +0 -50
  469. package/lib/Steps/Welcome.ts +0 -21
  470. package/lib/Steps/index.ts +0 -10
  471. package/lib/__tests__/Env.ts +0 -29
  472. package/scripts/NextJs/configs/_error.js +0 -39
  473. package/scripts/NextJs/configs/next.config.js +0 -36
  474. package/scripts/NextJs/configs/next.config.template.js +0 -12
  475. package/scripts/NextJs/configs/sentry.client.config.js +0 -17
  476. package/scripts/NextJs/configs/sentry.edge.config.js +0 -17
  477. package/scripts/NextJs/configs/sentry.server.config.js +0 -17
  478. package/scripts/NextJs/sentry_sample_error.js +0 -47
  479. package/scripts/craft-pre-release.sh +0 -10
  480. package/src/android/android-wizard.ts +0 -192
  481. package/src/android/code-tools.ts +0 -170
  482. package/src/android/gradle.ts +0 -250
  483. package/src/android/manifest.ts +0 -180
  484. package/src/android/templates.ts +0 -86
  485. package/src/apple/apple-wizard.ts +0 -269
  486. package/src/apple/cocoapod.ts +0 -73
  487. package/src/apple/code-tools.ts +0 -147
  488. package/src/apple/fastlane.ts +0 -170
  489. package/src/apple/templates.ts +0 -65
  490. package/src/apple/xcode-manager.ts +0 -404
  491. package/src/flutter/code-tools.ts +0 -284
  492. package/src/flutter/flutter-wizard.ts +0 -164
  493. package/src/flutter/templates.ts +0 -90
  494. package/src/nextjs/nextjs-wizard.ts +0 -1007
  495. package/src/nextjs/templates.ts +0 -526
  496. package/src/nextjs/utils.ts +0 -21
  497. package/src/nuxt/nuxt-wizard.ts +0 -188
  498. package/src/nuxt/sdk-example.ts +0 -135
  499. package/src/nuxt/sdk-setup.ts +0 -349
  500. package/src/nuxt/templates.ts +0 -303
  501. package/src/nuxt/types.ts +0 -8
  502. package/src/nuxt/utils.ts +0 -42
  503. package/src/react-native/expo-env-file.ts +0 -55
  504. package/src/react-native/expo-metro.ts +0 -212
  505. package/src/react-native/expo.ts +0 -175
  506. package/src/react-native/git.ts +0 -25
  507. package/src/react-native/glob.ts +0 -13
  508. package/src/react-native/gradle.ts +0 -26
  509. package/src/react-native/javascript.ts +0 -103
  510. package/src/react-native/metro.ts +0 -599
  511. package/src/react-native/options.ts +0 -5
  512. package/src/react-native/react-native-wizard.ts +0 -513
  513. package/src/react-native/uninstall.ts +0 -110
  514. package/src/react-native/xcode.ts +0 -302
  515. package/src/remix/codemods/express-server.ts +0 -44
  516. package/src/remix/codemods/handle-error.ts +0 -118
  517. package/src/remix/codemods/root-common.ts +0 -63
  518. package/src/remix/codemods/root-v1.ts +0 -41
  519. package/src/remix/codemods/root-v2.ts +0 -153
  520. package/src/remix/remix-wizard.ts +0 -261
  521. package/src/remix/sdk-example.ts +0 -120
  522. package/src/remix/sdk-setup.ts +0 -546
  523. package/src/remix/templates.ts +0 -11
  524. package/src/remix/utils.ts +0 -96
  525. package/src/run.ts +0 -204
  526. package/src/sourcemaps/sourcemaps-wizard.ts +0 -364
  527. package/src/sourcemaps/tools/angular.ts +0 -42
  528. package/src/sourcemaps/tools/create-react-app.ts +0 -19
  529. package/src/sourcemaps/tools/esbuild.ts +0 -65
  530. package/src/sourcemaps/tools/nextjs.ts +0 -114
  531. package/src/sourcemaps/tools/remix.ts +0 -90
  532. package/src/sourcemaps/tools/rollup.ts +0 -67
  533. package/src/sourcemaps/tools/sentry-cli.ts +0 -287
  534. package/src/sourcemaps/tools/tsc.ts +0 -144
  535. package/src/sourcemaps/tools/types.ts +0 -11
  536. package/src/sourcemaps/tools/vite.ts +0 -300
  537. package/src/sourcemaps/tools/webpack.ts +0 -383
  538. package/src/sourcemaps/utils/detect-tool.ts +0 -46
  539. package/src/sourcemaps/utils/other-wizards.ts +0 -167
  540. package/src/sourcemaps/utils/sdk-version.ts +0 -266
  541. package/src/sveltekit/sdk-example.ts +0 -56
  542. package/src/sveltekit/sdk-setup.ts +0 -667
  543. package/src/sveltekit/sveltekit-wizard.ts +0 -192
  544. package/src/sveltekit/templates.ts +0 -185
  545. package/src/sveltekit/utils.ts +0 -50
  546. package/src/telemetry.ts +0 -124
  547. package/src/utils/ast-utils.ts +0 -270
  548. package/src/utils/bash.ts +0 -57
  549. package/src/utils/clack-utils.ts +0 -1533
  550. package/src/utils/debug.ts +0 -20
  551. package/src/utils/package-json.ts +0 -51
  552. package/src/utils/package-manager.ts +0 -172
  553. package/src/utils/release-registry.ts +0 -19
  554. package/src/utils/semver.ts +0 -33
  555. package/src/utils/sentrycli-utils.ts +0 -24
  556. package/src/utils/string.ts +0 -7
  557. package/src/utils/types.ts +0 -77
  558. package/src/utils/url.ts +0 -27
  559. package/src/utils/vendor/is-unicorn-supported.ts +0 -29
  560. package/test/android/code-tools.test.ts +0 -49
  561. package/test/apple/cocoapod.test.ts +0 -306
  562. package/test/apple/code-tools.test.ts +0 -1042
  563. package/test/apple/fastfile.test.ts +0 -550
  564. package/test/apple/templates.test.ts +0 -191
  565. package/test/apple/xcode-manager.test.ts +0 -1066
  566. package/test/flutter/code-tools.test.ts +0 -212
  567. package/test/flutter/templates.test.ts +0 -100
  568. package/test/nextjs/templates.test.ts +0 -429
  569. package/test/nuxt/templates.test.ts +0 -255
  570. package/test/react-native/expo-metro.test.ts +0 -81
  571. package/test/react-native/expo.test.ts +0 -86
  572. package/test/react-native/gradle.test.ts +0 -310
  573. package/test/react-native/javascript.test.ts +0 -134
  574. package/test/react-native/metro.test.ts +0 -396
  575. package/test/react-native/xcode.test.ts +0 -401
  576. package/test/remix/client-entry.test.ts +0 -122
  577. package/test/remix/server-instrumentation.test.ts +0 -36
  578. package/test/sourcemaps/tools/sentry-cli.test.ts +0 -57
  579. package/test/sourcemaps/tools/tsc.test.ts +0 -181
  580. package/test/sourcemaps/tools/vite.test.ts +0 -149
  581. package/test/sourcemaps/tools/webpack.test.ts +0 -303
  582. package/test/sveltekit/templates.test.ts +0 -152
  583. package/test/utils/ast-utils.test.ts +0 -264
  584. package/test/utils/clack-utils.test.ts +0 -234
  585. package/types/xcode.d.ts +0 -526
@@ -22,50 +22,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
61
25
  Object.defineProperty(exports, "__esModule", { value: true });
62
- var fs = __importStar(require("fs"));
63
- var vite_1 = require("../../../src/sourcemaps/tools/vite");
26
+ const fs = __importStar(require("fs"));
27
+ const vite_1 = require("../../../src/sourcemaps/tools/vite");
64
28
  function updateFileContent(content) {
65
29
  fileContent = content;
66
30
  }
67
- var fileContent = '';
68
- jest.mock('@clack/prompts', function () {
31
+ let fileContent = '';
32
+ jest.mock('@clack/prompts', () => {
69
33
  return {
70
34
  log: {
71
35
  info: jest.fn(),
@@ -75,58 +39,125 @@ jest.mock('@clack/prompts', function () {
75
39
  });
76
40
  jest
77
41
  .spyOn(fs.promises, 'readFile')
78
- .mockImplementation(function () { return Promise.resolve(fileContent); });
79
- var writeFileSpy = jest
42
+ .mockImplementation(() => Promise.resolve(fileContent));
43
+ const writeFileSpy = jest
80
44
  .spyOn(fs.promises, 'writeFile')
81
- .mockImplementation(function () { return Promise.resolve(void 0); });
82
- describe('addVitePluginToConfig', function () {
83
- afterEach(function () {
45
+ .mockImplementation(() => Promise.resolve(void 0));
46
+ describe('addVitePluginToConfig', () => {
47
+ afterEach(() => {
84
48
  fileContent = '';
85
49
  jest.clearAllMocks();
86
50
  });
87
51
  it.each([
88
52
  [
89
53
  'no build options',
90
- "\nexport default defineConfig({\n plugins: [\n vue(),\n ],\n})\n",
91
- "import { sentryVitePlugin } from \"@sentry/vite-plugin\";\nexport default defineConfig({\n plugins: [vue(), sentryVitePlugin({\n org: \"my-org\",\n project: \"my-project\"\n })],\n\n build: {\n sourcemap: true\n }\n})",
54
+ `
55
+ export default defineConfig({
56
+ plugins: [
57
+ vue(),
58
+ ],
59
+ })
60
+ `,
61
+ `import { sentryVitePlugin } from "@sentry/vite-plugin";
62
+ export default defineConfig({
63
+ plugins: [vue(), sentryVitePlugin({
64
+ org: "my-org",
65
+ project: "my-project"
66
+ })],
67
+
68
+ build: {
69
+ sourcemap: true
70
+ }
71
+ })`,
92
72
  ],
93
73
  [
94
74
  'no build.sourcemap options',
95
- "\nexport default defineConfig({\n plugins: [\n vue(),\n ],\n build: {\n test: 1, \n }\n})\n ",
96
- "import { sentryVitePlugin } from \"@sentry/vite-plugin\";\nexport default defineConfig({\n plugins: [vue(), sentryVitePlugin({\n org: \"my-org\",\n project: \"my-project\"\n })],\n build: {\n test: 1,\n sourcemap: true\n }\n})",
75
+ `
76
+ export default defineConfig({
77
+ plugins: [
78
+ vue(),
79
+ ],
80
+ build: {
81
+ test: 1,
82
+ }
83
+ })
84
+ `,
85
+ `import { sentryVitePlugin } from "@sentry/vite-plugin";
86
+ export default defineConfig({
87
+ plugins: [vue(), sentryVitePlugin({
88
+ org: "my-org",
89
+ project: "my-project"
90
+ })],
91
+ build: {
92
+ test: 1,
93
+ sourcemap: true
94
+ }
95
+ })`,
97
96
  ],
98
97
  [
99
98
  'keep sourcemap: "hidden"',
100
- "\nexport default {\n plugins: [\n vue(),\n ],\n build: {\n sourcemap: \"hidden\",\n }\n}\n ",
101
- "import { sentryVitePlugin } from \"@sentry/vite-plugin\";\nexport default {\n plugins: [vue(), sentryVitePlugin({\n org: \"my-org\",\n project: \"my-project\"\n })],\n build: {\n sourcemap: \"hidden\",\n }\n}",
99
+ `
100
+ export default {
101
+ plugins: [
102
+ vue(),
103
+ ],
104
+ build: {
105
+ sourcemap: "hidden",
106
+ }
107
+ }
108
+ `,
109
+ `import { sentryVitePlugin } from "@sentry/vite-plugin";
110
+ export default {
111
+ plugins: [vue(), sentryVitePlugin({
112
+ org: "my-org",
113
+ project: "my-project"
114
+ })],
115
+ build: {
116
+ sourcemap: "hidden",
117
+ }
118
+ }`,
102
119
  ],
103
120
  [
104
121
  'rewrite sourcemap: false to true',
105
- "\nconst cfg = {\n plugins: [\n vue(),\n ],\n build: {\n sourcemap: false,\n }\n}\n\nexport default cfg;\n ",
106
- "import { sentryVitePlugin } from \"@sentry/vite-plugin\";\nconst cfg = {\n plugins: [vue(), sentryVitePlugin({\n org: \"my-org\",\n project: \"my-project\"\n })],\n\n build: {\n sourcemap: true,\n }\n}\n\nexport default cfg;",
122
+ `
123
+ const cfg = {
124
+ plugins: [
125
+ vue(),
126
+ ],
127
+ build: {
128
+ sourcemap: false,
129
+ }
130
+ }
131
+
132
+ export default cfg;
133
+ `,
134
+ `import { sentryVitePlugin } from "@sentry/vite-plugin";
135
+ const cfg = {
136
+ plugins: [vue(), sentryVitePlugin({
137
+ org: "my-org",
138
+ project: "my-project"
139
+ })],
140
+
141
+ build: {
142
+ sourcemap: true,
143
+ }
144
+ }
145
+
146
+ export default cfg;`,
107
147
  ],
108
- ])('adds the plugin and enables source maps generation (%s)', function (_, originalCode, expectedCode) { return __awaiter(void 0, void 0, void 0, function () {
109
- var addedCode, _a, fileContent;
110
- return __generator(this, function (_b) {
111
- switch (_b.label) {
112
- case 0:
113
- updateFileContent(originalCode);
114
- return [4 /*yield*/, (0, vite_1.addVitePluginToConfig)('', {
115
- authToken: '',
116
- orgSlug: 'my-org',
117
- projectSlug: 'my-project',
118
- selfHosted: false,
119
- url: 'https://sentry.io/',
120
- })];
121
- case 1:
122
- addedCode = _b.sent();
123
- expect(writeFileSpy).toHaveBeenCalledTimes(1);
124
- _a = writeFileSpy.mock.calls[0], fileContent = _a[1];
125
- expect(fileContent).toBe(expectedCode);
126
- expect(addedCode).toBe(true);
127
- return [2 /*return*/];
128
- }
148
+ ])('adds the plugin and enables source maps generation (%s)', async (_, originalCode, expectedCode) => {
149
+ updateFileContent(originalCode);
150
+ const addedCode = await (0, vite_1.addVitePluginToConfig)('', {
151
+ authToken: '',
152
+ orgSlug: 'my-org',
153
+ projectSlug: 'my-project',
154
+ selfHosted: false,
155
+ url: 'https://sentry.io/',
129
156
  });
130
- }); });
157
+ expect(writeFileSpy).toHaveBeenCalledTimes(1);
158
+ const [[, fileContent]] = writeFileSpy.mock.calls;
159
+ expect(fileContent).toBe(expectedCode);
160
+ expect(addedCode).toBe(true);
161
+ });
131
162
  });
132
163
  //# sourceMappingURL=vite.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vite.test.js","sourceRoot":"","sources":["../../../../test/sourcemaps/tools/vite.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,2DAA2E;AAE3E,SAAS,iBAAiB,CAAC,OAAe;IACxC,WAAW,GAAG,OAAO,CAAC;AACxB,CAAC;AAED,IAAI,WAAW,GAAG,EAAE,CAAC;AAErB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;IAC1B,OAAO;QACL,GAAG,EAAE;YACH,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;YACf,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;SACnB;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI;KACD,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;KAC9B,kBAAkB,CAAC,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAA5B,CAA4B,CAAC,CAAC;AAE1D,IAAM,YAAY,GAAG,IAAI;KACtB,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;KAC/B,kBAAkB,CAAC,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAvB,CAAuB,CAAC,CAAC;AAErD,QAAQ,CAAC,uBAAuB,EAAE;IAChC,SAAS,CAAC;QACR,WAAW,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN;YACE,kBAAkB;YAClB,uEAML;YACK,wOAUH;SACE;QACD;YACE,4BAA4B;YAC5B,0GASH;YACG,oPAUH;SACE;QACD;YACE,0BAA0B;YAC1B,0GASD;YACC,+NASJ;SACG;QACD;YACE,kCAAkC;YAClC,2HAWC;YACD,+OAYc;SACf;KACF,CAAC,CACA,yDAAyD,EACzD,UAAO,CAAC,EAAE,YAAY,EAAE,YAAY;;;;;oBAClC,iBAAiB,CAAC,YAAY,CAAC,CAAC;oBAEd,qBAAM,IAAA,4BAAqB,EAAC,EAAE,EAAE;4BAChD,SAAS,EAAE,EAAE;4BACb,OAAO,EAAE,QAAQ;4BACjB,WAAW,EAAE,YAAY;4BACzB,UAAU,EAAE,KAAK;4BACjB,GAAG,EAAE,oBAAoB;yBAC1B,CAAC,EAAA;;oBANI,SAAS,GAAG,SAMhB;oBAEF,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;oBACvC,KAAmB,YAAY,CAAC,IAAI,CAAC,KAAK,GAA3B,EAAZ,WAAW,QAAA,CAA6B;oBAClD,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACvC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;;SAC9B,CACF,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as fs from 'fs';\nimport { addVitePluginToConfig } from '../../../src/sourcemaps/tools/vite';\n\nfunction updateFileContent(content: string): void {\n fileContent = content;\n}\n\nlet fileContent = '';\n\njest.mock('@clack/prompts', () => {\n return {\n log: {\n info: jest.fn(),\n success: jest.fn(),\n },\n };\n});\n\njest\n .spyOn(fs.promises, 'readFile')\n .mockImplementation(() => Promise.resolve(fileContent));\n\nconst writeFileSpy = jest\n .spyOn(fs.promises, 'writeFile')\n .mockImplementation(() => Promise.resolve(void 0));\n\ndescribe('addVitePluginToConfig', () => {\n afterEach(() => {\n fileContent = '';\n jest.clearAllMocks();\n });\n\n it.each([\n [\n 'no build options',\n `\nexport default defineConfig({\n plugins: [\n vue(),\n ],\n})\n`,\n `import { sentryVitePlugin } from \"@sentry/vite-plugin\";\nexport default defineConfig({\n plugins: [vue(), sentryVitePlugin({\n org: \"my-org\",\n project: \"my-project\"\n })],\n\n build: {\n sourcemap: true\n }\n})`,\n ],\n [\n 'no build.sourcemap options',\n `\nexport default defineConfig({\n plugins: [\n vue(),\n ],\n build: {\n test: 1, \n }\n})\n `,\n `import { sentryVitePlugin } from \"@sentry/vite-plugin\";\nexport default defineConfig({\n plugins: [vue(), sentryVitePlugin({\n org: \"my-org\",\n project: \"my-project\"\n })],\n build: {\n test: 1,\n sourcemap: true\n }\n})`,\n ],\n [\n 'keep sourcemap: \"hidden\"',\n `\nexport default {\n plugins: [\n vue(),\n ],\n build: {\n sourcemap: \"hidden\",\n }\n}\n `,\n `import { sentryVitePlugin } from \"@sentry/vite-plugin\";\nexport default {\n plugins: [vue(), sentryVitePlugin({\n org: \"my-org\",\n project: \"my-project\"\n })],\n build: {\n sourcemap: \"hidden\",\n }\n}`,\n ],\n [\n 'rewrite sourcemap: false to true',\n `\nconst cfg = {\n plugins: [\n vue(),\n ],\n build: {\n sourcemap: false,\n }\n}\n\nexport default cfg;\n `,\n `import { sentryVitePlugin } from \"@sentry/vite-plugin\";\nconst cfg = {\n plugins: [vue(), sentryVitePlugin({\n org: \"my-org\",\n project: \"my-project\"\n })],\n\n build: {\n sourcemap: true,\n }\n}\n\nexport default cfg;`,\n ],\n ])(\n 'adds the plugin and enables source maps generation (%s)',\n async (_, originalCode, expectedCode) => {\n updateFileContent(originalCode);\n\n const addedCode = await addVitePluginToConfig('', {\n authToken: '',\n orgSlug: 'my-org',\n projectSlug: 'my-project',\n selfHosted: false,\n url: 'https://sentry.io/',\n });\n\n expect(writeFileSpy).toHaveBeenCalledTimes(1);\n const [[, fileContent]] = writeFileSpy.mock.calls;\n expect(fileContent).toBe(expectedCode);\n expect(addedCode).toBe(true);\n },\n );\n});\n"]}
1
+ {"version":3,"file":"vite.test.js","sourceRoot":"","sources":["../../../../test/sourcemaps/tools/vite.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,6DAA2E;AAE3E,SAAS,iBAAiB,CAAC,OAAe;IACxC,WAAW,GAAG,OAAO,CAAC;AACxB,CAAC;AAED,IAAI,WAAW,GAAG,EAAE,CAAC;AAErB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC/B,OAAO;QACL,GAAG,EAAE;YACH,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;YACf,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;SACnB;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI;KACD,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;KAC9B,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAE1D,MAAM,YAAY,GAAG,IAAI;KACtB,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;KAC/B,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAErD,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN;YACE,kBAAkB;YAClB;;;;;;CAML;YACK;;;;;;;;;;GAUH;SACE;QACD;YACE,4BAA4B;YAC5B;;;;;;;;;GASH;YACG;;;;;;;;;;GAUH;SACE;QACD;YACE,0BAA0B;YAC1B;;;;;;;;;KASD;YACC;;;;;;;;;EASJ;SACG;QACD;YACE,kCAAkC;YAClC;;;;;;;;;;;OAWC;YACD;;;;;;;;;;;;oBAYc;SACf;KACF,CAAC,CACA,yDAAyD,EACzD,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE;QACtC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAEhC,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAqB,EAAC,EAAE,EAAE;YAChD,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,YAAY;YACzB,UAAU,EAAE,KAAK;YACjB,GAAG,EAAE,oBAAoB;SAC1B,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAClD,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as fs from 'fs';\nimport { addVitePluginToConfig } from '../../../src/sourcemaps/tools/vite';\n\nfunction updateFileContent(content: string): void {\n fileContent = content;\n}\n\nlet fileContent = '';\n\njest.mock('@clack/prompts', () => {\n return {\n log: {\n info: jest.fn(),\n success: jest.fn(),\n },\n };\n});\n\njest\n .spyOn(fs.promises, 'readFile')\n .mockImplementation(() => Promise.resolve(fileContent));\n\nconst writeFileSpy = jest\n .spyOn(fs.promises, 'writeFile')\n .mockImplementation(() => Promise.resolve(void 0));\n\ndescribe('addVitePluginToConfig', () => {\n afterEach(() => {\n fileContent = '';\n jest.clearAllMocks();\n });\n\n it.each([\n [\n 'no build options',\n `\nexport default defineConfig({\n plugins: [\n vue(),\n ],\n})\n`,\n `import { sentryVitePlugin } from \"@sentry/vite-plugin\";\nexport default defineConfig({\n plugins: [vue(), sentryVitePlugin({\n org: \"my-org\",\n project: \"my-project\"\n })],\n\n build: {\n sourcemap: true\n }\n})`,\n ],\n [\n 'no build.sourcemap options',\n `\nexport default defineConfig({\n plugins: [\n vue(),\n ],\n build: {\n test: 1, \n }\n})\n `,\n `import { sentryVitePlugin } from \"@sentry/vite-plugin\";\nexport default defineConfig({\n plugins: [vue(), sentryVitePlugin({\n org: \"my-org\",\n project: \"my-project\"\n })],\n build: {\n test: 1,\n sourcemap: true\n }\n})`,\n ],\n [\n 'keep sourcemap: \"hidden\"',\n `\nexport default {\n plugins: [\n vue(),\n ],\n build: {\n sourcemap: \"hidden\",\n }\n}\n `,\n `import { sentryVitePlugin } from \"@sentry/vite-plugin\";\nexport default {\n plugins: [vue(), sentryVitePlugin({\n org: \"my-org\",\n project: \"my-project\"\n })],\n build: {\n sourcemap: \"hidden\",\n }\n}`,\n ],\n [\n 'rewrite sourcemap: false to true',\n `\nconst cfg = {\n plugins: [\n vue(),\n ],\n build: {\n sourcemap: false,\n }\n}\n\nexport default cfg;\n `,\n `import { sentryVitePlugin } from \"@sentry/vite-plugin\";\nconst cfg = {\n plugins: [vue(), sentryVitePlugin({\n org: \"my-org\",\n project: \"my-project\"\n })],\n\n build: {\n sourcemap: true,\n }\n}\n\nexport default cfg;`,\n ],\n ])(\n 'adds the plugin and enables source maps generation (%s)',\n async (_, originalCode, expectedCode) => {\n updateFileContent(originalCode);\n\n const addedCode = await addVitePluginToConfig('', {\n authToken: '',\n orgSlug: 'my-org',\n projectSlug: 'my-project',\n selfHosted: false,\n url: 'https://sentry.io/',\n });\n\n expect(writeFileSpy).toHaveBeenCalledTimes(1);\n const [[, fileContent]] = writeFileSpy.mock.calls;\n expect(fileContent).toBe(expectedCode);\n expect(addedCode).toBe(true);\n },\n );\n});\n"]}
@@ -22,79 +22,220 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
61
25
  Object.defineProperty(exports, "__esModule", { value: true });
62
- var fs = __importStar(require("fs"));
63
- var webpack_1 = require("../../../src/sourcemaps/tools/webpack");
26
+ const fs = __importStar(require("fs"));
27
+ const webpack_1 = require("../../../src/sourcemaps/tools/webpack");
64
28
  function updateFileContent(content) {
65
29
  fileContent = content;
66
30
  }
67
- var fileContent = '';
68
- jest.mock('@clack/prompts', function () {
31
+ let fileContent = '';
32
+ jest.mock('@clack/prompts', () => {
69
33
  return {
70
34
  log: {
71
35
  info: jest.fn(),
72
36
  success: jest.fn(),
73
37
  },
74
- select: jest.fn().mockImplementation(function () { return Promise.resolve(true); }),
38
+ select: jest.fn().mockImplementation(() => Promise.resolve(true)),
75
39
  isCancel: jest.fn().mockReturnValue(false),
76
40
  };
77
41
  });
78
42
  jest
79
43
  .spyOn(fs.promises, 'readFile')
80
- .mockImplementation(function () { return Promise.resolve(fileContent); });
81
- var writeFileSpy = jest
44
+ .mockImplementation(() => Promise.resolve(fileContent));
45
+ const writeFileSpy = jest
82
46
  .spyOn(fs.promises, 'writeFile')
83
- .mockImplementation(function () { return Promise.resolve(void 0); });
84
- var noSourcemapNoPluginsPojo = "module.exports = {\n entry: \"./src/index.js\",\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n};";
85
- var noSourcemapNoPluginsPojoResult = "const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nmodule.exports = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"source-map\",\n\n plugins: [sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })]\n};";
86
- var noSourcemapsNoPluginsId = "const config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n};\n\nmodule.exports = config;";
87
- var noSourcemapsNoPluginsIdResult = "const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nconst config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"source-map\",\n\n plugins: [sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })]\n};\n\nmodule.exports = config;";
88
- var hiddenSourcemapNoPluginsId = "const config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"hidden-cheap-source-map\",\n};\n\nmodule.exports = config;\n ";
89
- var hiddenSourcemapNoPluginsIdResult = "const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nconst config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"hidden-source-map\",\n\n plugins: [sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })]\n};\n\nmodule.exports = config;";
90
- var arbitrarySourcemapNoPluginsId = "\nconst config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: getSourcemapSetting(),\n};\n\nmodule.exports = config;\n ";
91
- var arbitrarySourcemapNoPluginsIdResult = "const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nconst config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"source-map\",\n\n plugins: [sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })]\n};\n\nmodule.exports = config;";
92
- var noSourcemapUndefinedPluginsPojo = "module.exports = {\n entry: \"./src/index.js\",\n plugins: undefined,\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n};";
93
- var noSourcemapUndefinedPluginsPojoResult = "const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nmodule.exports = {\n entry: \"./src/index.js\",\n\n plugins: [sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })],\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"source-map\"\n};";
94
- var noSourcemapPluginsPojo = "module.exports = {\n entry: \"./src/index.js\",\n plugins: [\n new HtmlWebpackPlugin(),\n new MiniCssExtractPlugin(),\n ],\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n};";
95
- var noSourcemapPluginsPojoResult = "const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nmodule.exports = {\n entry: \"./src/index.js\",\n\n plugins: [new HtmlWebpackPlugin(), new MiniCssExtractPlugin(), sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })],\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"source-map\"\n};";
96
- describe('modifyWebpackConfig', function () {
97
- afterEach(function () {
47
+ .mockImplementation(() => Promise.resolve(void 0));
48
+ const noSourcemapNoPluginsPojo = `module.exports = {
49
+ entry: "./src/index.js",
50
+ output: {
51
+ filename: "main.js",
52
+ path: path.resolve(__dirname, "build"),
53
+ },
54
+ };`;
55
+ const noSourcemapNoPluginsPojoResult = `const {
56
+ sentryWebpackPlugin
57
+ } = require("@sentry/webpack-plugin");
58
+
59
+ module.exports = {
60
+ entry: "./src/index.js",
61
+
62
+ output: {
63
+ filename: "main.js",
64
+ path: path.resolve(__dirname, "build"),
65
+ },
66
+
67
+ devtool: "source-map",
68
+
69
+ plugins: [sentryWebpackPlugin({
70
+ authToken: process.env.SENTRY_AUTH_TOKEN,
71
+ org: "my-org",
72
+ project: "my-project"
73
+ })]
74
+ };`;
75
+ const noSourcemapsNoPluginsId = `const config = {
76
+ entry: "./src/index.js",
77
+
78
+ output: {
79
+ filename: "main.js",
80
+ path: path.resolve(__dirname, "build"),
81
+ },
82
+ };
83
+
84
+ module.exports = config;`;
85
+ const noSourcemapsNoPluginsIdResult = `const {
86
+ sentryWebpackPlugin
87
+ } = require("@sentry/webpack-plugin");
88
+
89
+ const config = {
90
+ entry: "./src/index.js",
91
+
92
+ output: {
93
+ filename: "main.js",
94
+ path: path.resolve(__dirname, "build"),
95
+ },
96
+
97
+ devtool: "source-map",
98
+
99
+ plugins: [sentryWebpackPlugin({
100
+ authToken: process.env.SENTRY_AUTH_TOKEN,
101
+ org: "my-org",
102
+ project: "my-project"
103
+ })]
104
+ };
105
+
106
+ module.exports = config;`;
107
+ const hiddenSourcemapNoPluginsId = `const config = {
108
+ entry: "./src/index.js",
109
+
110
+ output: {
111
+ filename: "main.js",
112
+ path: path.resolve(__dirname, "build"),
113
+ },
114
+
115
+ devtool: "hidden-cheap-source-map",
116
+ };
117
+
118
+ module.exports = config;
119
+ `;
120
+ const hiddenSourcemapNoPluginsIdResult = `const {
121
+ sentryWebpackPlugin
122
+ } = require("@sentry/webpack-plugin");
123
+
124
+ const config = {
125
+ entry: "./src/index.js",
126
+
127
+ output: {
128
+ filename: "main.js",
129
+ path: path.resolve(__dirname, "build"),
130
+ },
131
+
132
+ devtool: "hidden-source-map",
133
+
134
+ plugins: [sentryWebpackPlugin({
135
+ authToken: process.env.SENTRY_AUTH_TOKEN,
136
+ org: "my-org",
137
+ project: "my-project"
138
+ })]
139
+ };
140
+
141
+ module.exports = config;`;
142
+ const arbitrarySourcemapNoPluginsId = `
143
+ const config = {
144
+ entry: "./src/index.js",
145
+
146
+ output: {
147
+ filename: "main.js",
148
+ path: path.resolve(__dirname, "build"),
149
+ },
150
+
151
+ devtool: getSourcemapSetting(),
152
+ };
153
+
154
+ module.exports = config;
155
+ `;
156
+ const arbitrarySourcemapNoPluginsIdResult = `const {
157
+ sentryWebpackPlugin
158
+ } = require("@sentry/webpack-plugin");
159
+
160
+ const config = {
161
+ entry: "./src/index.js",
162
+
163
+ output: {
164
+ filename: "main.js",
165
+ path: path.resolve(__dirname, "build"),
166
+ },
167
+
168
+ devtool: "source-map",
169
+
170
+ plugins: [sentryWebpackPlugin({
171
+ authToken: process.env.SENTRY_AUTH_TOKEN,
172
+ org: "my-org",
173
+ project: "my-project"
174
+ })]
175
+ };
176
+
177
+ module.exports = config;`;
178
+ const noSourcemapUndefinedPluginsPojo = `module.exports = {
179
+ entry: "./src/index.js",
180
+ plugins: undefined,
181
+ output: {
182
+ filename: "main.js",
183
+ path: path.resolve(__dirname, "build"),
184
+ },
185
+ };`;
186
+ const noSourcemapUndefinedPluginsPojoResult = `const {
187
+ sentryWebpackPlugin
188
+ } = require("@sentry/webpack-plugin");
189
+
190
+ module.exports = {
191
+ entry: "./src/index.js",
192
+
193
+ plugins: [sentryWebpackPlugin({
194
+ authToken: process.env.SENTRY_AUTH_TOKEN,
195
+ org: "my-org",
196
+ project: "my-project"
197
+ })],
198
+
199
+ output: {
200
+ filename: "main.js",
201
+ path: path.resolve(__dirname, "build"),
202
+ },
203
+
204
+ devtool: "source-map"
205
+ };`;
206
+ const noSourcemapPluginsPojo = `module.exports = {
207
+ entry: "./src/index.js",
208
+ plugins: [
209
+ new HtmlWebpackPlugin(),
210
+ new MiniCssExtractPlugin(),
211
+ ],
212
+ output: {
213
+ filename: "main.js",
214
+ path: path.resolve(__dirname, "build"),
215
+ },
216
+ };`;
217
+ const noSourcemapPluginsPojoResult = `const {
218
+ sentryWebpackPlugin
219
+ } = require("@sentry/webpack-plugin");
220
+
221
+ module.exports = {
222
+ entry: "./src/index.js",
223
+
224
+ plugins: [new HtmlWebpackPlugin(), new MiniCssExtractPlugin(), sentryWebpackPlugin({
225
+ authToken: process.env.SENTRY_AUTH_TOKEN,
226
+ org: "my-org",
227
+ project: "my-project"
228
+ })],
229
+
230
+ output: {
231
+ filename: "main.js",
232
+ path: path.resolve(__dirname, "build"),
233
+ },
234
+
235
+ devtool: "source-map"
236
+ };`;
237
+ describe('modifyWebpackConfig', () => {
238
+ afterEach(() => {
98
239
  fileContent = '';
99
240
  jest.clearAllMocks();
100
241
  });
@@ -129,51 +270,34 @@ describe('modifyWebpackConfig', function () {
129
270
  noSourcemapPluginsPojo,
130
271
  noSourcemapPluginsPojoResult,
131
272
  ],
132
- ])('adds plugin and source maps emission to the webpack config (%s)', function (_, originalCode, expectedCode) { return __awaiter(void 0, void 0, void 0, function () {
133
- var addedCode, _a, fileContent;
134
- return __generator(this, function (_b) {
135
- switch (_b.label) {
136
- case 0:
137
- updateFileContent(originalCode);
138
- return [4 /*yield*/, (0, webpack_1.modifyWebpackConfig)('', {
139
- authToken: '',
140
- orgSlug: 'my-org',
141
- projectSlug: 'my-project',
142
- selfHosted: false,
143
- url: 'https://sentry.io/',
144
- })];
145
- case 1:
146
- addedCode = _b.sent();
147
- expect(writeFileSpy).toHaveBeenCalledTimes(1);
148
- _a = writeFileSpy.mock.calls[0], fileContent = _a[1];
149
- expect(fileContent).toBe(expectedCode);
150
- expect(addedCode).toBe(true);
151
- return [2 /*return*/];
152
- }
273
+ ])('adds plugin and source maps emission to the webpack config (%s)', async (_, originalCode, expectedCode) => {
274
+ updateFileContent(originalCode);
275
+ // updateFileContent(originalCode);
276
+ const addedCode = await (0, webpack_1.modifyWebpackConfig)('', {
277
+ authToken: '',
278
+ orgSlug: 'my-org',
279
+ projectSlug: 'my-project',
280
+ selfHosted: false,
281
+ url: 'https://sentry.io/',
153
282
  });
154
- }); });
155
- it('adds the url parameter to the webpack plugin options if self-hosted', function () { return __awaiter(void 0, void 0, void 0, function () {
156
- var addedCode, _a, fileContent;
157
- return __generator(this, function (_b) {
158
- switch (_b.label) {
159
- case 0:
160
- updateFileContent(noSourcemapNoPluginsPojo);
161
- return [4 /*yield*/, (0, webpack_1.modifyWebpackConfig)('', {
162
- authToken: '',
163
- orgSlug: 'my-org',
164
- projectSlug: 'my-project',
165
- selfHosted: true,
166
- url: 'https://santry.io/',
167
- })];
168
- case 1:
169
- addedCode = _b.sent();
170
- expect(writeFileSpy).toHaveBeenCalledTimes(1);
171
- _a = writeFileSpy.mock.calls[0], fileContent = _a[1];
172
- expect(fileContent).toContain('url: "https://santry.io/"');
173
- expect(addedCode).toBe(true);
174
- return [2 /*return*/];
175
- }
283
+ expect(writeFileSpy).toHaveBeenCalledTimes(1);
284
+ const [[, fileContent]] = writeFileSpy.mock.calls;
285
+ expect(fileContent).toBe(expectedCode);
286
+ expect(addedCode).toBe(true);
287
+ });
288
+ it('adds the url parameter to the webpack plugin options if self-hosted', async () => {
289
+ updateFileContent(noSourcemapNoPluginsPojo);
290
+ const addedCode = await (0, webpack_1.modifyWebpackConfig)('', {
291
+ authToken: '',
292
+ orgSlug: 'my-org',
293
+ projectSlug: 'my-project',
294
+ selfHosted: true,
295
+ url: 'https://santry.io/',
176
296
  });
177
- }); });
297
+ expect(writeFileSpy).toHaveBeenCalledTimes(1);
298
+ const [[, fileContent]] = writeFileSpy.mock.calls;
299
+ expect(fileContent).toContain('url: "https://santry.io/"');
300
+ expect(addedCode).toBe(true);
301
+ });
178
302
  });
179
303
  //# sourceMappingURL=webpack.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webpack.test.js","sourceRoot":"","sources":["../../../../test/sourcemaps/tools/webpack.test.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from 'fs';\n\nimport { modifyWebpackConfig } from '../../../src/sourcemaps/tools/webpack';\n\nfunction updateFileContent(content: string): void {\n fileContent = content;\n}\n\nlet fileContent = '';\n\njest.mock('@clack/prompts', () => {\n return {\n log: {\n info: jest.fn(),\n success: jest.fn(),\n },\n select: jest.fn().mockImplementation(() => Promise.resolve(true)),\n isCancel: jest.fn().mockReturnValue(false),\n };\n});\n\njest\n .spyOn(fs.promises, 'readFile')\n .mockImplementation(() => Promise.resolve(fileContent));\n\nconst writeFileSpy = jest\n .spyOn(fs.promises, 'writeFile')\n .mockImplementation(() => Promise.resolve(void 0));\n\nconst noSourcemapNoPluginsPojo = `module.exports = {\n entry: \"./src/index.js\",\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n};`;\n\nconst noSourcemapNoPluginsPojoResult = `const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nmodule.exports = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"source-map\",\n\n plugins: [sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })]\n};`;\n\nconst noSourcemapsNoPluginsId = `const config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n};\n\nmodule.exports = config;`;\n\nconst noSourcemapsNoPluginsIdResult = `const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nconst config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"source-map\",\n\n plugins: [sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })]\n};\n\nmodule.exports = config;`;\n\nconst hiddenSourcemapNoPluginsId = `const config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"hidden-cheap-source-map\",\n};\n\nmodule.exports = config;\n `;\nconst hiddenSourcemapNoPluginsIdResult = `const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nconst config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"hidden-source-map\",\n\n plugins: [sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })]\n};\n\nmodule.exports = config;`;\n\nconst arbitrarySourcemapNoPluginsId = `\nconst config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: getSourcemapSetting(),\n};\n\nmodule.exports = config;\n `;\nconst arbitrarySourcemapNoPluginsIdResult = `const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nconst config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"source-map\",\n\n plugins: [sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })]\n};\n\nmodule.exports = config;`;\n\nconst noSourcemapUndefinedPluginsPojo = `module.exports = {\n entry: \"./src/index.js\",\n plugins: undefined,\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n};`;\n\nconst noSourcemapUndefinedPluginsPojoResult = `const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nmodule.exports = {\n entry: \"./src/index.js\",\n\n plugins: [sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })],\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"source-map\"\n};`;\n\nconst noSourcemapPluginsPojo = `module.exports = {\n entry: \"./src/index.js\",\n plugins: [\n new HtmlWebpackPlugin(),\n new MiniCssExtractPlugin(),\n ],\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n};`;\n\nconst noSourcemapPluginsPojoResult = `const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nmodule.exports = {\n entry: \"./src/index.js\",\n\n plugins: [new HtmlWebpackPlugin(), new MiniCssExtractPlugin(), sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })],\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"source-map\"\n};`;\n\ndescribe('modifyWebpackConfig', () => {\n afterEach(() => {\n fileContent = '';\n jest.clearAllMocks();\n });\n\n it.each([\n [\n 'no sourcemap option, no plugins, object',\n noSourcemapNoPluginsPojo,\n noSourcemapNoPluginsPojoResult,\n ],\n [\n 'no sourcemap option, no plugins, identifier',\n noSourcemapsNoPluginsId,\n noSourcemapsNoPluginsIdResult,\n ],\n [\n 'hidden sourcemap option, no plugins, identifier',\n hiddenSourcemapNoPluginsId,\n hiddenSourcemapNoPluginsIdResult,\n ],\n [\n 'arbitrary sourcemap option, no plugins, identifier',\n arbitrarySourcemapNoPluginsId,\n arbitrarySourcemapNoPluginsIdResult,\n ],\n [\n 'no sourcemap option, plugins, object',\n noSourcemapUndefinedPluginsPojo,\n noSourcemapUndefinedPluginsPojoResult,\n ],\n [\n 'no sourcemap option, plugins, object',\n noSourcemapPluginsPojo,\n noSourcemapPluginsPojoResult,\n ],\n ])(\n 'adds plugin and source maps emission to the webpack config (%s)',\n async (_, originalCode, expectedCode) => {\n updateFileContent(originalCode);\n\n // updateFileContent(originalCode);\n const addedCode = await modifyWebpackConfig('', {\n authToken: '',\n orgSlug: 'my-org',\n projectSlug: 'my-project',\n selfHosted: false,\n url: 'https://sentry.io/',\n });\n\n expect(writeFileSpy).toHaveBeenCalledTimes(1);\n const [[, fileContent]] = writeFileSpy.mock.calls;\n expect(fileContent).toBe(expectedCode);\n expect(addedCode).toBe(true);\n },\n );\n\n it('adds the url parameter to the webpack plugin options if self-hosted', async () => {\n updateFileContent(noSourcemapNoPluginsPojo);\n\n const addedCode = await modifyWebpackConfig('', {\n authToken: '',\n orgSlug: 'my-org',\n projectSlug: 'my-project',\n selfHosted: true,\n url: 'https://santry.io/',\n });\n\n expect(writeFileSpy).toHaveBeenCalledTimes(1);\n const [[, fileContent]] = writeFileSpy.mock.calls;\n expect(fileContent).toContain('url: \"https://santry.io/\"');\n expect(addedCode).toBe(true);\n });\n});\n"]}
1
+ {"version":3,"file":"webpack.test.js","sourceRoot":"","sources":["../../../../test/sourcemaps/tools/webpack.test.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from 'fs';\n\nimport { modifyWebpackConfig } from '../../../src/sourcemaps/tools/webpack';\n\nfunction updateFileContent(content: string): void {\n fileContent = content;\n}\n\nlet fileContent = '';\n\njest.mock('@clack/prompts', () => {\n return {\n log: {\n info: jest.fn(),\n success: jest.fn(),\n },\n select: jest.fn().mockImplementation(() => Promise.resolve(true)),\n isCancel: jest.fn().mockReturnValue(false),\n };\n});\n\njest\n .spyOn(fs.promises, 'readFile')\n .mockImplementation(() => Promise.resolve(fileContent));\n\nconst writeFileSpy = jest\n .spyOn(fs.promises, 'writeFile')\n .mockImplementation(() => Promise.resolve(void 0));\n\nconst noSourcemapNoPluginsPojo = `module.exports = {\n entry: \"./src/index.js\",\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n};`;\n\nconst noSourcemapNoPluginsPojoResult = `const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nmodule.exports = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"source-map\",\n\n plugins: [sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })]\n};`;\n\nconst noSourcemapsNoPluginsId = `const config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n};\n\nmodule.exports = config;`;\n\nconst noSourcemapsNoPluginsIdResult = `const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nconst config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"source-map\",\n\n plugins: [sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })]\n};\n\nmodule.exports = config;`;\n\nconst hiddenSourcemapNoPluginsId = `const config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"hidden-cheap-source-map\",\n};\n\nmodule.exports = config;\n `;\nconst hiddenSourcemapNoPluginsIdResult = `const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nconst config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"hidden-source-map\",\n\n plugins: [sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })]\n};\n\nmodule.exports = config;`;\n\nconst arbitrarySourcemapNoPluginsId = `\nconst config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: getSourcemapSetting(),\n};\n\nmodule.exports = config;\n `;\nconst arbitrarySourcemapNoPluginsIdResult = `const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nconst config = {\n entry: \"./src/index.js\",\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"source-map\",\n\n plugins: [sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })]\n};\n\nmodule.exports = config;`;\n\nconst noSourcemapUndefinedPluginsPojo = `module.exports = {\n entry: \"./src/index.js\",\n plugins: undefined,\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n};`;\n\nconst noSourcemapUndefinedPluginsPojoResult = `const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nmodule.exports = {\n entry: \"./src/index.js\",\n\n plugins: [sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })],\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"source-map\"\n};`;\n\nconst noSourcemapPluginsPojo = `module.exports = {\n entry: \"./src/index.js\",\n plugins: [\n new HtmlWebpackPlugin(),\n new MiniCssExtractPlugin(),\n ],\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n};`;\n\nconst noSourcemapPluginsPojoResult = `const {\n sentryWebpackPlugin\n} = require(\"@sentry/webpack-plugin\");\n\nmodule.exports = {\n entry: \"./src/index.js\",\n\n plugins: [new HtmlWebpackPlugin(), new MiniCssExtractPlugin(), sentryWebpackPlugin({\n authToken: process.env.SENTRY_AUTH_TOKEN,\n org: \"my-org\",\n project: \"my-project\"\n })],\n\n output: {\n filename: \"main.js\",\n path: path.resolve(__dirname, \"build\"),\n },\n\n devtool: \"source-map\"\n};`;\n\ndescribe('modifyWebpackConfig', () => {\n afterEach(() => {\n fileContent = '';\n jest.clearAllMocks();\n });\n\n it.each([\n [\n 'no sourcemap option, no plugins, object',\n noSourcemapNoPluginsPojo,\n noSourcemapNoPluginsPojoResult,\n ],\n [\n 'no sourcemap option, no plugins, identifier',\n noSourcemapsNoPluginsId,\n noSourcemapsNoPluginsIdResult,\n ],\n [\n 'hidden sourcemap option, no plugins, identifier',\n hiddenSourcemapNoPluginsId,\n hiddenSourcemapNoPluginsIdResult,\n ],\n [\n 'arbitrary sourcemap option, no plugins, identifier',\n arbitrarySourcemapNoPluginsId,\n arbitrarySourcemapNoPluginsIdResult,\n ],\n [\n 'no sourcemap option, plugins, object',\n noSourcemapUndefinedPluginsPojo,\n noSourcemapUndefinedPluginsPojoResult,\n ],\n [\n 'no sourcemap option, plugins, object',\n noSourcemapPluginsPojo,\n noSourcemapPluginsPojoResult,\n ],\n ])(\n 'adds plugin and source maps emission to the webpack config (%s)',\n async (_, originalCode, expectedCode) => {\n updateFileContent(originalCode);\n\n // updateFileContent(originalCode);\n const addedCode = await modifyWebpackConfig('', {\n authToken: '',\n orgSlug: 'my-org',\n projectSlug: 'my-project',\n selfHosted: false,\n url: 'https://sentry.io/',\n });\n\n expect(writeFileSpy).toHaveBeenCalledTimes(1);\n const [[, fileContent]] = writeFileSpy.mock.calls;\n expect(fileContent).toBe(expectedCode);\n expect(addedCode).toBe(true);\n },\n );\n\n it('adds the url parameter to the webpack plugin options if self-hosted', async () => {\n updateFileContent(noSourcemapNoPluginsPojo);\n\n const addedCode = await modifyWebpackConfig('', {\n authToken: '',\n orgSlug: 'my-org',\n projectSlug: 'my-project',\n selfHosted: true,\n url: 'https://santry.io/',\n });\n\n expect(writeFileSpy).toHaveBeenCalledTimes(1);\n const [[, fileContent]] = writeFileSpy.mock.calls;\n expect(fileContent).toContain('url: \"https://santry.io/\"');\n expect(addedCode).toBe(true);\n });\n});\n"]}