@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,20 +0,0 @@
1
- // @ts-ignore - clack is ESM and TS complains about that. It works though
2
- import * as clack from '@clack/prompts';
3
- import chalk from 'chalk';
4
- import { prepareMessage } from '../../lib/Helper/Logging';
5
-
6
- let debugEnabled = false;
7
-
8
- export function debug(...args: unknown[]) {
9
- if (!debugEnabled) {
10
- return;
11
- }
12
-
13
- const msg = args.map((a) => prepareMessage(a)).join(' ');
14
-
15
- clack.log.info(chalk.dim(msg));
16
- }
17
-
18
- export function enableDebugLogs() {
19
- debugEnabled = true;
20
- }
@@ -1,51 +0,0 @@
1
- export type PackageDotJson = {
2
- version?: string;
3
- scripts?: Record<string, string | undefined>;
4
- dependencies?: Record<string, string>;
5
- devDependencies?: Record<string, string>;
6
- resolutions?: Record<string, string>;
7
- overrides?: Record<string, string>;
8
- pnpm?: {
9
- overrides?: Record<string, string>;
10
- };
11
- };
12
-
13
- type NpmPackage = {
14
- name: string;
15
- version: string;
16
- };
17
-
18
- /**
19
- * Checks if @param packageJson has any of the @param packageNamesList package names
20
- * listed as a dependency or devDependency.
21
- * If so, it returns the first package name that is found, including the
22
- * version (range) specified in the package.json.
23
- */
24
- export function findInstalledPackageFromList(
25
- packageNamesList: string[],
26
- packageJson: PackageDotJson,
27
- ): NpmPackage | undefined {
28
- return packageNamesList
29
- .map((packageName) => ({
30
- name: packageName,
31
- version: getPackageVersion(packageName, packageJson),
32
- }))
33
- .find((sdkPackage): sdkPackage is NpmPackage => !!sdkPackage.version);
34
- }
35
-
36
- export function hasPackageInstalled(
37
- packageName: string,
38
- packageJson: PackageDotJson,
39
- ): boolean {
40
- return getPackageVersion(packageName, packageJson) !== undefined;
41
- }
42
-
43
- export function getPackageVersion(
44
- packageName: string,
45
- packageJson: PackageDotJson,
46
- ): string | undefined {
47
- return (
48
- packageJson?.dependencies?.[packageName] ||
49
- packageJson?.devDependencies?.[packageName]
50
- );
51
- }
@@ -1,172 +0,0 @@
1
- /* eslint-disable @typescript-eslint/typedef */
2
- import * as fs from 'fs';
3
- import * as path from 'path';
4
-
5
- import * as Sentry from '@sentry/node';
6
- import { traceStep } from '../telemetry';
7
- import { getPackageDotJson, updatePackageDotJson } from './clack-utils';
8
-
9
- export interface PackageManager {
10
- name: string;
11
- label: string;
12
- installCommand: string;
13
- buildCommand: string;
14
- /* The command that the package manager uses to run a script from package.json */
15
- runScriptCommand: string;
16
- flags: string;
17
- forceInstallFlag: string;
18
- detect: () => boolean;
19
- addOverride: (pkgName: string, pkgVersion: string) => Promise<void>;
20
- }
21
-
22
- export const BUN: PackageManager = {
23
- name: 'bun',
24
- label: 'Bun',
25
- installCommand: 'bun add',
26
- buildCommand: 'bun run build',
27
- runScriptCommand: 'bun run',
28
- flags: '',
29
- forceInstallFlag: '--force',
30
- detect: () =>
31
- ['bun.lockb', 'bun.lock'].some((lockFile) =>
32
- fs.existsSync(path.join(process.cwd(), lockFile)),
33
- ),
34
- addOverride: async (pkgName, pkgVersion): Promise<void> => {
35
- const packageDotJson = await getPackageDotJson();
36
- const overrides = packageDotJson.overrides || {};
37
-
38
- await updatePackageDotJson({
39
- ...packageDotJson,
40
- overrides: {
41
- ...overrides,
42
- [pkgName]: pkgVersion,
43
- },
44
- });
45
- },
46
- };
47
- export const YARN_V1: PackageManager = {
48
- name: 'yarn',
49
- label: 'Yarn V1',
50
- installCommand: 'yarn add',
51
- buildCommand: 'yarn build',
52
- runScriptCommand: 'yarn',
53
- flags: '--ignore-workspace-root-check',
54
- forceInstallFlag: '--force',
55
- detect: () => {
56
- try {
57
- return fs
58
- .readFileSync(path.join(process.cwd(), 'yarn.lock'), 'utf-8')
59
- .slice(0, 500)
60
- .includes('yarn lockfile v1');
61
- } catch (e) {
62
- return false;
63
- }
64
- },
65
- addOverride: async (pkgName, pkgVersion): Promise<void> => {
66
- const packageDotJson = await getPackageDotJson();
67
- const resolutions = packageDotJson.resolutions || {};
68
-
69
- await updatePackageDotJson({
70
- ...packageDotJson,
71
- resolutions: {
72
- ...resolutions,
73
- [pkgName]: pkgVersion,
74
- },
75
- });
76
- },
77
- };
78
- /** YARN V2/3/4 */
79
- export const YARN_V2: PackageManager = {
80
- name: 'yarn',
81
- label: 'Yarn V2/3/4',
82
- installCommand: 'yarn add',
83
- buildCommand: 'yarn build',
84
- runScriptCommand: 'yarn',
85
- flags: '',
86
- forceInstallFlag: '--force',
87
- detect: () => {
88
- try {
89
- return fs
90
- .readFileSync(path.join(process.cwd(), 'yarn.lock'), 'utf-8')
91
- .slice(0, 500)
92
- .includes('__metadata');
93
- } catch (e) {
94
- return false;
95
- }
96
- },
97
- addOverride: async (pkgName, pkgVersion): Promise<void> => {
98
- const packageDotJson = await getPackageDotJson();
99
- const resolutions = packageDotJson.resolutions || {};
100
-
101
- await updatePackageDotJson({
102
- ...packageDotJson,
103
- resolutions: {
104
- ...resolutions,
105
- [pkgName]: pkgVersion,
106
- },
107
- });
108
- },
109
- };
110
- export const PNPM: PackageManager = {
111
- name: 'pnpm',
112
- label: 'PNPM',
113
- installCommand: 'pnpm add',
114
- buildCommand: 'pnpm build',
115
- runScriptCommand: 'pnpm',
116
- flags: '--ignore-workspace-root-check',
117
- forceInstallFlag: '--force',
118
- detect: () => fs.existsSync(path.join(process.cwd(), 'pnpm-lock.yaml')),
119
- addOverride: async (pkgName, pkgVersion): Promise<void> => {
120
- const packageDotJson = await getPackageDotJson();
121
- const pnpm = packageDotJson.pnpm || {};
122
- const overrides = pnpm.overrides || {};
123
-
124
- await updatePackageDotJson({
125
- ...packageDotJson,
126
- pnpm: {
127
- ...pnpm,
128
- overrides: {
129
- ...overrides,
130
- [pkgName]: pkgVersion,
131
- },
132
- },
133
- });
134
- },
135
- };
136
- export const NPM: PackageManager = {
137
- name: 'npm',
138
- label: 'NPM',
139
- installCommand: 'npm add',
140
- buildCommand: 'npm run build',
141
- runScriptCommand: 'npm run',
142
- flags: '',
143
- forceInstallFlag: '--force',
144
- detect: () => fs.existsSync(path.join(process.cwd(), 'package-lock.json')),
145
- addOverride: async (pkgName, pkgVersion): Promise<void> => {
146
- const packageDotJson = await getPackageDotJson();
147
- const overrides = packageDotJson.overrides || {};
148
-
149
- await updatePackageDotJson({
150
- ...packageDotJson,
151
- overrides: {
152
- ...overrides,
153
- [pkgName]: pkgVersion,
154
- },
155
- });
156
- },
157
- };
158
-
159
- export const packageManagers = [BUN, YARN_V1, YARN_V2, PNPM, NPM];
160
-
161
- export function detectPackageManger(): PackageManager | null {
162
- return traceStep('detect-package-manager', () => {
163
- for (const packageManager of packageManagers) {
164
- if (packageManager.detect()) {
165
- Sentry.setTag('package-manager', packageManager.name);
166
- return packageManager;
167
- }
168
- }
169
- Sentry.setTag('package-manager', 'not-detected');
170
- return null;
171
- });
172
- }
@@ -1,19 +0,0 @@
1
- import axios from 'axios';
2
- import { debug } from './debug';
3
- const registryUrl = 'https://release-registry.services.sentry.io/';
4
-
5
- export async function fetchSdkVersion(
6
- sdk: string,
7
- ): Promise<string | undefined> {
8
- try {
9
- const data = (
10
- await axios.get<Record<string, { version: string }>>(
11
- `${registryUrl}/sdks`,
12
- )
13
- ).data;
14
- return data[sdk]?.version;
15
- } catch {
16
- debug('Failed to fetch latest version from release registry.');
17
- }
18
- return undefined;
19
- }
@@ -1,33 +0,0 @@
1
- import { satisfies, subset, valid, validRange } from 'semver';
2
-
3
- export function fulfillsVersionRange({
4
- version,
5
- acceptableVersions,
6
- canBeLatest,
7
- }: {
8
- version: string;
9
- acceptableVersions: string;
10
- canBeLatest: boolean;
11
- }): boolean {
12
- if (version === 'latest') {
13
- return canBeLatest;
14
- }
15
-
16
- let cleanedUserVersion, isRange;
17
-
18
- if (valid(version)) {
19
- cleanedUserVersion = valid(version);
20
- isRange = false;
21
- } else if (validRange(version)) {
22
- cleanedUserVersion = validRange(version);
23
- isRange = true;
24
- }
25
-
26
- return (
27
- // If the given version is a bogus format, this will still be undefined and we'll automatically reject it
28
- !!cleanedUserVersion &&
29
- (isRange
30
- ? subset(cleanedUserVersion, acceptableVersions)
31
- : satisfies(cleanedUserVersion, acceptableVersions))
32
- );
33
- }
@@ -1,24 +0,0 @@
1
- // @ts-ignore - clack is ESM and TS complains about that. It works though
2
- import * as fs from 'fs';
3
- import * as path from 'path';
4
-
5
- export interface SentryCLIConfiguration {
6
- auth_token: string;
7
- }
8
-
9
- export function createSentryCLIRC(
10
- directory: string,
11
- params: SentryCLIConfiguration,
12
- ) {
13
- const rcPath = path.join(directory, '.sentryclirc');
14
- fs.writeFileSync(rcPath, '[auth]\ntoken=' + params.auth_token);
15
-
16
- if (!fs.existsSync('.gitignore')) {
17
- fs.writeFileSync('.gitignore', '.sentryclirc');
18
- } else {
19
- const gitIgnore = fs.readFileSync('.gitignore').toString();
20
- if (!gitIgnore.includes('.sentryclirc')) {
21
- fs.appendFileSync('.gitignore', '\n.sentryclirc');
22
- }
23
- }
24
- }
@@ -1,7 +0,0 @@
1
- export function stripAnsii(str: string): string {
2
- return str.replace(
3
- // eslint-disable-next-line no-control-regex
4
- /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,
5
- '',
6
- );
7
- }
@@ -1,77 +0,0 @@
1
- export interface SentryProjectData {
2
- id: string;
3
- slug: string;
4
- organization: {
5
- id: string;
6
- name: string;
7
- slug: string;
8
- };
9
- keys: [{ dsn: { public: string } }];
10
- }
11
-
12
- export type PreselectedProject = {
13
- project: SentryProjectData;
14
- authToken: string;
15
- selfHosted: boolean;
16
- };
17
-
18
- export type WizardOptions = {
19
- /**
20
- * Controls whether the wizard should send telemetry data to Sentry.
21
- */
22
- telemetryEnabled: boolean;
23
-
24
- /**
25
- * The promo code to use while signing up for Sentry.
26
- * This can be passed via the --promo-code arg.
27
- */
28
- promoCode?: string;
29
-
30
- /**
31
- * The url of the Sentry instance to use.
32
- * This can be passed via the `-u` or `--url` arg.
33
- */
34
- url?: string;
35
-
36
- /**
37
- * The org to pre-select in the wizard.
38
- * This can be passed via the `--org` arg.
39
- * Example: `--org my-org`
40
- */
41
- orgSlug?: string;
42
-
43
- /**
44
- * Project slug to pre-select in the wizard.
45
- * This can be passed via the `--project` arg.
46
- * Example: `--project my-project`
47
- */
48
- projectSlug?: string;
49
-
50
- /**
51
- * If this option is set, the wizard will skip the self-hosted or SaaS
52
- * selection step and directly assume that the wizard is used for Sentry SaaS.
53
- */
54
- saas?: boolean;
55
-
56
- /**
57
- * If this is set, the wizard will skip the login and project selection step.
58
- */
59
- preSelectedProject?: PreselectedProject;
60
-
61
- /**
62
- * Force-install the SDK package to continue with the installation in case
63
- * any package manager checks are failing (e.g. peer dependency versions).
64
- *
65
- * Use with caution and only if you know what you're doing.
66
- *
67
- * Does not apply to all wizard flows (currently NPM only)
68
- */
69
- forceInstall?: boolean;
70
- };
71
-
72
- export interface Feature {
73
- id: string;
74
- prompt: string;
75
- enabledHint?: string;
76
- disabledHint?: string;
77
- }
package/src/utils/url.ts DELETED
@@ -1,27 +0,0 @@
1
- import { URL } from 'url';
2
-
3
- /**
4
- * Returns the url to the Sentry project stream.
5
- *
6
- * Example: https://org-slug.sentry.io/issues/?project=1234567
7
- */
8
- export function getIssueStreamUrl({
9
- url,
10
- orgSlug,
11
- projectId,
12
- }: {
13
- url: string;
14
- orgSlug: string;
15
- projectId: string;
16
- }): string {
17
- const urlObject = new URL(url);
18
- if (urlObject.host === 'sentry.io') {
19
- urlObject.host = `${orgSlug}.${urlObject.host}`;
20
- urlObject.pathname = '/issues/';
21
- } else {
22
- urlObject.pathname = `/organizations/${orgSlug}/issues/`;
23
- }
24
- urlObject.searchParams.set('project', projectId);
25
-
26
- return urlObject.toString();
27
- }
@@ -1,29 +0,0 @@
1
- // Vendored from: https://github.com/sindresorhus/is-unicode-supported/blob/c80c691dde9e2fcfe3996810858c6672c8f35ad9/index.js#L3
2
-
3
- // MIT License
4
-
5
- // Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
6
-
7
- // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
8
-
9
- // The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
10
-
11
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
12
-
13
- export function isUnicodeSupported() {
14
- if (process.platform !== 'win32') {
15
- return process.env.TERM !== 'linux'; // Linux console (kernel)
16
- }
17
-
18
- return (
19
- Boolean(process.env.CI) ||
20
- Boolean(process.env.WT_SESSION) || // Windows Terminal
21
- Boolean(process.env.TERMINUS_SUBLIME) || // Terminus (<0.2.27)
22
- process.env.ConEmuTask === '{cmd::Cmder}' || // ConEmu and cmder
23
- process.env.TERM_PROGRAM === 'Terminus-Sublime' ||
24
- process.env.TERM_PROGRAM === 'vscode' ||
25
- process.env.TERM === 'xterm-256color' ||
26
- process.env.TERM === 'alacritty' ||
27
- process.env.TERMINAL_EMULATOR === 'JetBrains-JediTerm'
28
- );
29
- }
@@ -1,49 +0,0 @@
1
- //@ts-ignore
2
- import { getLastImportLineLocation } from '../../src/android/code-tools';
3
-
4
- describe('code-tools', () => {
5
- describe('getLastImportLineLocation', () => {
6
- it('returns proper line index', () => {
7
- const code = `import a.b.c;\n` + `//<insert-location>\n` + `class X {}`;
8
- expect(getLastImportLineLocation(code)).toBe(
9
- code.indexOf('//<insert-location>'),
10
- );
11
- });
12
-
13
- it('returns proper line index when static import is used', () => {
14
- const code =
15
- `import static a.b.c;\n` + `//<insert-location>\n` + `class X {}`;
16
- expect(getLastImportLineLocation(code)).toBe(
17
- code.indexOf('//<insert-location>'),
18
- );
19
- });
20
-
21
- it('returns proper line index when wildcard import is used', () => {
22
- const code = `import a.b.*\n` + `//<insert-location>\n` + `class X {}`;
23
- expect(getLastImportLineLocation(code)).toBe(
24
- code.indexOf('//<insert-location>'),
25
- );
26
- });
27
-
28
- it('returns proper line index when alias import is used', () => {
29
- const code =
30
- `import static a.b.c as d\n` + `//<insert-location>\n` + `class X {}`;
31
- expect(getLastImportLineLocation(code)).toBe(
32
- code.indexOf('//<insert-location>'),
33
- );
34
- });
35
-
36
- it('returns proper line index when multiple imports are present', () => {
37
- const code =
38
- `import static a.b.c as d\n` +
39
- `import a.b.*\n` +
40
- `import static a.b.c;\n` +
41
- `import a.b.c;\n` +
42
- `//<insert-location>\n` +
43
- `class X {}`;
44
- expect(getLastImportLineLocation(code)).toBe(
45
- code.indexOf('//<insert-location>'),
46
- );
47
- });
48
- });
49
- });