@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,310 +0,0 @@
1
- import * as Sentry from '@sentry/node';
2
- import * as fs from 'fs';
3
- import * as os from 'os';
4
- import * as path from 'path';
5
- import {
6
- addCocoaPods,
7
- podInstall,
8
- usesCocoaPod,
9
- } from '../../src/apple/cocoapod';
10
- import * as bash from '../../src/utils/bash';
11
- // @ts-ignore - clack is ESM and TS complains about that. It works though
12
- import * as clack from '@clack/prompts';
13
- jest.mock('@clack/prompts', () => ({
14
- __esModule: true,
15
- ...jest.requireActual('@clack/prompts'),
16
- }));
17
-
18
- jest.mock('../../src/utils/bash');
19
- jest.spyOn(Sentry, 'setTag').mockImplementation();
20
- jest.spyOn(Sentry, 'captureException').mockImplementation();
21
-
22
- const clackSpinnerMock = {
23
- start: jest.fn(),
24
- stop: jest.fn(),
25
- message: jest.fn(),
26
- };
27
-
28
- describe('cocoapod', () => {
29
- beforeEach(() => {
30
- jest.spyOn(clack, 'spinner').mockReturnValue(clackSpinnerMock);
31
- jest.spyOn(clack.log, 'error').mockImplementation();
32
- });
33
-
34
- afterEach(() => {
35
- jest.clearAllMocks();
36
- });
37
-
38
- describe('usesCocoaPod', () => {
39
- describe('Podfile exists', () => {
40
- it('should return true', () => {
41
- // -- Arrange --
42
- const projPath = path.join(os.tmpdir(), 'test-project-with-podfile');
43
- const tempDir = fs.mkdtempSync(projPath);
44
-
45
- const podfile = path.join(tempDir, 'Podfile');
46
- fs.writeFileSync(podfile, '');
47
-
48
- // -- Act --
49
- const result = usesCocoaPod(tempDir);
50
-
51
- // -- Assert --
52
- expect(result).toBeTruthy();
53
- });
54
- });
55
-
56
- describe('Podfile does not exist', () => {
57
- it('should return false', () => {
58
- // -- Arrange --
59
- const projPath = path.join(os.tmpdir(), 'test-project-without-podfile');
60
- const tempDir = fs.mkdtempSync(projPath);
61
-
62
- // -- Act --
63
- const result = usesCocoaPod(tempDir);
64
-
65
- // -- Assert --
66
- expect(result).toBeFalsy();
67
- });
68
- });
69
- });
70
-
71
- describe('addCocoaPods', () => {
72
- describe('Podfile does not exist', () => {
73
- it('should throw an error', async () => {
74
- // -- Arrange --
75
- const projPath = path.join(os.tmpdir(), 'test-project-without-podfile');
76
- const tempDir = fs.mkdtempSync(projPath);
77
-
78
- // -- Act & Assert --
79
- await expect(addCocoaPods(tempDir)).rejects.toThrow(
80
- 'ENOENT: no such file or directory, open',
81
- );
82
- });
83
- });
84
-
85
- describe('Podfile exists', () => {
86
- describe('Podfile includes Sentry pod', () => {
87
- const variations = [
88
- {
89
- case: 'simple',
90
- content: 'pod "Sentry"',
91
- },
92
- {
93
- case: 'with-swiftui',
94
- content: 'pod "SentrySwiftUI"',
95
- },
96
- {
97
- case: 'leading-space',
98
- content: ' pod "Sentry"',
99
- },
100
- {
101
- case: 'leading-space-and-swiftui',
102
- content: ' pod "SentrySwiftUI"',
103
- },
104
- {
105
- case: 'trailing-space',
106
- content: 'pod "Sentry" ',
107
- },
108
- {
109
- case: 'trailing-space-and-swiftui',
110
- content: 'pod "SentrySwiftUI" ',
111
- },
112
- {
113
- case: 'single-quotes',
114
- content: "pod 'Sentry'",
115
- },
116
- {
117
- case: 'double-quotes',
118
- content: 'pod "Sentry"',
119
- },
120
- ];
121
- for (const variation of variations) {
122
- it(`should not change the Podfile for ${variation.case}`, async () => {
123
- // -- Arrange --
124
- const projPath = fs.mkdtempSync(path.join(os.tmpdir(), 'project'));
125
- fs.mkdirSync(projPath, {
126
- recursive: true,
127
- });
128
-
129
- const podfile = path.join(projPath, 'Podfile');
130
- fs.writeFileSync(podfile, variation.content, 'utf8');
131
-
132
- // -- Act --
133
- const result = await addCocoaPods(projPath);
134
-
135
- // -- Assert --
136
- expect(result).toBeTruthy();
137
- expect(fs.readFileSync(podfile, 'utf8')).toBe(variation.content);
138
- });
139
- }
140
- });
141
-
142
- describe('Podfile includes no other pods', () => {
143
- describe('Podfile does not include use_frameworks!', () => {
144
- it('should not change the Podfile', async () => {
145
- // -- Arrange --
146
- const projPath = fs.mkdtempSync(path.join(os.tmpdir(), 'project'));
147
- fs.mkdirSync(projPath, {
148
- recursive: true,
149
- });
150
-
151
- const podfile = path.join(projPath, 'Podfile');
152
- fs.writeFileSync(podfile, '', 'utf8');
153
-
154
- // -- Act --
155
- const result = await addCocoaPods(projPath);
156
-
157
- // -- Assert --
158
- expect(result).toBeFalsy();
159
- expect(fs.readFileSync(podfile, 'utf8')).toBe('');
160
- });
161
- });
162
-
163
- describe('Podfile includes use_frameworks!', () => {
164
- it('should change the Podfile', async () => {
165
- // -- Arrange --
166
- const projPath = fs.mkdtempSync(path.join(os.tmpdir(), 'project'));
167
- fs.mkdirSync(projPath, {
168
- recursive: true,
169
- });
170
-
171
- const podfile = path.join(projPath, 'Podfile');
172
- fs.writeFileSync(podfile, `use_frameworks!`, 'utf8');
173
-
174
- // -- Act --
175
- const result = await addCocoaPods(projPath);
176
-
177
- // -- Assert --
178
- expect(result).toBeTruthy();
179
- expect(fs.readFileSync(podfile, 'utf8')).toBe(
180
- `use_frameworks!\npod 'Sentry'\n`,
181
- );
182
- });
183
- });
184
- });
185
-
186
- describe('Podfile includes other pods', () => {
187
- it('should append Sentry pod after last pod', async () => {
188
- // -- Arrange --
189
- const projPath = fs.mkdtempSync(path.join(os.tmpdir(), 'project'));
190
- fs.mkdirSync(projPath, {
191
- recursive: true,
192
- });
193
-
194
- const podfile = path.join(projPath, 'Podfile');
195
- fs.writeFileSync(podfile, 'pod "OtherPod"', 'utf8');
196
-
197
- // -- Act --
198
- const result = await addCocoaPods(projPath);
199
-
200
- // -- Assert --
201
- expect(result).toBeTruthy();
202
- expect(fs.readFileSync(podfile, 'utf8')).toBe(
203
- `pod "OtherPod"\npod 'Sentry'\n`,
204
- );
205
- });
206
- });
207
- });
208
- });
209
-
210
- describe('podInstall', () => {
211
- let workDir: string;
212
-
213
- beforeEach(() => {
214
- workDir = path.join(os.tmpdir(), 'test-project');
215
- });
216
-
217
- describe('any bash scripts fail', () => {
218
- beforeEach(() => {
219
- jest.spyOn(bash, 'execute').mockRejectedValue(new Error('test error'));
220
- });
221
-
222
- it('should not throw an error', async () => {
223
- // -- Act & Assert --
224
- await expect(podInstall(workDir)).resolves.not.toThrow();
225
- });
226
-
227
- it('should set tag', async () => {
228
- // -- Act --
229
- await podInstall(workDir);
230
-
231
- // -- Assert --
232
- expect(Sentry.setTag).toHaveBeenCalledWith('pods-installed', false);
233
- });
234
-
235
- it('should capture exception', async () => {
236
- // -- Act --
237
- await podInstall(workDir);
238
-
239
- // -- Assert --
240
- expect(Sentry.captureException).toHaveBeenCalledWith(
241
- 'Sentry pod install failed.',
242
- );
243
- });
244
-
245
- it('should start and stop spinner', async () => {
246
- // -- Act --
247
- await podInstall(workDir);
248
-
249
- // -- Assert --
250
- expect(clackSpinnerMock.start).toHaveBeenCalledWith(
251
- "Running 'pod install'. This may take a few minutes...",
252
- );
253
- expect(clackSpinnerMock.stop).toHaveBeenCalledWith(
254
- 'Failed to install pods.',
255
- );
256
- });
257
- });
258
-
259
- describe('all bash scripts work', () => {
260
- beforeEach(() => {
261
- jest.spyOn(bash, 'execute').mockResolvedValue('');
262
- });
263
-
264
- it('should call pod update and install', async () => {
265
- // -- Act --
266
- await podInstall(workDir);
267
-
268
- // -- Assert --
269
- expect(bash.execute).toHaveBeenCalledWith(
270
- `cd ${workDir} && pod repo update`,
271
- );
272
- expect(bash.execute).toHaveBeenCalledWith(
273
- `cd ${workDir} && pod install --silent`,
274
- );
275
- });
276
-
277
- it('should set tag', async () => {
278
- // -- Act --
279
- await podInstall(workDir);
280
-
281
- // -- Assert --
282
- expect(Sentry.setTag).toHaveBeenCalledWith('pods-installed', true);
283
- });
284
-
285
- it('should start and stop spinner', async () => {
286
- // -- Act --
287
- await podInstall(workDir);
288
-
289
- // -- Assert --
290
- expect(clackSpinnerMock.start).toHaveBeenCalledWith(
291
- "Running 'pod install'. This may take a few minutes...",
292
- );
293
- expect(clackSpinnerMock.stop).toHaveBeenCalledWith('Pods installed.');
294
- });
295
- });
296
-
297
- describe('dir not given', () => {
298
- it('should use current directory', async () => {
299
- // -- Act --
300
- await podInstall();
301
-
302
- // -- Assert --
303
- expect(bash.execute).toHaveBeenCalledWith(`cd . && pod repo update`);
304
- expect(bash.execute).toHaveBeenCalledWith(
305
- `cd . && pod install --silent`,
306
- );
307
- });
308
- });
309
- });
310
- });