@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,46 +0,0 @@
1
- import { getPackageDotJson } from '../../utils/clack-utils';
2
- import { findInstalledPackageFromList } from '../../utils/package-json';
3
-
4
- export type SupportedTools =
5
- | 'webpack'
6
- | 'vite'
7
- | 'rollup'
8
- | 'esbuild'
9
- | 'tsc'
10
- | 'sentry-cli'
11
- | 'create-react-app'
12
- | 'angular'
13
- | 'nextjs'
14
- | 'remix'
15
- | 'no-tool';
16
-
17
- // A map of package names pointing to the tool slug.
18
- // The order is important, because we want to detect the most specific tool first.
19
- // For instance, webpack needs to come before tsc because typescript c
20
- // Similarly
21
- export const TOOL_PACKAGE_MAP: Record<string, SupportedTools> = {
22
- '@angular/core': 'angular',
23
- 'create-react-app': 'create-react-app',
24
- next: 'nextjs',
25
- webpack: 'webpack',
26
- vite: 'vite',
27
- esbuild: 'esbuild',
28
- rollup: 'rollup',
29
- typescript: 'tsc',
30
- remix: 'remix',
31
- };
32
-
33
- export async function detectUsedTool(): Promise<SupportedTools> {
34
- const packageJson = await getPackageDotJson();
35
-
36
- const foundToolPackage = findInstalledPackageFromList(
37
- Object.keys(TOOL_PACKAGE_MAP),
38
- packageJson,
39
- );
40
-
41
- if (foundToolPackage) {
42
- return TOOL_PACKAGE_MAP[foundToolPackage.name];
43
- }
44
-
45
- return 'sentry-cli';
46
- }
@@ -1,167 +0,0 @@
1
- // @ts-ignore - clack is ESM and TS complains about that. It works though
2
- import clack from '@clack/prompts';
3
- import chalk from 'chalk';
4
- import { runSvelteKitWizard } from '../../sveltekit/sveltekit-wizard';
5
-
6
- import {
7
- abort,
8
- abortIfCancelled,
9
- getPackageDotJson,
10
- } from '../../utils/clack-utils';
11
- import {
12
- findInstalledPackageFromList,
13
- hasPackageInstalled,
14
- } from '../../utils/package-json';
15
-
16
- import * as Sentry from '@sentry/node';
17
- import { WizardOptions } from '../../utils/types';
18
-
19
- import * as childProcess from 'child_process';
20
-
21
- type WizardFunction = (options: WizardOptions) => Promise<void>;
22
-
23
- type FrameworkInfo = {
24
- frameworkName: string;
25
- frameworkPackage: string;
26
- troubleshootingDocsLink: string;
27
- sourcemapsDocsLink: string;
28
- wizard: WizardFunction;
29
- };
30
-
31
- const sdkMap: Record<string, FrameworkInfo> = {
32
- '@sentry/sveltekit': {
33
- frameworkName: 'SvelteKit',
34
- frameworkPackage: '@sveltejs/kit',
35
- sourcemapsDocsLink:
36
- 'https://docs.sentry.io/platforms/javascript/guides/sveltekit/manual-setup/#configure-source-maps-upload',
37
- troubleshootingDocsLink:
38
- 'https://docs.sentry.io/platforms/javascript/guides/sveltekit/sourcemaps/troubleshooting_js/',
39
- wizard: runSvelteKitWizard,
40
- },
41
- '@sentry/react-native': {
42
- frameworkName: 'React Native',
43
- frameworkPackage: 'react-native',
44
- sourcemapsDocsLink:
45
- 'https://docs.sentry.io/platforms/react-native/sourcemaps/',
46
- troubleshootingDocsLink:
47
- 'https://docs.sentry.io/platforms/react-native/troubleshooting/#source-maps',
48
- wizard: runReactNativeWizard,
49
- },
50
- };
51
-
52
- export async function checkIfMoreSuitableWizardExistsAndAskForRedirect(): Promise<
53
- WizardFunction | undefined
54
- > {
55
- const sdkName = await checkIfMoreSuitableWizardExists();
56
-
57
- if (!sdkName) {
58
- return undefined;
59
- }
60
-
61
- return await askForRedirect(sdkName);
62
- }
63
-
64
- async function checkIfMoreSuitableWizardExists(): Promise<string | undefined> {
65
- Sentry.setTag('using-wrong-wizard', false);
66
-
67
- const packageJson = await getPackageDotJson();
68
-
69
- const installedSdkPackage = findInstalledPackageFromList(
70
- Object.keys(sdkMap),
71
- packageJson,
72
- );
73
-
74
- if (!installedSdkPackage) {
75
- return undefined;
76
- }
77
-
78
- const sdkPackageName = installedSdkPackage.name;
79
-
80
- const { frameworkPackage } = sdkMap[sdkPackageName];
81
-
82
- if (!hasPackageInstalled(frameworkPackage, packageJson)) {
83
- // The user has installed the SDK but not the framework.
84
- // Maybe it's a false positive and the user is using a different framework.
85
- // Let's not redirect them to the framework wizard in that case.
86
- return undefined;
87
- }
88
-
89
- Sentry.setTag('using-wrong-wizard', true);
90
-
91
- return sdkPackageName;
92
- }
93
-
94
- async function askForRedirect(
95
- sdkName: string,
96
- ): Promise<WizardFunction | undefined> {
97
- const { frameworkName, sourcemapsDocsLink, troubleshootingDocsLink, wizard } =
98
- sdkMap[sdkName];
99
-
100
- clack.log.warn(
101
- `${chalk.yellow(
102
- `It seems like you're using this wizard in a ${frameworkName} project.`,
103
- )}
104
-
105
- We recommend using our dedicated ${frameworkName} wizard instead of this wizard.
106
- The ${frameworkName} wizard will set up our ${sdkName} SDK and also configure uploading source maps for you.
107
-
108
- If you already tried the ${frameworkName} wizard and it didn't work for you, check out the following guides:
109
-
110
- Manual source maps configuration for ${frameworkName}:
111
- ${sourcemapsDocsLink}
112
-
113
- Troubleshooting Source Maps:
114
- ${troubleshootingDocsLink}
115
- `,
116
- );
117
-
118
- const nextStep: 'redirect' | 'continue' | 'stop' = await abortIfCancelled(
119
- clack.select({
120
- message: `Do you want to run the ${frameworkName} wizard now?`,
121
- options: [
122
- {
123
- label: 'Yes',
124
- value: 'redirect',
125
- hint: `${chalk.green('Recommended')}`,
126
- },
127
- {
128
- label: 'No, continue with this wizard',
129
- value: 'continue',
130
- },
131
- {
132
- label: "No, I'll check out the guides ",
133
- value: 'stop',
134
- hint: 'Exit this wizard',
135
- },
136
- ],
137
- }),
138
- );
139
-
140
- Sentry.setTag('wrong-wizard-decision', nextStep);
141
-
142
- switch (nextStep) {
143
- case 'redirect':
144
- return wizard;
145
- case 'stop':
146
- await abort('Exiting Wizard', 0);
147
- break;
148
- default:
149
- return undefined;
150
- }
151
- }
152
-
153
- function runReactNativeWizard(): Promise<void> {
154
- const [runner, ...wizardArgs] = [...process.argv];
155
- wizardArgs.push('--integration', 'reactNative');
156
-
157
- try {
158
- childProcess.spawnSync(runner, wizardArgs, {
159
- cwd: process.cwd(),
160
- stdio: 'inherit',
161
- });
162
- } catch {
163
- return Promise.reject();
164
- }
165
-
166
- return Promise.resolve();
167
- }
@@ -1,266 +0,0 @@
1
- // @ts-ignore - clack is ESM and TS complains about that. It works though
2
- import clack from '@clack/prompts';
3
- import chalk from 'chalk';
4
- import { minVersion, satisfies } from 'semver';
5
- import {
6
- abortIfCancelled,
7
- getPackageDotJson,
8
- installPackage,
9
- } from '../../utils/clack-utils';
10
-
11
- import * as Sentry from '@sentry/node';
12
- import { findInstalledPackageFromList } from '../../utils/package-json';
13
-
14
- const MINIMUM_DEBUG_ID_SDK_VERSION = '7.47.0';
15
-
16
- // This array is orderd by the SDKs we want to check for first.
17
- // The reason is that some SDKs depend on others and some users might
18
- // have added the dependencies to their package.json. We want to make sure
19
- // that we actually detect the "top-level" SDK first.
20
- const SENTRY_SDK_PACKAGE_NAMES = [
21
- // SDKs using other framework SDKs need to be checked first
22
- '@sentry/astro',
23
- '@sentry/gatsby',
24
- '@sentry/nextjs',
25
- '@sentry/nuxt',
26
- '@sentry/remix',
27
- '@sentry/solidstart',
28
- '@sentry/sveltekit',
29
-
30
- // Framework SDKs
31
- '@sentry/angular',
32
- '@sentry/angular-ivy',
33
- '@sentry/aws-serverless',
34
- '@sentry/bun',
35
- '@sentry/ember',
36
- '@sentry/google-cloud-serverless',
37
- '@sentry/nestjs',
38
- '@sentry/react',
39
- '@sentry/solid',
40
- '@sentry/svelte',
41
- '@sentry/vue',
42
- '@sentry/serverless',
43
-
44
- // Base SDKs
45
- '@sentry/browser',
46
- '@sentry/node',
47
- '@sentry/deno',
48
- ];
49
-
50
- /**
51
- * Check for a minimum SDK version and prompt the user to upgrade if necessary.
52
- * We distinguish between 4 cases here:
53
- *
54
- * 1. Users didn't install any SDK yet
55
- * -> We tell them to install an SDK and then continue with the wizard
56
- * 2. Users installed an SDK in the range >=7.47.0
57
- * -> All good, no need to do anything!
58
- * 3. Users installed an SDK in the range >=7.0.0 <= 7.46.0
59
- * -> We ask if they want to auto-update to the latest version
60
- * 4. Users installed an SDK in the range <7.x
61
- * -> We tell users to manually upgrade (migrate between majors)
62
- */
63
- export async function ensureMinimumSdkVersionIsInstalled(): Promise<void> {
64
- const installedSdkPackage = findInstalledPackageFromList(
65
- SENTRY_SDK_PACKAGE_NAMES,
66
- await getPackageDotJson(),
67
- );
68
-
69
- // Case 1:
70
- if (!installedSdkPackage) {
71
- return await handleNoSdkInstalled();
72
- }
73
-
74
- const { name: installedSdkName, version: installedSdkVersionOrRange } =
75
- installedSdkPackage;
76
-
77
- Sentry.setTag('installed-sdk', installedSdkName);
78
-
79
- const minInstalledVersion = getMinInstalledVersion(
80
- installedSdkVersionOrRange,
81
- installedSdkName,
82
- );
83
-
84
- if (!minInstalledVersion) {
85
- // This is handled in the getMinInstalledVersion function
86
- return;
87
- }
88
-
89
- const hasDebugIdCompatibleSdkVersion = satisfies(
90
- minInstalledVersion,
91
- `>=${MINIMUM_DEBUG_ID_SDK_VERSION}`,
92
- );
93
-
94
- // Case 2:
95
- if (hasDebugIdCompatibleSdkVersion) {
96
- Sentry.setTag('initial-sdk-version', '>=7.47.0');
97
- return;
98
- }
99
-
100
- const hasV7SdkVersion = satisfies(minInstalledVersion, '>=7.0.0');
101
-
102
- clack.log.warn(
103
- `${chalk.yellowBright(
104
- `It seems like you're using an outdated version (${installedSdkVersionOrRange}) of the ${chalk.bold(
105
- installedSdkName,
106
- )} SDK.`,
107
- )}
108
- Uploading source maps is easiest with an SDK from version ${chalk.bold(
109
- MINIMUM_DEBUG_ID_SDK_VERSION,
110
- )} or newer.
111
- `,
112
- );
113
-
114
- // Case 3:
115
- if (hasV7SdkVersion) {
116
- await handleAutoUpdateSdk(installedSdkName);
117
- return;
118
- }
119
-
120
- // Case 4:
121
- await handleManuallyUpdateSdk(minInstalledVersion);
122
- }
123
-
124
- async function handleManuallyUpdateSdk(minInstalledVersion: string) {
125
- Sentry.setTag(
126
- 'initial-sdk-version',
127
- `${satisfies(minInstalledVersion, '>=6.0.0') ? '6.x' : '<6.0.0'}`,
128
- );
129
-
130
- clack.log
131
- .info(`When upgrading from a version older than 7.0.0, make sure to follow the migration guide:
132
- https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md#upgrading-from-6x-to-7x
133
- `);
134
-
135
- const didUpdate = await abortIfCancelled(
136
- clack.select({
137
- message: 'Did you update your SDK to the latest version?',
138
- options: [
139
- {
140
- label: 'Yes!',
141
- value: true,
142
- },
143
- {
144
- label: "No, I'll do it later...",
145
- value: false,
146
- hint: chalk.yellow(
147
- `Remember to update your SDK to at least ${MINIMUM_DEBUG_ID_SDK_VERSION}.`,
148
- ),
149
- },
150
- ],
151
- initialValue: true,
152
- }),
153
- );
154
-
155
- Sentry.setTag(
156
- 'resolved-sdk-status',
157
- didUpdate ? 'updated-manually' : 'update-later',
158
- );
159
- }
160
-
161
- async function handleAutoUpdateSdk(packageName: string) {
162
- Sentry.setTag('initial-sdk-version', '>=7.0.0 <7.47.0');
163
-
164
- const shouldUpdate = await abortIfCancelled(
165
- clack.select({
166
- message:
167
- 'Do you want to automatically update your SDK to the latest version?',
168
- options: [
169
- {
170
- label: 'Yes!',
171
- value: true,
172
- hint: chalk.green('Recommended'),
173
- },
174
- {
175
- label: "No, I'll do it later...",
176
- value: false,
177
- hint: chalk.yellow(
178
- `Remember to update your SDK to at least ${MINIMUM_DEBUG_ID_SDK_VERSION}.`,
179
- ),
180
- },
181
- ],
182
- initialValue: true,
183
- }),
184
- );
185
-
186
- if (shouldUpdate) {
187
- await installPackage({
188
- packageName,
189
- alreadyInstalled: true,
190
- askBeforeUpdating: false, // we already did this above
191
- });
192
- }
193
-
194
- Sentry.setTag(
195
- 'resolved-sdk-status',
196
- shouldUpdate ? 'updated-automatically' : 'update-later',
197
- );
198
- }
199
-
200
- async function handleNoSdkInstalled(): Promise<void> {
201
- Sentry.setTag('initial-sdk-version', 'none');
202
- Sentry.setTag('installed-sdk', 'none');
203
-
204
- clack.log.warn(
205
- `${chalk.yellowBright(
206
- `It seems like you didn't yet install a Sentry SDK in your project.`,
207
- )}
208
- We recommend setting up the SDK before continuing with the source maps wizard.
209
-
210
- ${chalk.dim(`Take a look at our docs to get started:
211
- https://docs.sentry.io/`)}`,
212
- );
213
-
214
- const installedSDK = await abortIfCancelled(
215
- clack.select({
216
- message: 'Did you set up your Sentry SDK?',
217
- options: [
218
- { label: 'Yes, continue!', value: true },
219
- {
220
- label: "I'll do it later...",
221
- value: false,
222
- hint: chalk.yellow(
223
- 'You need to set up an SDK before you can use Sentry',
224
- ),
225
- },
226
- ],
227
- initialValue: true,
228
- }),
229
- );
230
-
231
- Sentry.setTag(
232
- 'resolved-sdk-status',
233
- installedSDK ? 'installed-manually' : 'install-later',
234
- );
235
- }
236
-
237
- function getMinInstalledVersion(
238
- installedSdkVersionOrRange: string,
239
- installedSdkName: string,
240
- ): string | undefined {
241
- try {
242
- // If `minVersion` is unable to parse the version it will throw an error
243
- // However, it will also return `null` if the parameter is undefined, which
244
- // we explicitly checked before but the typing doesn't know that.
245
- const minInstalledVersion = minVersion(installedSdkVersionOrRange)?.version;
246
- if (minInstalledVersion) {
247
- return minInstalledVersion;
248
- }
249
- } catch {
250
- // handling this, along with the `null` case below
251
- }
252
-
253
- Sentry.setTag('initial-sdk-version', 'unknown');
254
- clack.log.warn(
255
- `${chalk.yellow(
256
- `Could not parse the version of your installed SDK ("${installedSdkName}": "${installedSdkVersionOrRange}")`,
257
- )}
258
-
259
- Please make sure that your Sentry SDK is updated to version ${chalk.bold(
260
- MINIMUM_DEBUG_ID_SDK_VERSION,
261
- )} or newer.
262
- `,
263
- );
264
-
265
- return undefined;
266
- }
@@ -1,56 +0,0 @@
1
- import * as fs from 'fs';
2
- import * as path from 'path';
3
- // @ts-ignore - clack is ESM and TS complains about that. It works though
4
- import clack from '@clack/prompts';
5
-
6
- import { PartialSvelteConfig } from './sdk-setup';
7
- import {
8
- getSentryExampleApiRoute,
9
- getSentryExampleSveltePage,
10
- } from './templates';
11
-
12
- /**
13
- * Creates example page and API route to test Sentry
14
- */
15
- export async function createExamplePage(
16
- svelteConfig: PartialSvelteConfig,
17
- projectProps: {
18
- selfHosted: boolean;
19
- url: string;
20
- orgSlug: string;
21
- projectId: string;
22
- },
23
- ): Promise<void> {
24
- const routesDirectory = svelteConfig.kit?.files?.routes || 'src/routes';
25
- const exampleRoutePath = path.resolve(
26
- path.join(routesDirectory, 'sentry-example'),
27
- );
28
-
29
- if (!fs.existsSync(routesDirectory)) {
30
- clack.log.warn(
31
- `Couldn't find your routes directory. Creating it now: ${routesDirectory}`,
32
- );
33
- fs.mkdirSync(routesDirectory, { recursive: true });
34
- }
35
-
36
- if (!fs.existsSync(exampleRoutePath)) {
37
- fs.mkdirSync(exampleRoutePath);
38
- } else {
39
- clack.log.warn(
40
- `It seems like a sentry example page already exists (${path.basename(
41
- exampleRoutePath,
42
- )}). Skipping creation of example route.`,
43
- );
44
- return;
45
- }
46
-
47
- await fs.promises.writeFile(
48
- path.join(exampleRoutePath, '+page.svelte'),
49
- getSentryExampleSveltePage(projectProps),
50
- );
51
-
52
- await fs.promises.writeFile(
53
- path.join(exampleRoutePath, '+server.js'),
54
- getSentryExampleApiRoute(),
55
- );
56
- }