@sentry/wizard 4.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/CHANGELOG.md +6 -2
  2. package/dist/lib/Steps/Integrations/Electron.js +1 -1
  3. package/dist/lib/Steps/Integrations/Electron.js.map +1 -1
  4. package/package.json +5 -2
  5. package/.node-cache/node-v22.14.0-darwin-arm64 +0 -0
  6. package/.node-cache/node-v22.14.0-darwin-x64 +0 -0
  7. package/.node-cache/node-v22.14.0-linux-arm64 +0 -0
  8. package/.node-cache/node-v22.14.0-linux-x64 +0 -0
  9. package/.node-cache/node-v22.14.0-win-x64.exe +0 -0
  10. package/COPYING +0 -3575
  11. package/bin.ts +0 -143
  12. package/codecov.yml +0 -15
  13. package/e2e-tests/.env.example +0 -11
  14. package/e2e-tests/README.md +0 -63
  15. package/e2e-tests/jest.config.ts +0 -22
  16. package/e2e-tests/package.json +0 -14
  17. package/e2e-tests/run.sh +0 -15
  18. package/e2e-tests/test-applications/apple/damaged-missing-configuration-list/Project.xcodeproj/project.pbxproj +0 -52
  19. package/e2e-tests/test-applications/apple/damaged-missing-configuration-list/Project.xcodeproj/xcshareddata/xcschemes/Project1.xcscheme +0 -78
  20. package/e2e-tests/test-applications/apple/no-targets/Project.xcodeproj/project.pbxproj +0 -62
  21. package/e2e-tests/test-applications/apple/no-targets/Project.xcodeproj/xcshareddata/xcschemes/Project1.xcscheme +0 -78
  22. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project.xcodeproj/project.pbxproj +0 -470
  23. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project.xcodeproj/xcshareddata/xcschemes/Project1.xcscheme +0 -78
  24. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project1/ContentView.swift +0 -7
  25. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project1/Project1App.swift +0 -10
  26. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project2/ContentView.swift +0 -7
  27. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project2/Project2App.swift +0 -10
  28. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Project.xcodeproj/project.pbxproj +0 -382
  29. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Project.xcodeproj/xcshareddata/xcschemes/Project.xcscheme +0 -78
  30. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Sources/ContentView.swift +0 -7
  31. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Sources/MainApp.swift +0 -10
  32. package/e2e-tests/test-applications/flutter-test-app/.metadata +0 -45
  33. package/e2e-tests/test-applications/flutter-test-app/README.md +0 -16
  34. package/e2e-tests/test-applications/flutter-test-app/analysis_options.yaml +0 -28
  35. package/e2e-tests/test-applications/flutter-test-app/android/app/build.gradle +0 -44
  36. package/e2e-tests/test-applications/flutter-test-app/android/app/src/debug/AndroidManifest.xml +0 -7
  37. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/AndroidManifest.xml +0 -45
  38. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/kotlin/com/example/flutter_magic/MainActivity.kt +0 -5
  39. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/drawable/launch_background.xml +0 -12
  40. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/drawable-v21/launch_background.xml +0 -12
  41. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  42. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  43. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  44. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  45. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  46. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/values/styles.xml +0 -18
  47. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/values-night/styles.xml +0 -18
  48. package/e2e-tests/test-applications/flutter-test-app/android/app/src/profile/AndroidManifest.xml +0 -7
  49. package/e2e-tests/test-applications/flutter-test-app/android/build.gradle +0 -18
  50. package/e2e-tests/test-applications/flutter-test-app/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  51. package/e2e-tests/test-applications/flutter-test-app/android/gradle.properties +0 -3
  52. package/e2e-tests/test-applications/flutter-test-app/android/settings.gradle +0 -25
  53. package/e2e-tests/test-applications/flutter-test-app/lib/main.dart +0 -125
  54. package/e2e-tests/test-applications/flutter-test-app/linux/CMakeLists.txt +0 -145
  55. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/CMakeLists.txt +0 -88
  56. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/generated_plugin_registrant.cc +0 -11
  57. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/generated_plugin_registrant.h +0 -15
  58. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/generated_plugins.cmake +0 -23
  59. package/e2e-tests/test-applications/flutter-test-app/linux/main.cc +0 -6
  60. package/e2e-tests/test-applications/flutter-test-app/linux/my_application.cc +0 -124
  61. package/e2e-tests/test-applications/flutter-test-app/linux/my_application.h +0 -18
  62. package/e2e-tests/test-applications/flutter-test-app/macos/Flutter/Flutter-Debug.xcconfig +0 -2
  63. package/e2e-tests/test-applications/flutter-test-app/macos/Flutter/Flutter-Release.xcconfig +0 -2
  64. package/e2e-tests/test-applications/flutter-test-app/macos/Flutter/GeneratedPluginRegistrant.swift +0 -10
  65. package/e2e-tests/test-applications/flutter-test-app/macos/Podfile +0 -43
  66. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/AppDelegate.swift +0 -9
  67. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -68
  68. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png +0 -0
  69. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png +0 -0
  70. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png +0 -0
  71. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png +0 -0
  72. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png +0 -0
  73. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png +0 -0
  74. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png +0 -0
  75. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Base.lproj/MainMenu.xib +0 -343
  76. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/AppInfo.xcconfig +0 -14
  77. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/Debug.xcconfig +0 -2
  78. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/Release.xcconfig +0 -2
  79. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/Warnings.xcconfig +0 -13
  80. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/DebugProfile.entitlements +0 -12
  81. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Info.plist +0 -32
  82. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/MainFlutterWindow.swift +0 -15
  83. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Release.entitlements +0 -8
  84. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcodeproj/project.pbxproj +0 -705
  85. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  86. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +0 -98
  87. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcworkspace/contents.xcworkspacedata +0 -7
  88. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  89. package/e2e-tests/test-applications/flutter-test-app/macos/RunnerTests/RunnerTests.swift +0 -12
  90. package/e2e-tests/test-applications/flutter-test-app/pubspec.lock +0 -213
  91. package/e2e-tests/test-applications/flutter-test-app/pubspec.yaml +0 -89
  92. package/e2e-tests/test-applications/flutter-test-app/test/widget_test.dart +0 -30
  93. package/e2e-tests/test-applications/flutter-test-app/web/favicon.png +0 -0
  94. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-192.png +0 -0
  95. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-512.png +0 -0
  96. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-maskable-192.png +0 -0
  97. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-maskable-512.png +0 -0
  98. package/e2e-tests/test-applications/flutter-test-app/web/index.html +0 -38
  99. package/e2e-tests/test-applications/flutter-test-app/web/manifest.json +0 -35
  100. package/e2e-tests/test-applications/flutter-test-app/windows/CMakeLists.txt +0 -108
  101. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/CMakeLists.txt +0 -109
  102. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/generated_plugin_registrant.cc +0 -11
  103. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/generated_plugin_registrant.h +0 -15
  104. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/generated_plugins.cmake +0 -23
  105. package/e2e-tests/test-applications/flutter-test-app/windows/runner/CMakeLists.txt +0 -40
  106. package/e2e-tests/test-applications/flutter-test-app/windows/runner/Runner.rc +0 -121
  107. package/e2e-tests/test-applications/flutter-test-app/windows/runner/flutter_window.cpp +0 -71
  108. package/e2e-tests/test-applications/flutter-test-app/windows/runner/flutter_window.h +0 -33
  109. package/e2e-tests/test-applications/flutter-test-app/windows/runner/main.cpp +0 -43
  110. package/e2e-tests/test-applications/flutter-test-app/windows/runner/resource.h +0 -16
  111. package/e2e-tests/test-applications/flutter-test-app/windows/runner/resources/app_icon.ico +0 -0
  112. package/e2e-tests/test-applications/flutter-test-app/windows/runner/runner.exe.manifest +0 -14
  113. package/e2e-tests/test-applications/flutter-test-app/windows/runner/utils.cpp +0 -65
  114. package/e2e-tests/test-applications/flutter-test-app/windows/runner/utils.h +0 -19
  115. package/e2e-tests/test-applications/flutter-test-app/windows/runner/win32_window.cpp +0 -288
  116. package/e2e-tests/test-applications/flutter-test-app/windows/runner/win32_window.h +0 -102
  117. package/e2e-tests/test-applications/nextjs-test-app/next.config.mjs +0 -4
  118. package/e2e-tests/test-applications/nextjs-test-app/package.json +0 -22
  119. package/e2e-tests/test-applications/nextjs-test-app/src/app/layout.tsx +0 -20
  120. package/e2e-tests/test-applications/nextjs-test-app/src/app/page.tsx +0 -90
  121. package/e2e-tests/test-applications/nuxt-3-test-app/README.md +0 -75
  122. package/e2e-tests/test-applications/nuxt-3-test-app/nuxt.config.ts +0 -5
  123. package/e2e-tests/test-applications/nuxt-3-test-app/package.json +0 -18
  124. package/e2e-tests/test-applications/nuxt-3-test-app/public/favicon.ico +0 -0
  125. package/e2e-tests/test-applications/nuxt-3-test-app/public/robots.txt +0 -1
  126. package/e2e-tests/test-applications/nuxt-4-test-app/README.md +0 -75
  127. package/e2e-tests/test-applications/nuxt-4-test-app/nuxt.config.ts +0 -6
  128. package/e2e-tests/test-applications/nuxt-4-test-app/package.json +0 -18
  129. package/e2e-tests/test-applications/nuxt-4-test-app/public/favicon.ico +0 -0
  130. package/e2e-tests/test-applications/nuxt-4-test-app/public/robots.txt +0 -1
  131. package/e2e-tests/test-applications/remix-test-app/app/entry.client.tsx +0 -18
  132. package/e2e-tests/test-applications/remix-test-app/app/entry.server.tsx +0 -140
  133. package/e2e-tests/test-applications/remix-test-app/app/root.tsx +0 -30
  134. package/e2e-tests/test-applications/remix-test-app/app/routes/_index.tsx +0 -48
  135. package/e2e-tests/test-applications/remix-test-app/app/tailwind.css +0 -3
  136. package/e2e-tests/test-applications/remix-test-app/package.json +0 -37
  137. package/e2e-tests/test-applications/remix-test-app/postcss.config.js +0 -6
  138. package/e2e-tests/test-applications/remix-test-app/tailwind.config.ts +0 -9
  139. package/e2e-tests/test-applications/remix-test-app/vite.config.ts +0 -16
  140. package/e2e-tests/test-applications/sveltekit-test-app/package.json +0 -21
  141. package/e2e-tests/test-applications/sveltekit-test-app/src/app.d.ts +0 -13
  142. package/e2e-tests/test-applications/sveltekit-test-app/src/app.html +0 -11
  143. package/e2e-tests/test-applications/sveltekit-test-app/src/lib/index.ts +0 -1
  144. package/e2e-tests/test-applications/sveltekit-test-app/src/routes/+page.svelte +0 -2
  145. package/e2e-tests/test-applications/sveltekit-test-app/svelte.config.js +0 -18
  146. package/e2e-tests/test-applications/sveltekit-test-app/vite.config.ts +0 -6
  147. package/e2e-tests/tests/flutter.test.ts +0 -127
  148. package/e2e-tests/tests/nextjs.test.ts +0 -161
  149. package/e2e-tests/tests/nuxt-3.test.ts +0 -189
  150. package/e2e-tests/tests/nuxt-4.test.ts +0 -188
  151. package/e2e-tests/tests/remix.test.ts +0 -277
  152. package/e2e-tests/tests/sveltekit.test.ts +0 -284
  153. package/e2e-tests/utils/index.ts +0 -456
  154. package/index.ts +0 -2
  155. package/lib/Constants.ts +0 -118
  156. package/lib/Helper/BottomBar.ts +0 -28
  157. package/lib/Helper/Env.ts +0 -7
  158. package/lib/Helper/File.ts +0 -65
  159. package/lib/Helper/Git.ts +0 -39
  160. package/lib/Helper/Logging.ts +0 -44
  161. package/lib/Helper/MergeConfig.ts +0 -19
  162. package/lib/Helper/Package.ts +0 -80
  163. package/lib/Helper/SentryCli.ts +0 -139
  164. package/lib/Helper/Wizard.ts +0 -58
  165. package/lib/Helper/__tests__/File.ts +0 -15
  166. package/lib/Helper/__tests__/MergeConfig.ts +0 -98
  167. package/lib/Helper/__tests__/SentryCli.ts +0 -86
  168. package/lib/Helper/test-fixtures/next.config.1-merged.js +0 -18
  169. package/lib/Helper/test-fixtures/next.config.1.js +0 -6
  170. package/lib/Helper/test-fixtures/next.config.2.js +0 -8
  171. package/lib/Helper/test-fixtures/next.config.3-merged.js +0 -21
  172. package/lib/Helper/test-fixtures/next.config.3.js +0 -9
  173. package/lib/Helper/test-fixtures/next.config.4-merged.js +0 -21
  174. package/lib/Helper/test-fixtures/next.config.4.js +0 -9
  175. package/lib/Setup.ts +0 -40
  176. package/lib/Steps/BaseStep.ts +0 -25
  177. package/lib/Steps/ChooseIntegration.ts +0 -144
  178. package/lib/Steps/ConfigureProject.ts +0 -10
  179. package/lib/Steps/Initial.ts +0 -35
  180. package/lib/Steps/Integrations/BaseIntegration.ts +0 -42
  181. package/lib/Steps/Integrations/Cordova.ts +0 -283
  182. package/lib/Steps/Integrations/Electron.ts +0 -164
  183. package/lib/Steps/Integrations/MobileProject.ts +0 -72
  184. package/lib/Steps/OpenSentry.ts +0 -80
  185. package/lib/Steps/PromptForParameters.ts +0 -200
  186. package/lib/Steps/Result.ts +0 -22
  187. package/lib/Steps/SentryProjectSelector.ts +0 -83
  188. package/lib/Steps/ShouldConfigure.ts +0 -10
  189. package/lib/Steps/WaitForSentry.ts +0 -56
  190. package/lib/Steps/Welcome.ts +0 -21
  191. package/lib/Steps/index.ts +0 -10
  192. package/lib/__tests__/Env.ts +0 -29
  193. package/scripts/NextJs/configs/_error.js +0 -39
  194. package/scripts/NextJs/configs/next.config.js +0 -36
  195. package/scripts/NextJs/configs/next.config.template.js +0 -12
  196. package/scripts/NextJs/configs/sentry.client.config.js +0 -17
  197. package/scripts/NextJs/configs/sentry.edge.config.js +0 -17
  198. package/scripts/NextJs/configs/sentry.server.config.js +0 -17
  199. package/scripts/NextJs/sentry_sample_error.js +0 -47
  200. package/scripts/craft-pre-release.sh +0 -10
  201. package/src/android/android-wizard.ts +0 -192
  202. package/src/android/code-tools.ts +0 -170
  203. package/src/android/gradle.ts +0 -250
  204. package/src/android/manifest.ts +0 -180
  205. package/src/android/templates.ts +0 -86
  206. package/src/apple/apple-wizard.ts +0 -269
  207. package/src/apple/cocoapod.ts +0 -73
  208. package/src/apple/code-tools.ts +0 -147
  209. package/src/apple/fastlane.ts +0 -170
  210. package/src/apple/templates.ts +0 -65
  211. package/src/apple/xcode-manager.ts +0 -404
  212. package/src/flutter/code-tools.ts +0 -284
  213. package/src/flutter/flutter-wizard.ts +0 -164
  214. package/src/flutter/templates.ts +0 -90
  215. package/src/nextjs/nextjs-wizard.ts +0 -1007
  216. package/src/nextjs/templates.ts +0 -525
  217. package/src/nextjs/utils.ts +0 -21
  218. package/src/nuxt/nuxt-wizard.ts +0 -188
  219. package/src/nuxt/sdk-example.ts +0 -135
  220. package/src/nuxt/sdk-setup.ts +0 -352
  221. package/src/nuxt/templates.ts +0 -303
  222. package/src/nuxt/types.ts +0 -8
  223. package/src/nuxt/utils.ts +0 -42
  224. package/src/react-native/expo-env-file.ts +0 -55
  225. package/src/react-native/expo-metro.ts +0 -212
  226. package/src/react-native/expo.ts +0 -175
  227. package/src/react-native/git.ts +0 -25
  228. package/src/react-native/glob.ts +0 -13
  229. package/src/react-native/gradle.ts +0 -26
  230. package/src/react-native/javascript.ts +0 -103
  231. package/src/react-native/metro.ts +0 -599
  232. package/src/react-native/options.ts +0 -5
  233. package/src/react-native/react-native-wizard.ts +0 -512
  234. package/src/react-native/uninstall.ts +0 -109
  235. package/src/react-native/xcode.ts +0 -302
  236. package/src/remix/codemods/express-server.ts +0 -44
  237. package/src/remix/codemods/handle-error.ts +0 -118
  238. package/src/remix/codemods/root-common.ts +0 -63
  239. package/src/remix/codemods/root-v1.ts +0 -41
  240. package/src/remix/codemods/root-v2.ts +0 -153
  241. package/src/remix/remix-wizard.ts +0 -261
  242. package/src/remix/sdk-example.ts +0 -120
  243. package/src/remix/sdk-setup.ts +0 -546
  244. package/src/remix/templates.ts +0 -11
  245. package/src/remix/utils.ts +0 -96
  246. package/src/run.ts +0 -211
  247. package/src/sourcemaps/sourcemaps-wizard.ts +0 -364
  248. package/src/sourcemaps/tools/angular.ts +0 -42
  249. package/src/sourcemaps/tools/create-react-app.ts +0 -19
  250. package/src/sourcemaps/tools/esbuild.ts +0 -65
  251. package/src/sourcemaps/tools/nextjs.ts +0 -114
  252. package/src/sourcemaps/tools/remix.ts +0 -90
  253. package/src/sourcemaps/tools/rollup.ts +0 -67
  254. package/src/sourcemaps/tools/sentry-cli.ts +0 -287
  255. package/src/sourcemaps/tools/tsc.ts +0 -144
  256. package/src/sourcemaps/tools/types.ts +0 -11
  257. package/src/sourcemaps/tools/vite.ts +0 -300
  258. package/src/sourcemaps/tools/webpack.ts +0 -383
  259. package/src/sourcemaps/utils/detect-tool.ts +0 -46
  260. package/src/sourcemaps/utils/other-wizards.ts +0 -167
  261. package/src/sourcemaps/utils/sdk-version.ts +0 -266
  262. package/src/sveltekit/sdk-example.ts +0 -56
  263. package/src/sveltekit/sdk-setup.ts +0 -667
  264. package/src/sveltekit/sveltekit-wizard.ts +0 -192
  265. package/src/sveltekit/templates.ts +0 -185
  266. package/src/sveltekit/utils.ts +0 -50
  267. package/src/telemetry.ts +0 -144
  268. package/src/utils/ast-utils.ts +0 -270
  269. package/src/utils/bash.ts +0 -57
  270. package/src/utils/clack-utils.ts +0 -1536
  271. package/src/utils/debug.ts +0 -20
  272. package/src/utils/package-json.ts +0 -51
  273. package/src/utils/package-manager.ts +0 -172
  274. package/src/utils/release-registry.ts +0 -19
  275. package/src/utils/semver.ts +0 -33
  276. package/src/utils/sentrycli-utils.ts +0 -24
  277. package/src/utils/string.ts +0 -7
  278. package/src/utils/types.ts +0 -77
  279. package/src/utils/url.ts +0 -27
  280. package/src/utils/vendor/is-unicorn-supported.ts +0 -29
  281. package/test/android/code-tools.test.ts +0 -49
  282. package/test/apple/cocoapod.test.ts +0 -310
  283. package/test/apple/code-tools.test.ts +0 -1042
  284. package/test/apple/fastfile.test.ts +0 -555
  285. package/test/apple/templates.test.ts +0 -191
  286. package/test/apple/xcode-manager.test.ts +0 -1068
  287. package/test/flutter/code-tools.test.ts +0 -212
  288. package/test/flutter/templates.test.ts +0 -100
  289. package/test/nextjs/templates.test.ts +0 -429
  290. package/test/nuxt/templates.test.ts +0 -255
  291. package/test/react-native/expo-metro.test.ts +0 -81
  292. package/test/react-native/expo.test.ts +0 -86
  293. package/test/react-native/gradle.test.ts +0 -310
  294. package/test/react-native/javascript.test.ts +0 -134
  295. package/test/react-native/metro.test.ts +0 -396
  296. package/test/react-native/xcode.test.ts +0 -401
  297. package/test/remix/client-entry.test.ts +0 -122
  298. package/test/remix/server-instrumentation.test.ts +0 -36
  299. package/test/sourcemaps/tools/sentry-cli.test.ts +0 -57
  300. package/test/sourcemaps/tools/tsc.test.ts +0 -181
  301. package/test/sourcemaps/tools/vite.test.ts +0 -149
  302. package/test/sourcemaps/tools/webpack.test.ts +0 -303
  303. package/test/sveltekit/templates.test.ts +0 -152
  304. package/test/utils/ast-utils.test.ts +0 -264
  305. package/test/utils/clack-utils.test.ts +0 -224
  306. package/types/read-env.d.ts +0 -3
  307. 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
- });