@sentry/wizard 4.0.0 → 4.0.2

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 (330) hide show
  1. package/CHANGELOG.md +11 -2
  2. package/dist/NextJs/configs/next.config.js +1 -1
  3. package/dist/bin.js +2 -1
  4. package/dist/bin.js.map +1 -1
  5. package/dist/bump-version.js +28 -0
  6. package/dist/craft-pre-release.sh +2 -0
  7. package/dist/lib/Steps/Initial.js +2 -12
  8. package/dist/lib/Steps/Initial.js.map +1 -1
  9. package/dist/lib/Steps/Integrations/Electron.js +1 -1
  10. package/dist/lib/Steps/Integrations/Electron.js.map +1 -1
  11. package/dist/src/nextjs/templates.js +1 -1
  12. package/dist/src/nextjs/templates.js.map +1 -1
  13. package/dist/src/run.js +2 -18
  14. package/dist/src/run.js.map +1 -1
  15. package/dist/src/telemetry.js +2 -16
  16. package/dist/src/telemetry.js.map +1 -1
  17. package/dist/src/utils/clack-utils.d.ts +16 -0
  18. package/dist/src/utils/clack-utils.js +53 -45
  19. package/dist/src/utils/clack-utils.js.map +1 -1
  20. package/dist/src/version.d.ts +1 -0
  21. package/dist/src/version.js +7 -0
  22. package/dist/src/version.js.map +1 -0
  23. package/dist/test/nextjs/templates.test.js +4 -4
  24. package/dist/test/nextjs/templates.test.js.map +1 -1
  25. package/dist/test/utils/clack-utils.test.js +52 -0
  26. package/dist/test/utils/clack-utils.test.js.map +1 -1
  27. package/package.json +5 -2
  28. package/.node-cache/node-v22.14.0-darwin-arm64 +0 -0
  29. package/.node-cache/node-v22.14.0-darwin-x64 +0 -0
  30. package/.node-cache/node-v22.14.0-linux-arm64 +0 -0
  31. package/.node-cache/node-v22.14.0-linux-x64 +0 -0
  32. package/.node-cache/node-v22.14.0-win-x64.exe +0 -0
  33. package/COPYING +0 -3575
  34. package/bin.ts +0 -143
  35. package/codecov.yml +0 -15
  36. package/e2e-tests/.env.example +0 -11
  37. package/e2e-tests/README.md +0 -63
  38. package/e2e-tests/jest.config.ts +0 -22
  39. package/e2e-tests/package.json +0 -14
  40. package/e2e-tests/run.sh +0 -15
  41. package/e2e-tests/test-applications/apple/damaged-missing-configuration-list/Project.xcodeproj/project.pbxproj +0 -52
  42. package/e2e-tests/test-applications/apple/damaged-missing-configuration-list/Project.xcodeproj/xcshareddata/xcschemes/Project1.xcscheme +0 -78
  43. package/e2e-tests/test-applications/apple/no-targets/Project.xcodeproj/project.pbxproj +0 -62
  44. package/e2e-tests/test-applications/apple/no-targets/Project.xcodeproj/xcshareddata/xcschemes/Project1.xcscheme +0 -78
  45. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project.xcodeproj/project.pbxproj +0 -470
  46. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project.xcodeproj/xcshareddata/xcschemes/Project1.xcscheme +0 -78
  47. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project1/ContentView.swift +0 -7
  48. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project1/Project1App.swift +0 -10
  49. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project2/ContentView.swift +0 -7
  50. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project2/Project2App.swift +0 -10
  51. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Project.xcodeproj/project.pbxproj +0 -382
  52. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Project.xcodeproj/xcshareddata/xcschemes/Project.xcscheme +0 -78
  53. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Sources/ContentView.swift +0 -7
  54. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Sources/MainApp.swift +0 -10
  55. package/e2e-tests/test-applications/flutter-test-app/.metadata +0 -45
  56. package/e2e-tests/test-applications/flutter-test-app/README.md +0 -16
  57. package/e2e-tests/test-applications/flutter-test-app/analysis_options.yaml +0 -28
  58. package/e2e-tests/test-applications/flutter-test-app/android/app/build.gradle +0 -44
  59. package/e2e-tests/test-applications/flutter-test-app/android/app/src/debug/AndroidManifest.xml +0 -7
  60. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/AndroidManifest.xml +0 -45
  61. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/kotlin/com/example/flutter_magic/MainActivity.kt +0 -5
  62. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/drawable/launch_background.xml +0 -12
  63. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/drawable-v21/launch_background.xml +0 -12
  64. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  65. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  66. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  67. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  68. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  69. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/values/styles.xml +0 -18
  70. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/values-night/styles.xml +0 -18
  71. package/e2e-tests/test-applications/flutter-test-app/android/app/src/profile/AndroidManifest.xml +0 -7
  72. package/e2e-tests/test-applications/flutter-test-app/android/build.gradle +0 -18
  73. package/e2e-tests/test-applications/flutter-test-app/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  74. package/e2e-tests/test-applications/flutter-test-app/android/gradle.properties +0 -3
  75. package/e2e-tests/test-applications/flutter-test-app/android/settings.gradle +0 -25
  76. package/e2e-tests/test-applications/flutter-test-app/lib/main.dart +0 -125
  77. package/e2e-tests/test-applications/flutter-test-app/linux/CMakeLists.txt +0 -145
  78. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/CMakeLists.txt +0 -88
  79. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/generated_plugin_registrant.cc +0 -11
  80. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/generated_plugin_registrant.h +0 -15
  81. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/generated_plugins.cmake +0 -23
  82. package/e2e-tests/test-applications/flutter-test-app/linux/main.cc +0 -6
  83. package/e2e-tests/test-applications/flutter-test-app/linux/my_application.cc +0 -124
  84. package/e2e-tests/test-applications/flutter-test-app/linux/my_application.h +0 -18
  85. package/e2e-tests/test-applications/flutter-test-app/macos/Flutter/Flutter-Debug.xcconfig +0 -2
  86. package/e2e-tests/test-applications/flutter-test-app/macos/Flutter/Flutter-Release.xcconfig +0 -2
  87. package/e2e-tests/test-applications/flutter-test-app/macos/Flutter/GeneratedPluginRegistrant.swift +0 -10
  88. package/e2e-tests/test-applications/flutter-test-app/macos/Podfile +0 -43
  89. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/AppDelegate.swift +0 -9
  90. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -68
  91. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png +0 -0
  92. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png +0 -0
  93. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png +0 -0
  94. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png +0 -0
  95. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png +0 -0
  96. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png +0 -0
  97. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png +0 -0
  98. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Base.lproj/MainMenu.xib +0 -343
  99. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/AppInfo.xcconfig +0 -14
  100. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/Debug.xcconfig +0 -2
  101. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/Release.xcconfig +0 -2
  102. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/Warnings.xcconfig +0 -13
  103. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/DebugProfile.entitlements +0 -12
  104. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Info.plist +0 -32
  105. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/MainFlutterWindow.swift +0 -15
  106. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Release.entitlements +0 -8
  107. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcodeproj/project.pbxproj +0 -705
  108. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  109. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +0 -98
  110. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcworkspace/contents.xcworkspacedata +0 -7
  111. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  112. package/e2e-tests/test-applications/flutter-test-app/macos/RunnerTests/RunnerTests.swift +0 -12
  113. package/e2e-tests/test-applications/flutter-test-app/pubspec.lock +0 -213
  114. package/e2e-tests/test-applications/flutter-test-app/pubspec.yaml +0 -89
  115. package/e2e-tests/test-applications/flutter-test-app/test/widget_test.dart +0 -30
  116. package/e2e-tests/test-applications/flutter-test-app/web/favicon.png +0 -0
  117. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-192.png +0 -0
  118. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-512.png +0 -0
  119. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-maskable-192.png +0 -0
  120. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-maskable-512.png +0 -0
  121. package/e2e-tests/test-applications/flutter-test-app/web/index.html +0 -38
  122. package/e2e-tests/test-applications/flutter-test-app/web/manifest.json +0 -35
  123. package/e2e-tests/test-applications/flutter-test-app/windows/CMakeLists.txt +0 -108
  124. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/CMakeLists.txt +0 -109
  125. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/generated_plugin_registrant.cc +0 -11
  126. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/generated_plugin_registrant.h +0 -15
  127. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/generated_plugins.cmake +0 -23
  128. package/e2e-tests/test-applications/flutter-test-app/windows/runner/CMakeLists.txt +0 -40
  129. package/e2e-tests/test-applications/flutter-test-app/windows/runner/Runner.rc +0 -121
  130. package/e2e-tests/test-applications/flutter-test-app/windows/runner/flutter_window.cpp +0 -71
  131. package/e2e-tests/test-applications/flutter-test-app/windows/runner/flutter_window.h +0 -33
  132. package/e2e-tests/test-applications/flutter-test-app/windows/runner/main.cpp +0 -43
  133. package/e2e-tests/test-applications/flutter-test-app/windows/runner/resource.h +0 -16
  134. package/e2e-tests/test-applications/flutter-test-app/windows/runner/resources/app_icon.ico +0 -0
  135. package/e2e-tests/test-applications/flutter-test-app/windows/runner/runner.exe.manifest +0 -14
  136. package/e2e-tests/test-applications/flutter-test-app/windows/runner/utils.cpp +0 -65
  137. package/e2e-tests/test-applications/flutter-test-app/windows/runner/utils.h +0 -19
  138. package/e2e-tests/test-applications/flutter-test-app/windows/runner/win32_window.cpp +0 -288
  139. package/e2e-tests/test-applications/flutter-test-app/windows/runner/win32_window.h +0 -102
  140. package/e2e-tests/test-applications/nextjs-test-app/next.config.mjs +0 -4
  141. package/e2e-tests/test-applications/nextjs-test-app/package.json +0 -22
  142. package/e2e-tests/test-applications/nextjs-test-app/src/app/layout.tsx +0 -20
  143. package/e2e-tests/test-applications/nextjs-test-app/src/app/page.tsx +0 -90
  144. package/e2e-tests/test-applications/nuxt-3-test-app/README.md +0 -75
  145. package/e2e-tests/test-applications/nuxt-3-test-app/nuxt.config.ts +0 -5
  146. package/e2e-tests/test-applications/nuxt-3-test-app/package.json +0 -18
  147. package/e2e-tests/test-applications/nuxt-3-test-app/public/favicon.ico +0 -0
  148. package/e2e-tests/test-applications/nuxt-3-test-app/public/robots.txt +0 -1
  149. package/e2e-tests/test-applications/nuxt-4-test-app/README.md +0 -75
  150. package/e2e-tests/test-applications/nuxt-4-test-app/nuxt.config.ts +0 -6
  151. package/e2e-tests/test-applications/nuxt-4-test-app/package.json +0 -18
  152. package/e2e-tests/test-applications/nuxt-4-test-app/public/favicon.ico +0 -0
  153. package/e2e-tests/test-applications/nuxt-4-test-app/public/robots.txt +0 -1
  154. package/e2e-tests/test-applications/remix-test-app/app/entry.client.tsx +0 -18
  155. package/e2e-tests/test-applications/remix-test-app/app/entry.server.tsx +0 -140
  156. package/e2e-tests/test-applications/remix-test-app/app/root.tsx +0 -30
  157. package/e2e-tests/test-applications/remix-test-app/app/routes/_index.tsx +0 -48
  158. package/e2e-tests/test-applications/remix-test-app/app/tailwind.css +0 -3
  159. package/e2e-tests/test-applications/remix-test-app/package.json +0 -37
  160. package/e2e-tests/test-applications/remix-test-app/postcss.config.js +0 -6
  161. package/e2e-tests/test-applications/remix-test-app/tailwind.config.ts +0 -9
  162. package/e2e-tests/test-applications/remix-test-app/vite.config.ts +0 -16
  163. package/e2e-tests/test-applications/sveltekit-test-app/package.json +0 -21
  164. package/e2e-tests/test-applications/sveltekit-test-app/src/app.d.ts +0 -13
  165. package/e2e-tests/test-applications/sveltekit-test-app/src/app.html +0 -11
  166. package/e2e-tests/test-applications/sveltekit-test-app/src/lib/index.ts +0 -1
  167. package/e2e-tests/test-applications/sveltekit-test-app/src/routes/+page.svelte +0 -2
  168. package/e2e-tests/test-applications/sveltekit-test-app/svelte.config.js +0 -18
  169. package/e2e-tests/test-applications/sveltekit-test-app/vite.config.ts +0 -6
  170. package/e2e-tests/tests/flutter.test.ts +0 -127
  171. package/e2e-tests/tests/nextjs.test.ts +0 -161
  172. package/e2e-tests/tests/nuxt-3.test.ts +0 -189
  173. package/e2e-tests/tests/nuxt-4.test.ts +0 -188
  174. package/e2e-tests/tests/remix.test.ts +0 -277
  175. package/e2e-tests/tests/sveltekit.test.ts +0 -284
  176. package/e2e-tests/utils/index.ts +0 -456
  177. package/index.ts +0 -2
  178. package/lib/Constants.ts +0 -118
  179. package/lib/Helper/BottomBar.ts +0 -28
  180. package/lib/Helper/Env.ts +0 -7
  181. package/lib/Helper/File.ts +0 -65
  182. package/lib/Helper/Git.ts +0 -39
  183. package/lib/Helper/Logging.ts +0 -44
  184. package/lib/Helper/MergeConfig.ts +0 -19
  185. package/lib/Helper/Package.ts +0 -80
  186. package/lib/Helper/SentryCli.ts +0 -139
  187. package/lib/Helper/Wizard.ts +0 -58
  188. package/lib/Helper/__tests__/File.ts +0 -15
  189. package/lib/Helper/__tests__/MergeConfig.ts +0 -98
  190. package/lib/Helper/__tests__/SentryCli.ts +0 -86
  191. package/lib/Helper/test-fixtures/next.config.1-merged.js +0 -18
  192. package/lib/Helper/test-fixtures/next.config.1.js +0 -6
  193. package/lib/Helper/test-fixtures/next.config.2.js +0 -8
  194. package/lib/Helper/test-fixtures/next.config.3-merged.js +0 -21
  195. package/lib/Helper/test-fixtures/next.config.3.js +0 -9
  196. package/lib/Helper/test-fixtures/next.config.4-merged.js +0 -21
  197. package/lib/Helper/test-fixtures/next.config.4.js +0 -9
  198. package/lib/Setup.ts +0 -40
  199. package/lib/Steps/BaseStep.ts +0 -25
  200. package/lib/Steps/ChooseIntegration.ts +0 -144
  201. package/lib/Steps/ConfigureProject.ts +0 -10
  202. package/lib/Steps/Initial.ts +0 -35
  203. package/lib/Steps/Integrations/BaseIntegration.ts +0 -42
  204. package/lib/Steps/Integrations/Cordova.ts +0 -283
  205. package/lib/Steps/Integrations/Electron.ts +0 -164
  206. package/lib/Steps/Integrations/MobileProject.ts +0 -72
  207. package/lib/Steps/OpenSentry.ts +0 -80
  208. package/lib/Steps/PromptForParameters.ts +0 -200
  209. package/lib/Steps/Result.ts +0 -22
  210. package/lib/Steps/SentryProjectSelector.ts +0 -83
  211. package/lib/Steps/ShouldConfigure.ts +0 -10
  212. package/lib/Steps/WaitForSentry.ts +0 -56
  213. package/lib/Steps/Welcome.ts +0 -21
  214. package/lib/Steps/index.ts +0 -10
  215. package/lib/__tests__/Env.ts +0 -29
  216. package/scripts/NextJs/configs/_error.js +0 -39
  217. package/scripts/NextJs/configs/next.config.js +0 -36
  218. package/scripts/NextJs/configs/next.config.template.js +0 -12
  219. package/scripts/NextJs/configs/sentry.client.config.js +0 -17
  220. package/scripts/NextJs/configs/sentry.edge.config.js +0 -17
  221. package/scripts/NextJs/configs/sentry.server.config.js +0 -17
  222. package/scripts/NextJs/sentry_sample_error.js +0 -47
  223. package/scripts/craft-pre-release.sh +0 -10
  224. package/src/android/android-wizard.ts +0 -192
  225. package/src/android/code-tools.ts +0 -170
  226. package/src/android/gradle.ts +0 -250
  227. package/src/android/manifest.ts +0 -180
  228. package/src/android/templates.ts +0 -86
  229. package/src/apple/apple-wizard.ts +0 -269
  230. package/src/apple/cocoapod.ts +0 -73
  231. package/src/apple/code-tools.ts +0 -147
  232. package/src/apple/fastlane.ts +0 -170
  233. package/src/apple/templates.ts +0 -65
  234. package/src/apple/xcode-manager.ts +0 -404
  235. package/src/flutter/code-tools.ts +0 -284
  236. package/src/flutter/flutter-wizard.ts +0 -164
  237. package/src/flutter/templates.ts +0 -90
  238. package/src/nextjs/nextjs-wizard.ts +0 -1007
  239. package/src/nextjs/templates.ts +0 -525
  240. package/src/nextjs/utils.ts +0 -21
  241. package/src/nuxt/nuxt-wizard.ts +0 -188
  242. package/src/nuxt/sdk-example.ts +0 -135
  243. package/src/nuxt/sdk-setup.ts +0 -352
  244. package/src/nuxt/templates.ts +0 -303
  245. package/src/nuxt/types.ts +0 -8
  246. package/src/nuxt/utils.ts +0 -42
  247. package/src/react-native/expo-env-file.ts +0 -55
  248. package/src/react-native/expo-metro.ts +0 -212
  249. package/src/react-native/expo.ts +0 -175
  250. package/src/react-native/git.ts +0 -25
  251. package/src/react-native/glob.ts +0 -13
  252. package/src/react-native/gradle.ts +0 -26
  253. package/src/react-native/javascript.ts +0 -103
  254. package/src/react-native/metro.ts +0 -599
  255. package/src/react-native/options.ts +0 -5
  256. package/src/react-native/react-native-wizard.ts +0 -512
  257. package/src/react-native/uninstall.ts +0 -109
  258. package/src/react-native/xcode.ts +0 -302
  259. package/src/remix/codemods/express-server.ts +0 -44
  260. package/src/remix/codemods/handle-error.ts +0 -118
  261. package/src/remix/codemods/root-common.ts +0 -63
  262. package/src/remix/codemods/root-v1.ts +0 -41
  263. package/src/remix/codemods/root-v2.ts +0 -153
  264. package/src/remix/remix-wizard.ts +0 -261
  265. package/src/remix/sdk-example.ts +0 -120
  266. package/src/remix/sdk-setup.ts +0 -546
  267. package/src/remix/templates.ts +0 -11
  268. package/src/remix/utils.ts +0 -96
  269. package/src/run.ts +0 -211
  270. package/src/sourcemaps/sourcemaps-wizard.ts +0 -364
  271. package/src/sourcemaps/tools/angular.ts +0 -42
  272. package/src/sourcemaps/tools/create-react-app.ts +0 -19
  273. package/src/sourcemaps/tools/esbuild.ts +0 -65
  274. package/src/sourcemaps/tools/nextjs.ts +0 -114
  275. package/src/sourcemaps/tools/remix.ts +0 -90
  276. package/src/sourcemaps/tools/rollup.ts +0 -67
  277. package/src/sourcemaps/tools/sentry-cli.ts +0 -287
  278. package/src/sourcemaps/tools/tsc.ts +0 -144
  279. package/src/sourcemaps/tools/types.ts +0 -11
  280. package/src/sourcemaps/tools/vite.ts +0 -300
  281. package/src/sourcemaps/tools/webpack.ts +0 -383
  282. package/src/sourcemaps/utils/detect-tool.ts +0 -46
  283. package/src/sourcemaps/utils/other-wizards.ts +0 -167
  284. package/src/sourcemaps/utils/sdk-version.ts +0 -266
  285. package/src/sveltekit/sdk-example.ts +0 -56
  286. package/src/sveltekit/sdk-setup.ts +0 -667
  287. package/src/sveltekit/sveltekit-wizard.ts +0 -192
  288. package/src/sveltekit/templates.ts +0 -185
  289. package/src/sveltekit/utils.ts +0 -50
  290. package/src/telemetry.ts +0 -144
  291. package/src/utils/ast-utils.ts +0 -270
  292. package/src/utils/bash.ts +0 -57
  293. package/src/utils/clack-utils.ts +0 -1536
  294. package/src/utils/debug.ts +0 -20
  295. package/src/utils/package-json.ts +0 -51
  296. package/src/utils/package-manager.ts +0 -172
  297. package/src/utils/release-registry.ts +0 -19
  298. package/src/utils/semver.ts +0 -33
  299. package/src/utils/sentrycli-utils.ts +0 -24
  300. package/src/utils/string.ts +0 -7
  301. package/src/utils/types.ts +0 -77
  302. package/src/utils/url.ts +0 -27
  303. package/src/utils/vendor/is-unicorn-supported.ts +0 -29
  304. package/test/android/code-tools.test.ts +0 -49
  305. package/test/apple/cocoapod.test.ts +0 -310
  306. package/test/apple/code-tools.test.ts +0 -1042
  307. package/test/apple/fastfile.test.ts +0 -555
  308. package/test/apple/templates.test.ts +0 -191
  309. package/test/apple/xcode-manager.test.ts +0 -1068
  310. package/test/flutter/code-tools.test.ts +0 -212
  311. package/test/flutter/templates.test.ts +0 -100
  312. package/test/nextjs/templates.test.ts +0 -429
  313. package/test/nuxt/templates.test.ts +0 -255
  314. package/test/react-native/expo-metro.test.ts +0 -81
  315. package/test/react-native/expo.test.ts +0 -86
  316. package/test/react-native/gradle.test.ts +0 -310
  317. package/test/react-native/javascript.test.ts +0 -134
  318. package/test/react-native/metro.test.ts +0 -396
  319. package/test/react-native/xcode.test.ts +0 -401
  320. package/test/remix/client-entry.test.ts +0 -122
  321. package/test/remix/server-instrumentation.test.ts +0 -36
  322. package/test/sourcemaps/tools/sentry-cli.test.ts +0 -57
  323. package/test/sourcemaps/tools/tsc.test.ts +0 -181
  324. package/test/sourcemaps/tools/vite.test.ts +0 -149
  325. package/test/sourcemaps/tools/webpack.test.ts +0 -303
  326. package/test/sveltekit/templates.test.ts +0 -152
  327. package/test/utils/ast-utils.test.ts +0 -264
  328. package/test/utils/clack-utils.test.ts +0 -224
  329. package/types/read-env.d.ts +0 -3
  330. package/types/xcode.d.ts +0 -527
@@ -1,401 +0,0 @@
1
- /* eslint-disable no-useless-escape */
2
- import {
3
- addSentryWithBundledScriptsToBundleShellScript,
4
- addSentryWithCliToBundleShellScript,
5
- doesBundlePhaseIncludeSentry,
6
- findBundlePhase,
7
- findDebugFilesUploadPhase,
8
- removeSentryFromBundleShellScript,
9
- } from '../../src/react-native/xcode';
10
-
11
- describe('react-native xcode', () => {
12
- describe('addSentryWithCliToBundleShellScript', () => {
13
- it('adds sentry cli to rn bundle build phase', () => {
14
- const input = `set -e
15
-
16
- WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
17
- REACT_NATIVE_XCODE="../node_modules/react-native/scripts/react-native-xcode.sh"
18
-
19
- /bin/sh -c "$WITH_ENVIRONMENT $REACT_NATIVE_XCODE"`;
20
- // actual shell script looks like this:
21
- // /bin/sh -c "$WITH_ENVIRONMENT \"$REACT_NATIVE_XCODE\""
22
- // but during parsing xcode library removes the quotes
23
- const expectedOutput = `export SENTRY_PROPERTIES=sentry.properties
24
- export EXTRA_PACKAGER_ARGS="--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map"
25
- set -e
26
-
27
- WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
28
- REACT_NATIVE_XCODE="../node_modules/react-native/scripts/react-native-xcode.sh"
29
-
30
- /bin/sh -c "$WITH_ENVIRONMENT \\"../node_modules/@sentry/cli/bin/sentry-cli react-native xcode $REACT_NATIVE_XCODE\\""
31
- /bin/sh -c "$WITH_ENVIRONMENT ../node_modules/@sentry/react-native/scripts/collect-modules.sh"
32
- `;
33
-
34
- expect(addSentryWithCliToBundleShellScript(input)).toBe(expectedOutput);
35
- });
36
- });
37
-
38
- describe('addSentryBundledScriptsToBundleShellScript', () => {
39
- it('adds sentry cli to rn bundle build phase', () => {
40
- const input = `set -e
41
-
42
- WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
43
- REACT_NATIVE_XCODE="../node_modules/react-native/scripts/react-native-xcode.sh"
44
-
45
- /bin/sh -c "$WITH_ENVIRONMENT $REACT_NATIVE_XCODE"`;
46
- // actual shell script looks like this:
47
- // /bin/sh -c "$WITH_ENVIRONMENT \"$REACT_NATIVE_XCODE\""
48
- // but during parsing xcode library removes the quotes
49
- const expectedOutput = `set -e
50
-
51
- WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
52
- REACT_NATIVE_XCODE="../node_modules/react-native/scripts/react-native-xcode.sh"
53
-
54
- /bin/sh -c "$WITH_ENVIRONMENT \\"/bin/sh ../node_modules/@sentry/react-native/scripts/sentry-xcode.sh $REACT_NATIVE_XCODE\\""`;
55
-
56
- expect(addSentryWithBundledScriptsToBundleShellScript(input)).toBe(
57
- expectedOutput,
58
- );
59
- });
60
-
61
- it('adds sentry cli to expo bundle build phase', () => {
62
- const input = `
63
- if [[ -f "$PODS_ROOT/../.xcode.env" ]]; then
64
- source "$PODS_ROOT/../.xcode.env"
65
- fi
66
- if [[ -f "$PODS_ROOT/../.xcode.env.local" ]]; then
67
- source "$PODS_ROOT/../.xcode.env.local"
68
- fi
69
-
70
- # The project root by default is one level up from the ios directory
71
- export PROJECT_ROOT="$PROJECT_DIR"/..
72
-
73
- if [[ "$CONFIGURATION" = *Debug* ]]; then
74
- export SKIP_BUNDLING=1
75
- fi
76
- if [[ -z "$ENTRY_FILE" ]]; then
77
- # Set the entry JS file using the bundler's entry resolution.
78
- export ENTRY_FILE="$("$NODE_BINARY" -e "require('expo/scripts/resolveAppEntry')" "$PROJECT_ROOT" ios absolute | tail -n 1)"
79
- fi
80
-
81
- if [[ -z "$CLI_PATH" ]]; then
82
- # Use Expo CLI
83
- export CLI_PATH="$("$NODE_BINARY" --print "require.resolve('@expo/cli', { paths: [require.resolve('expo/package.json')] })")"
84
- fi
85
- if [[ -z "$BUNDLE_COMMAND" ]]; then
86
- # Default Expo CLI command for bundling
87
- export BUNDLE_COMMAND="export:embed"
88
- fi
89
-
90
- # Source .xcode.env.updates if it exists to allow
91
- # SKIP_BUNDLING to be unset if needed
92
- if [[ -f "$PODS_ROOT/../.xcode.env.updates" ]]; then
93
- source "$PODS_ROOT/../.xcode.env.updates"
94
- fi
95
- # Source local changes to allow overrides
96
- # if needed
97
- if [[ -f "$PODS_ROOT/../.xcode.env.local" ]]; then
98
- source "$PODS_ROOT/../.xcode.env.local"
99
- fi
100
-
101
- \`"$NODE_BINARY" --print "require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/react-native-xcode.sh'"\`
102
- `;
103
-
104
- const expectedOutput = `
105
- if [[ -f "$PODS_ROOT/../.xcode.env" ]]; then
106
- source "$PODS_ROOT/../.xcode.env"
107
- fi
108
- if [[ -f "$PODS_ROOT/../.xcode.env.local" ]]; then
109
- source "$PODS_ROOT/../.xcode.env.local"
110
- fi
111
-
112
- # The project root by default is one level up from the ios directory
113
- export PROJECT_ROOT="$PROJECT_DIR"/..
114
-
115
- if [[ "$CONFIGURATION" = *Debug* ]]; then
116
- export SKIP_BUNDLING=1
117
- fi
118
- if [[ -z "$ENTRY_FILE" ]]; then
119
- # Set the entry JS file using the bundler's entry resolution.
120
- export ENTRY_FILE="$("$NODE_BINARY" -e "require('expo/scripts/resolveAppEntry')" "$PROJECT_ROOT" ios absolute | tail -n 1)"
121
- fi
122
-
123
- if [[ -z "$CLI_PATH" ]]; then
124
- # Use Expo CLI
125
- export CLI_PATH="$("$NODE_BINARY" --print "require.resolve('@expo/cli', { paths: [require.resolve('expo/package.json')] })")"
126
- fi
127
- if [[ -z "$BUNDLE_COMMAND" ]]; then
128
- # Default Expo CLI command for bundling
129
- export BUNDLE_COMMAND="export:embed"
130
- fi
131
-
132
- # Source .xcode.env.updates if it exists to allow
133
- # SKIP_BUNDLING to be unset if needed
134
- if [[ -f "$PODS_ROOT/../.xcode.env.updates" ]]; then
135
- source "$PODS_ROOT/../.xcode.env.updates"
136
- fi
137
- # Source local changes to allow overrides
138
- # if needed
139
- if [[ -f "$PODS_ROOT/../.xcode.env.local" ]]; then
140
- source "$PODS_ROOT/../.xcode.env.local"
141
- fi
142
-
143
- /bin/sh \`"$NODE_BINARY" --print "require('path').dirname(require.resolve('@sentry/react-native/package.json')) + '/scripts/sentry-xcode.sh'"\` \`"$NODE_BINARY" --print "require('path').dirname(require.resolve('react-native/package.json')) + '/scripts/react-native-xcode.sh'"\`
144
- `;
145
-
146
- expect(addSentryWithBundledScriptsToBundleShellScript(input)).toBe(
147
- expectedOutput,
148
- );
149
- });
150
- });
151
-
152
- describe('removeSentryFromBundleShellScript', () => {
153
- it('removes sentry cli from rn bundle build phase', () => {
154
- const input = `export SENTRY_PROPERTIES=sentry.properties
155
- export EXTRA_PACKAGER_ARGS="--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map"
156
- set -e
157
-
158
- WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
159
- REACT_NATIVE_XCODE="../node_modules/react-native/scripts/react-native-xcode.sh"
160
-
161
- /bin/sh -c "$WITH_ENVIRONMENT \"../node_modules/@sentry/cli/bin/sentry-cli react-native xcode $REACT_NATIVE_XCODE\""
162
-
163
- /bin/sh -c "$WITH_ENVIRONMENT ../node_modules/@sentry/react-native/scripts/collect-modules.sh"
164
- `;
165
- const expectedOutput = `export EXTRA_PACKAGER_ARGS="--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map"
166
- set -e
167
-
168
- WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
169
- REACT_NATIVE_XCODE="../node_modules/react-native/scripts/react-native-xcode.sh"
170
-
171
- /bin/sh -c "$WITH_ENVIRONMENT \"$REACT_NATIVE_XCODE\""
172
-
173
- `;
174
-
175
- expect(removeSentryFromBundleShellScript(input)).toBe(expectedOutput);
176
- });
177
-
178
- it('removes sentry bundled scripts from rn bundle build phase', () => {
179
- const input = `set -e
180
-
181
- WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
182
- REACT_NATIVE_XCODE="../node_modules/react-native/scripts/react-native-xcode.sh"
183
-
184
- /bin/sh -c "$WITH_ENVIRONMENT \"/bin/sh ../node_modules/@sentry/react-native/scripts/sentry-xcode.sh $REACT_NATIVE_XCODE\""`;
185
- const expectedOutput = `set -e
186
-
187
- WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
188
- REACT_NATIVE_XCODE="../node_modules/react-native/scripts/react-native-xcode.sh"
189
-
190
- /bin/sh -c "$WITH_ENVIRONMENT \"$REACT_NATIVE_XCODE\""`;
191
-
192
- expect(removeSentryFromBundleShellScript(input)).toBe(expectedOutput);
193
- });
194
- });
195
-
196
- describe('findBundlePhase', () => {
197
- it('returns build phase with react native xcode shell script', () => {
198
- const inputMap = {
199
- 1: {
200
- shellScript: 'foo',
201
- },
202
- 2: {
203
- shellScript: 'bar',
204
- },
205
- 3: {
206
- shellScript: `set -e
207
- WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
208
- REACT_NATIVE_XCODE="../node_modules/react-native/scripts/react-native-xcode.sh"
209
-
210
- /bin/sh -c "$WITH_ENVIRONMENT \"$REACT_NATIVE_XCODE\""
211
-
212
- `,
213
- },
214
- 4: {
215
- shellScript: 'qux',
216
- },
217
- };
218
-
219
- const expected = {
220
- shellScript: `set -e
221
- WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
222
- REACT_NATIVE_XCODE="../node_modules/react-native/scripts/react-native-xcode.sh"
223
-
224
- /bin/sh -c "$WITH_ENVIRONMENT \"$REACT_NATIVE_XCODE\""
225
-
226
- `,
227
- };
228
-
229
- expect(findBundlePhase(inputMap)).toEqual(expected);
230
- });
231
-
232
- it('returns undefined if bundle phase not present', () => {
233
- const inputMap = {
234
- 1: {
235
- shellScript: 'foo',
236
- },
237
- 2: {
238
- shellScript: 'bar',
239
- },
240
- 3: {
241
- // note different path to the script
242
- shellScript: `set -e
243
- WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
244
- REACT_NATIVE_XCODE="../node_modules/react-native/unknown/react-native-xcode.sh"
245
-
246
- /bin/sh -c "$WITH_ENVIRONMENT \"$REACT_NATIVE_XCODE\""
247
-
248
- `,
249
- },
250
- 4: {
251
- shellScript: 'qux',
252
- },
253
- };
254
-
255
- expect(findBundlePhase(inputMap)).toBeUndefined();
256
- });
257
- });
258
-
259
- describe('doesBundlePhaseIncludeSentry', () => {
260
- it('returns true for script containing sentry cli calling react native xcode command', () => {
261
- const input = {
262
- shellScript: `set -e
263
- WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
264
- REACT_NATIVE_XCODE="../node_modules/react-native/scripts/react-native-xcode.sh"
265
- SENTRY_CLI="sentry-cli react-native xcode"
266
-
267
- /bin/sh -c "$WITH_ENVIRONMENT \"$SENTRY_CLI $REACT_NATIVE_XCODE\""
268
- `,
269
- };
270
- expect(doesBundlePhaseIncludeSentry(input)).toBeTruthy();
271
- });
272
-
273
- it('returns true for script containing sentry bundled script', () => {
274
- const input = {
275
- shellScript: `set -e
276
- WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
277
- REACT_NATIVE_XCODE="../node_modules/react-native/scripts/react-native-xcode.sh"
278
- SENTRY_CLI="sentry-cli react-native xcode"
279
-
280
- /bin/sh -c "$WITH_ENVIRONMENT \\"/bin/sh ../node_modules/@sentry/react-native/scripts/sentry-xcode.sh $REACT_NATIVE_XCODE"\\"
281
- `,
282
- };
283
- expect(doesBundlePhaseIncludeSentry(input)).toBeTruthy();
284
- });
285
-
286
- it('returns false', () => {
287
- const input = {
288
- // note sentry-cli can be part of the script but doesn't call react native xcode script
289
- shellScript: `set -e
290
- WITH_ENVIRONMENT="../node_modules/react-native/scripts/xcode/with-environment.sh"
291
- REACT_NATIVE_XCODE="../node_modules/react-native/scripts/react-native-xcode.sh"
292
-
293
- /bin/sh -c "$WITH_ENVIRONMENT \"$REACT_NATIVE_XCODE\""
294
-
295
- sentry-cli --version
296
- `,
297
- };
298
- expect(doesBundlePhaseIncludeSentry(input)).toBeFalsy();
299
- });
300
- });
301
-
302
- describe('findDebugFilesUploadPhase', () => {
303
- it('returns debug files build phase using debug files command', () => {
304
- const input = {
305
- 1: {
306
- shellScript: 'foo',
307
- },
308
- 2: {
309
- shellScript: `set -e
310
- sentry-cli debug-files upload path/to/dsym --include-sources
311
- `,
312
- },
313
- };
314
- const expected = [
315
- '2',
316
- {
317
- shellScript: `set -e
318
- sentry-cli debug-files upload path/to/dsym --include-sources
319
- `,
320
- },
321
- ];
322
- expect(findDebugFilesUploadPhase(input)).toEqual(expected);
323
- });
324
-
325
- it('returns debug files build phase with sentry-cli absolute path', () => {
326
- const input = {
327
- 1: {
328
- shellScript: 'foo',
329
- },
330
- 2: {
331
- shellScript: `set -e
332
- /path/to/bin/sentry-cli debug-files upload path/to/dsym --include-sources
333
- `,
334
- },
335
- };
336
- const expected = [
337
- '2',
338
- {
339
- shellScript: `set -e
340
- /path/to/bin/sentry-cli debug-files upload path/to/dsym --include-sources
341
- `,
342
- },
343
- ];
344
- expect(findDebugFilesUploadPhase(input)).toEqual(expected);
345
- });
346
-
347
- it('returns debug files build phase using dsym command', () => {
348
- const input = {
349
- 1: {
350
- shellScript: 'foo',
351
- },
352
- 2: {
353
- shellScript: `set -e
354
- sentry-cli upload-dsym path/to/dsym --include-sources
355
- `,
356
- },
357
- };
358
- const expected = [
359
- '2',
360
- {
361
- shellScript: `set -e
362
- sentry-cli upload-dsym path/to/dsym --include-sources
363
- `,
364
- },
365
- ];
366
- expect(findDebugFilesUploadPhase(input)).toEqual(expected);
367
- });
368
-
369
- it('returns debug files build phase using bundled scripts', () => {
370
- const input = {
371
- 1: {
372
- shellScript: 'foo',
373
- },
374
- 2: {
375
- shellScript: `/bin/sh ../node_modules/@sentry/react-native/scripts/sentry-xcode-debug-files.sh`,
376
- },
377
- };
378
- const expected = [
379
- '2',
380
- {
381
- shellScript: `/bin/sh ../node_modules/@sentry/react-native/scripts/sentry-xcode-debug-files.sh`,
382
- },
383
- ];
384
- expect(findDebugFilesUploadPhase(input)).toEqual(expected);
385
- });
386
-
387
- it('returns undefined if build phase not present', () => {
388
- const input = {
389
- 1: {
390
- shellScript: 'foo',
391
- },
392
- 2: {
393
- // sentry-cli present but with different command
394
- shellScript: 'sentry-cli sourcempas upload',
395
- },
396
- };
397
-
398
- expect(findDebugFilesUploadPhase(input)).toBeUndefined();
399
- });
400
- });
401
- });
@@ -1,122 +0,0 @@
1
- // @ts-expect-error - magicast is ESM and TS complains about that. It works though
2
- import { parseModule } from 'magicast';
3
- import { updateEntryClientMod } from '../../src/remix/sdk-setup';
4
-
5
- describe('initializeSentryOnEntryClient', () => {
6
- it('should initialize Sentry on client entry with all features enabled', () => {
7
- // Empty entry.client.tsx file for testing
8
- const originalEntryClientMod = parseModule('');
9
-
10
- const dsn = 'https://sentry.io/123';
11
- const selectedFeatures = {
12
- performance: true,
13
- replay: true,
14
- };
15
-
16
- const result = updateEntryClientMod(
17
- originalEntryClientMod,
18
- dsn,
19
- selectedFeatures,
20
- );
21
-
22
- expect(result.generate().code).toMatchInlineSnapshot(`
23
- "import { useEffect,} from "react";
24
-
25
- import {
26
- useLocation,
27
- useMatches,
28
- } from "@remix-run/react";
29
-
30
- import * as Sentry from "@sentry/remix";
31
-
32
- Sentry.init({
33
- dsn: "https://sentry.io/123",
34
- tracesSampleRate: 1,
35
-
36
- integrations: [Sentry.browserTracingIntegration({
37
- useEffect,
38
- useLocation,
39
- useMatches
40
- }), Sentry.replayIntegration({
41
- maskAllText: true,
42
- blockAllMedia: true
43
- })],
44
-
45
- replaysSessionSampleRate: 0.1,
46
- replaysOnErrorSampleRate: 1
47
- })"
48
- `);
49
- });
50
-
51
- it('should initialize Sentry on client entry when performance disabled', () => {
52
- // Empty entry.client.tsx file for testing
53
- const originalEntryClientMod = parseModule('');
54
-
55
- const dsn = 'https://sentry.io/123';
56
- const selectedFeatures = {
57
- performance: false,
58
- replay: true,
59
- };
60
-
61
- const result = updateEntryClientMod(
62
- originalEntryClientMod,
63
- dsn,
64
- selectedFeatures,
65
- );
66
-
67
- expect(result.generate().code).toMatchInlineSnapshot(`
68
- "import * as Sentry from "@sentry/remix";
69
-
70
- Sentry.init({
71
- dsn: "https://sentry.io/123",
72
-
73
- integrations: [Sentry.replayIntegration({
74
- maskAllText: true,
75
- blockAllMedia: true
76
- })],
77
-
78
- replaysSessionSampleRate: 0.1,
79
- replaysOnErrorSampleRate: 1
80
- })"
81
- `);
82
- });
83
-
84
- it('should initialize Sentry on client entry when replay disabled', () => {
85
- // Empty entry.client.tsx file for testing
86
- const originalEntryClientMod = parseModule('');
87
-
88
- const dsn = 'https://sentry.io/123';
89
- const selectedFeatures = {
90
- performance: true,
91
- replay: false,
92
- };
93
-
94
- const result = updateEntryClientMod(
95
- originalEntryClientMod,
96
- dsn,
97
- selectedFeatures,
98
- );
99
-
100
- expect(result.generate().code).toMatchInlineSnapshot(`
101
- "import { useEffect,} from "react";
102
-
103
- import {
104
- useLocation,
105
- useMatches,
106
- } from "@remix-run/react";
107
-
108
- import * as Sentry from "@sentry/remix";
109
-
110
- Sentry.init({
111
- dsn: "https://sentry.io/123",
112
- tracesSampleRate: 1,
113
-
114
- integrations: [Sentry.browserTracingIntegration({
115
- useEffect,
116
- useLocation,
117
- useMatches
118
- })]
119
- })"
120
- `);
121
- });
122
- });
@@ -1,36 +0,0 @@
1
- import { generateServerInstrumentationFile } from '../../src/remix/sdk-setup';
2
-
3
- describe('generateServerInstrumentationFile', () => {
4
- it('should generate server instrumentation file', () => {
5
- const result = generateServerInstrumentationFile('https://sentry.io/123', {
6
- performance: true,
7
- replay: true,
8
- });
9
-
10
- expect(result.instrumentationFileMod.generate().code)
11
- .toMatchInlineSnapshot(`
12
- "import * as Sentry from "@sentry/remix";
13
-
14
- Sentry.init({
15
- dsn: "https://sentry.io/123",
16
- tracesSampleRate: 1
17
- })"
18
- `);
19
- });
20
-
21
- it('should generate server instrumentation file when performance is disabled', () => {
22
- const result = generateServerInstrumentationFile('https://sentry.io/123', {
23
- performance: false,
24
- replay: true,
25
- });
26
-
27
- expect(result.instrumentationFileMod.generate().code)
28
- .toMatchInlineSnapshot(`
29
- "import * as Sentry from "@sentry/remix";
30
-
31
- Sentry.init({
32
- dsn: "https://sentry.io/123"
33
- })"
34
- `);
35
- });
36
- });
@@ -1,57 +0,0 @@
1
- import * as fs from 'fs';
2
-
3
- import { addSentryCommandToBuildCommand } from '../../../src/sourcemaps/tools/sentry-cli';
4
-
5
- import * as packageManagerHelpers from '../../../src/utils/package-manager';
6
-
7
- const writeFileSpy = jest
8
- .spyOn(fs.promises, 'writeFile')
9
- .mockImplementation(() => Promise.resolve());
10
-
11
- jest.mock('@clack/prompts', () => {
12
- return {
13
- log: {
14
- info: jest.fn(),
15
- success: jest.fn(),
16
- },
17
- confirm: jest.fn().mockResolvedValue(true),
18
- isCancel: jest.fn().mockReturnValue(false),
19
- };
20
- });
21
-
22
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
23
- jest.mock('../../../src/utils/clack-utils', () => ({
24
- ...jest.requireActual('../../../src/utils/clack-utils'),
25
- getPackageDotJson: jest.fn().mockResolvedValue({
26
- scripts: {
27
- build: 'tsc',
28
- },
29
- version: '1.0.0',
30
- }),
31
- }));
32
-
33
- describe('addSentryCommandToBuildCommand', () => {
34
- afterEach(() => {
35
- jest.clearAllMocks();
36
- });
37
- it.each([
38
- [
39
- packageManagerHelpers.NPM,
40
- packageManagerHelpers.PNPM,
41
- packageManagerHelpers.YARN_V1,
42
- packageManagerHelpers.YARN_V2,
43
- packageManagerHelpers.BUN,
44
- ],
45
- ])('adds the cli command to the script command (%s)', async (_, pacMan) => {
46
- jest
47
- .spyOn(packageManagerHelpers, 'detectPackageManger')
48
- .mockReturnValue(pacMan);
49
- await addSentryCommandToBuildCommand();
50
- expect(writeFileSpy).toHaveBeenCalledWith(
51
- expect.stringContaining('package.json'),
52
- expect.stringContaining(
53
- `tsc && ${pacMan.runScriptCommand} sentry:sourcemaps`,
54
- ),
55
- );
56
- });
57
- });