@sentry/wizard 3.42.1 → 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 (585) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/bin.js +44 -35
  3. package/dist/bin.js.map +1 -1
  4. package/dist/e2e-tests/jest.config.js +1 -1
  5. package/dist/e2e-tests/jest.config.js.map +1 -1
  6. package/dist/e2e-tests/tests/flutter.test.js +62 -147
  7. package/dist/e2e-tests/tests/flutter.test.js.map +1 -1
  8. package/dist/e2e-tests/tests/nextjs.test.js +77 -175
  9. package/dist/e2e-tests/tests/nextjs.test.js.map +1 -1
  10. package/dist/e2e-tests/tests/nuxt-3.test.js +61 -162
  11. package/dist/e2e-tests/tests/nuxt-3.test.js.map +1 -1
  12. package/dist/e2e-tests/tests/nuxt-4.test.js +62 -163
  13. package/dist/e2e-tests/tests/nuxt-4.test.js.map +1 -1
  14. package/dist/e2e-tests/tests/remix.test.js +147 -189
  15. package/dist/e2e-tests/tests/remix.test.js.map +1 -1
  16. package/dist/e2e-tests/tests/sveltekit.test.js +133 -187
  17. package/dist/e2e-tests/tests/sveltekit.test.js.map +1 -1
  18. package/dist/e2e-tests/utils/index.d.ts +1 -1
  19. package/dist/e2e-tests/utils/index.js +113 -195
  20. package/dist/e2e-tests/utils/index.js.map +1 -1
  21. package/dist/lib/Constants.js +5 -5
  22. package/dist/lib/Constants.js.map +1 -1
  23. package/dist/lib/Helper/BottomBar.d.ts +1 -1
  24. package/dist/lib/Helper/BottomBar.js +14 -15
  25. package/dist/lib/Helper/BottomBar.js.map +1 -1
  26. package/dist/lib/Helper/Env.js +5 -2
  27. package/dist/lib/Helper/Env.js.map +1 -1
  28. package/dist/lib/Helper/File.js +14 -27
  29. package/dist/lib/Helper/File.js.map +1 -1
  30. package/dist/lib/Helper/Git.js +24 -59
  31. package/dist/lib/Helper/Git.js.map +1 -1
  32. package/dist/lib/Helper/Logging.js +2 -2
  33. package/dist/lib/Helper/Logging.js.map +1 -1
  34. package/dist/lib/Helper/MergeConfig.js +4 -4
  35. package/dist/lib/Helper/MergeConfig.js.map +1 -1
  36. package/dist/lib/Helper/Package.d.ts +4 -1
  37. package/dist/lib/Helper/Package.js +12 -38
  38. package/dist/lib/Helper/Package.js.map +1 -1
  39. package/dist/lib/Helper/SentryCli.js +77 -149
  40. package/dist/lib/Helper/SentryCli.js.map +1 -1
  41. package/dist/lib/Helper/Wizard.js +29 -124
  42. package/dist/lib/Helper/Wizard.js.map +1 -1
  43. package/dist/lib/Helper/__tests__/File.js +4 -4
  44. package/dist/lib/Helper/__tests__/File.js.map +1 -1
  45. package/dist/lib/Helper/__tests__/MergeConfig.js +24 -24
  46. package/dist/lib/Helper/__tests__/MergeConfig.js.map +1 -1
  47. package/dist/lib/Helper/__tests__/SentryCli.js +33 -23
  48. package/dist/lib/Helper/__tests__/SentryCli.js.map +1 -1
  49. package/dist/lib/Setup.js +23 -85
  50. package/dist/lib/Setup.js.map +1 -1
  51. package/dist/lib/Steps/BaseStep.js +8 -8
  52. package/dist/lib/Steps/BaseStep.js.map +1 -1
  53. package/dist/lib/Steps/ChooseIntegration.js +80 -125
  54. package/dist/lib/Steps/ChooseIntegration.js.map +1 -1
  55. package/dist/lib/Steps/ConfigureProject.js +6 -66
  56. package/dist/lib/Steps/ConfigureProject.js.map +1 -1
  57. package/dist/lib/Steps/Initial.js +16 -104
  58. package/dist/lib/Steps/Initial.js.map +1 -1
  59. package/dist/lib/Steps/Integrations/BaseIntegration.js +24 -118
  60. package/dist/lib/Steps/Integrations/BaseIntegration.js.map +1 -1
  61. package/dist/lib/Steps/Integrations/Cordova.js +95 -183
  62. package/dist/lib/Steps/Integrations/Cordova.js.map +1 -1
  63. package/dist/lib/Steps/Integrations/Electron.js +87 -145
  64. package/dist/lib/Steps/Integrations/Electron.js.map +1 -1
  65. package/dist/lib/Steps/Integrations/MobileProject.js +40 -148
  66. package/dist/lib/Steps/Integrations/MobileProject.js.map +1 -1
  67. package/dist/lib/Steps/OpenSentry.js +63 -126
  68. package/dist/lib/Steps/OpenSentry.js.map +1 -1
  69. package/dist/lib/Steps/PromptForParameters.js +110 -206
  70. package/dist/lib/Steps/PromptForParameters.js.map +1 -1
  71. package/dist/lib/Steps/Result.js +19 -79
  72. package/dist/lib/Steps/Result.js.map +1 -1
  73. package/dist/lib/Steps/SentryProjectSelector.js +57 -148
  74. package/dist/lib/Steps/SentryProjectSelector.js.map +1 -1
  75. package/dist/lib/Steps/ShouldConfigure.js +6 -66
  76. package/dist/lib/Steps/ShouldConfigure.js.map +1 -1
  77. package/dist/lib/Steps/WaitForSentry.js +43 -120
  78. package/dist/lib/Steps/WaitForSentry.js.map +1 -1
  79. package/dist/lib/Steps/Welcome.js +17 -76
  80. package/dist/lib/Steps/Welcome.js.map +1 -1
  81. package/dist/lib/__tests__/Env.js +3 -3
  82. package/dist/lib/__tests__/Env.js.map +1 -1
  83. package/dist/src/android/android-wizard.js +100 -176
  84. package/dist/src/android/android-wizard.js.map +1 -1
  85. package/dist/src/android/code-tools.js +24 -33
  86. package/dist/src/android/code-tools.js.map +1 -1
  87. package/dist/src/android/gradle.js +106 -165
  88. package/dist/src/android/gradle.js.map +1 -1
  89. package/dist/src/android/manifest.js +26 -27
  90. package/dist/src/android/manifest.js.map +1 -1
  91. package/dist/src/android/templates.js +76 -23
  92. package/dist/src/android/templates.js.map +1 -1
  93. package/dist/src/apple/apple-wizard.js +129 -225
  94. package/dist/src/apple/apple-wizard.js.map +1 -1
  95. package/dist/src/apple/cocoapod.js +47 -109
  96. package/dist/src/apple/cocoapod.js.map +1 -1
  97. package/dist/src/apple/code-tools.js +32 -35
  98. package/dist/src/apple/code-tools.js.map +1 -1
  99. package/dist/src/apple/fastlane.js +51 -97
  100. package/dist/src/apple/fastlane.js.map +1 -1
  101. package/dist/src/apple/templates.js +41 -5
  102. package/dist/src/apple/templates.js.map +1 -1
  103. package/dist/src/apple/xcode-manager.d.ts +2 -2
  104. package/dist/src/apple/xcode-manager.js +93 -108
  105. package/dist/src/apple/xcode-manager.js.map +1 -1
  106. package/dist/src/flutter/code-tools.js +79 -127
  107. package/dist/src/flutter/code-tools.js.map +1 -1
  108. package/dist/src/flutter/flutter-wizard.js +75 -136
  109. package/dist/src/flutter/flutter-wizard.js.map +1 -1
  110. package/dist/src/flutter/templates.js +48 -12
  111. package/dist/src/flutter/templates.js.map +1 -1
  112. package/dist/src/nextjs/nextjs-wizard.js +527 -805
  113. package/dist/src/nextjs/nextjs-wizard.js.map +1 -1
  114. package/dist/src/nextjs/templates.js +380 -40
  115. package/dist/src/nextjs/templates.js.map +1 -1
  116. package/dist/src/nextjs/utils.js +5 -5
  117. package/dist/src/nextjs/utils.js.map +1 -1
  118. package/dist/src/nuxt/nuxt-wizard.js +91 -188
  119. package/dist/src/nuxt/nuxt-wizard.js.map +1 -1
  120. package/dist/src/nuxt/sdk-example.js +68 -137
  121. package/dist/src/nuxt/sdk-example.js.map +1 -1
  122. package/dist/src/nuxt/sdk-setup.d.ts +4 -4
  123. package/dist/src/nuxt/sdk-setup.js +180 -336
  124. package/dist/src/nuxt/sdk-setup.js.map +1 -1
  125. package/dist/src/nuxt/templates.js +195 -18
  126. package/dist/src/nuxt/templates.js.map +1 -1
  127. package/dist/src/nuxt/utils.js +29 -76
  128. package/dist/src/nuxt/utils.js.map +1 -1
  129. package/dist/src/react-native/expo-env-file.js +41 -94
  130. package/dist/src/react-native/expo-env-file.js.map +1 -1
  131. package/dist/src/react-native/expo-metro.d.ts +1 -1
  132. package/dist/src/react-native/expo-metro.js +75 -130
  133. package/dist/src/react-native/expo-metro.js.map +1 -1
  134. package/dist/src/react-native/expo.js +61 -114
  135. package/dist/src/react-native/expo.js.map +1 -1
  136. package/dist/src/react-native/git.js +23 -56
  137. package/dist/src/react-native/git.js.map +1 -1
  138. package/dist/src/react-native/glob.js +3 -3
  139. package/dist/src/react-native/glob.js.map +1 -1
  140. package/dist/src/react-native/gradle.js +4 -4
  141. package/dist/src/react-native/gradle.js.map +1 -1
  142. package/dist/src/react-native/javascript.js +51 -95
  143. package/dist/src/react-native/javascript.js.map +1 -1
  144. package/dist/src/react-native/metro.js +176 -296
  145. package/dist/src/react-native/metro.js.map +1 -1
  146. package/dist/src/react-native/react-native-wizard.js +267 -418
  147. package/dist/src/react-native/react-native-wizard.js.map +1 -1
  148. package/dist/src/react-native/uninstall.js +37 -80
  149. package/dist/src/react-native/uninstall.js.map +1 -1
  150. package/dist/src/react-native/xcode.js +57 -55
  151. package/dist/src/react-native/xcode.js.map +1 -1
  152. package/dist/src/remix/codemods/express-server.js +27 -82
  153. package/dist/src/remix/codemods/express-server.js.map +1 -1
  154. package/dist/src/remix/codemods/handle-error.js +28 -31
  155. package/dist/src/remix/codemods/handle-error.js.map +1 -1
  156. package/dist/src/remix/codemods/root-common.js +11 -11
  157. package/dist/src/remix/codemods/root-common.js.map +1 -1
  158. package/dist/src/remix/codemods/root-v1.js +17 -67
  159. package/dist/src/remix/codemods/root-v1.js.map +1 -1
  160. package/dist/src/remix/codemods/root-v2.js +89 -140
  161. package/dist/src/remix/codemods/root-v2.js.map +1 -1
  162. package/dist/src/remix/remix-wizard.js +181 -343
  163. package/dist/src/remix/remix-wizard.js.map +1 -1
  164. package/dist/src/remix/sdk-example.js +84 -66
  165. package/dist/src/remix/sdk-example.js.map +1 -1
  166. package/dist/src/remix/sdk-setup.js +161 -293
  167. package/dist/src/remix/sdk-setup.js.map +1 -1
  168. package/dist/src/remix/templates.js +10 -2
  169. package/dist/src/remix/templates.js.map +1 -1
  170. package/dist/src/remix/utils.js +13 -14
  171. package/dist/src/remix/utils.js.map +1 -1
  172. package/dist/src/run.js +106 -178
  173. package/dist/src/run.js.map +1 -1
  174. package/dist/src/sourcemaps/sourcemaps-wizard.js +248 -372
  175. package/dist/src/sourcemaps/sourcemaps-wizard.js.map +1 -1
  176. package/dist/src/sourcemaps/tools/angular.js +32 -66
  177. package/dist/src/sourcemaps/tools/angular.js.map +1 -1
  178. package/dist/src/sourcemaps/tools/create-react-app.js +14 -59
  179. package/dist/src/sourcemaps/tools/create-react-app.js.map +1 -1
  180. package/dist/src/sourcemaps/tools/esbuild.js +34 -77
  181. package/dist/src/sourcemaps/tools/esbuild.js.map +1 -1
  182. package/dist/src/sourcemaps/tools/nextjs.d.ts +2 -2
  183. package/dist/src/sourcemaps/tools/nextjs.js +75 -102
  184. package/dist/src/sourcemaps/tools/nextjs.js.map +1 -1
  185. package/dist/src/sourcemaps/tools/remix.js +53 -93
  186. package/dist/src/sourcemaps/tools/remix.js.map +1 -1
  187. package/dist/src/sourcemaps/tools/rollup.js +35 -76
  188. package/dist/src/sourcemaps/tools/rollup.js.map +1 -1
  189. package/dist/src/sourcemaps/tools/sentry-cli.js +157 -289
  190. package/dist/src/sourcemaps/tools/sentry-cli.js.map +1 -1
  191. package/dist/src/sourcemaps/tools/tsc.js +68 -134
  192. package/dist/src/sourcemaps/tools/tsc.js.map +1 -1
  193. package/dist/src/sourcemaps/tools/vite.js +111 -196
  194. package/dist/src/sourcemaps/tools/vite.js.map +1 -1
  195. package/dist/src/sourcemaps/tools/webpack.d.ts +1 -1
  196. package/dist/src/sourcemaps/tools/webpack.js +158 -260
  197. package/dist/src/sourcemaps/tools/webpack.js.map +1 -1
  198. package/dist/src/sourcemaps/utils/detect-tool.js +9 -54
  199. package/dist/src/sourcemaps/utils/detect-tool.js.map +1 -1
  200. package/dist/src/sourcemaps/utils/other-wizards.js +77 -144
  201. package/dist/src/sourcemaps/utils/other-wizards.js.map +1 -1
  202. package/dist/src/sourcemaps/utils/sdk-version.js +112 -191
  203. package/dist/src/sourcemaps/utils/sdk-version.js.map +1 -1
  204. package/dist/src/sveltekit/sdk-example.js +20 -70
  205. package/dist/src/sveltekit/sdk-example.js.map +1 -1
  206. package/dist/src/sveltekit/sdk-setup.js +250 -411
  207. package/dist/src/sveltekit/sdk-setup.js.map +1 -1
  208. package/dist/src/sveltekit/sveltekit-wizard.js +107 -191
  209. package/dist/src/sveltekit/sveltekit-wizard.js.map +1 -1
  210. package/dist/src/sveltekit/templates.js +147 -13
  211. package/dist/src/sveltekit/templates.js.map +1 -1
  212. package/dist/src/sveltekit/utils.js +3 -3
  213. package/dist/src/sveltekit/utils.js.map +1 -1
  214. package/dist/src/telemetry.d.ts +2 -2
  215. package/dist/src/telemetry.js +58 -108
  216. package/dist/src/telemetry.js.map +1 -1
  217. package/dist/src/utils/ast-utils.js +39 -54
  218. package/dist/src/utils/ast-utils.js.map +1 -1
  219. package/dist/src/utils/bash.js +28 -75
  220. package/dist/src/utils/bash.js.map +1 -1
  221. package/dist/src/utils/clack-utils.d.ts +3 -7
  222. package/dist/src/utils/clack-utils.js +688 -1083
  223. package/dist/src/utils/clack-utils.js.map +1 -1
  224. package/dist/src/utils/debug.js +6 -10
  225. package/dist/src/utils/debug.js.map +1 -1
  226. package/dist/src/utils/package-json.js +5 -6
  227. package/dist/src/utils/package-json.js.map +1 -1
  228. package/dist/src/utils/package-manager.js +65 -139
  229. package/dist/src/utils/package-manager.js.map +1 -1
  230. package/dist/src/utils/release-registry.js +12 -59
  231. package/dist/src/utils/release-registry.js.map +1 -1
  232. package/dist/src/utils/semver.js +3 -4
  233. package/dist/src/utils/semver.js.map +1 -1
  234. package/dist/src/utils/sentrycli-utils.js +4 -4
  235. package/dist/src/utils/sentrycli-utils.js.map +1 -1
  236. package/dist/src/utils/url.js +5 -6
  237. package/dist/src/utils/url.js.map +1 -1
  238. package/dist/test/android/code-tools.test.js +18 -18
  239. package/dist/test/android/code-tools.test.js.map +1 -1
  240. package/dist/test/apple/cocoapod.test.js +154 -299
  241. package/dist/test/apple/cocoapod.test.js.map +1 -1
  242. package/dist/test/apple/code-tools.test.js +375 -263
  243. package/dist/test/apple/code-tools.test.js.map +1 -1
  244. package/dist/test/apple/fastfile.test.js +319 -271
  245. package/dist/test/apple/fastfile.test.js.map +1 -1
  246. package/dist/test/apple/templates.test.js +114 -30
  247. package/dist/test/apple/templates.test.js.map +1 -1
  248. package/dist/test/apple/xcode-manager.test.js +230 -234
  249. package/dist/test/apple/xcode-manager.test.js.map +1 -1
  250. package/dist/test/flutter/code-tools.test.js +119 -48
  251. package/dist/test/flutter/code-tools.test.js.map +1 -1
  252. package/dist/test/flutter/templates.test.js +63 -20
  253. package/dist/test/flutter/templates.test.js.map +1 -1
  254. package/dist/test/nextjs/templates.test.js +332 -43
  255. package/dist/test/nextjs/templates.test.js.map +1 -1
  256. package/dist/test/nuxt/templates.test.js +161 -33
  257. package/dist/test/nuxt/templates.test.js.map +1 -1
  258. package/dist/test/react-native/expo-metro.test.js +61 -15
  259. package/dist/test/react-native/expo-metro.test.js.map +1 -1
  260. package/dist/test/react-native/expo.test.js +37 -17
  261. package/dist/test/react-native/expo.test.js.map +1 -1
  262. package/dist/test/react-native/gradle.test.js +260 -28
  263. package/dist/test/react-native/gradle.test.js.map +1 -1
  264. package/dist/test/react-native/javascript.test.js +85 -19
  265. package/dist/test/react-native/javascript.test.js.map +1 -1
  266. package/dist/test/react-native/metro.test.js +261 -187
  267. package/dist/test/react-native/metro.test.js.map +1 -1
  268. package/dist/test/react-native/xcode.test.js +243 -62
  269. package/dist/test/react-native/xcode.test.js.map +1 -1
  270. package/dist/test/remix/client-entry.test.js +81 -21
  271. package/dist/test/remix/client-entry.test.js.map +1 -1
  272. package/dist/test/remix/server-instrumentation.test.js +21 -8
  273. package/dist/test/remix/server-instrumentation.test.js.map +1 -1
  274. package/dist/test/sourcemaps/tools/sentry-cli.test.js +20 -72
  275. package/dist/test/sourcemaps/tools/sentry-cli.test.js.map +1 -1
  276. package/dist/test/sourcemaps/tools/tsc.test.js +142 -68
  277. package/dist/test/sourcemaps/tools/tsc.test.js.map +1 -1
  278. package/dist/test/sourcemaps/tools/vite.test.js +106 -75
  279. package/dist/test/sourcemaps/tools/vite.test.js.map +1 -1
  280. package/dist/test/sourcemaps/tools/webpack.test.js +226 -102
  281. package/dist/test/sourcemaps/tools/webpack.test.js.map +1 -1
  282. package/dist/test/sveltekit/templates.test.js +117 -18
  283. package/dist/test/sveltekit/templates.test.js.map +1 -1
  284. package/dist/test/utils/ast-utils.test.js +99 -58
  285. package/dist/test/utils/ast-utils.test.js.map +1 -1
  286. package/dist/test/utils/clack-utils.test.js +142 -247
  287. package/dist/test/utils/clack-utils.test.js.map +1 -1
  288. package/package.json +16 -9
  289. package/bin.ts +0 -138
  290. package/codecov.yml +0 -15
  291. package/dist/package.json +0 -128
  292. package/e2e-tests/.env.example +0 -11
  293. package/e2e-tests/README.md +0 -63
  294. package/e2e-tests/jest.config.ts +0 -22
  295. package/e2e-tests/package.json +0 -14
  296. package/e2e-tests/run.sh +0 -15
  297. package/e2e-tests/test-applications/apple/damaged-missing-configuration-list/Project.xcodeproj/project.pbxproj +0 -52
  298. package/e2e-tests/test-applications/apple/damaged-missing-configuration-list/Project.xcodeproj/xcshareddata/xcschemes/Project1.xcscheme +0 -78
  299. package/e2e-tests/test-applications/apple/no-targets/Project.xcodeproj/project.pbxproj +0 -62
  300. package/e2e-tests/test-applications/apple/no-targets/Project.xcodeproj/xcshareddata/xcschemes/Project1.xcscheme +0 -78
  301. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project.xcodeproj/project.pbxproj +0 -470
  302. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project.xcodeproj/xcshareddata/xcschemes/Project1.xcscheme +0 -78
  303. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project1/ContentView.swift +0 -7
  304. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project1/Project1App.swift +0 -10
  305. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project2/ContentView.swift +0 -7
  306. package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project2/Project2App.swift +0 -10
  307. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Project.xcodeproj/project.pbxproj +0 -382
  308. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Project.xcodeproj/xcshareddata/xcschemes/Project.xcscheme +0 -78
  309. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Sources/ContentView.swift +0 -7
  310. package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Sources/MainApp.swift +0 -10
  311. package/e2e-tests/test-applications/flutter-test-app/.metadata +0 -45
  312. package/e2e-tests/test-applications/flutter-test-app/README.md +0 -16
  313. package/e2e-tests/test-applications/flutter-test-app/analysis_options.yaml +0 -28
  314. package/e2e-tests/test-applications/flutter-test-app/android/app/build.gradle +0 -44
  315. package/e2e-tests/test-applications/flutter-test-app/android/app/src/debug/AndroidManifest.xml +0 -7
  316. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/AndroidManifest.xml +0 -45
  317. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/kotlin/com/example/flutter_magic/MainActivity.kt +0 -5
  318. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/drawable/launch_background.xml +0 -12
  319. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/drawable-v21/launch_background.xml +0 -12
  320. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  321. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  322. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  323. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  324. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  325. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/values/styles.xml +0 -18
  326. package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/values-night/styles.xml +0 -18
  327. package/e2e-tests/test-applications/flutter-test-app/android/app/src/profile/AndroidManifest.xml +0 -7
  328. package/e2e-tests/test-applications/flutter-test-app/android/build.gradle +0 -18
  329. package/e2e-tests/test-applications/flutter-test-app/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  330. package/e2e-tests/test-applications/flutter-test-app/android/gradle.properties +0 -3
  331. package/e2e-tests/test-applications/flutter-test-app/android/settings.gradle +0 -25
  332. package/e2e-tests/test-applications/flutter-test-app/lib/main.dart +0 -125
  333. package/e2e-tests/test-applications/flutter-test-app/linux/CMakeLists.txt +0 -145
  334. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/CMakeLists.txt +0 -88
  335. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/generated_plugin_registrant.cc +0 -11
  336. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/generated_plugin_registrant.h +0 -15
  337. package/e2e-tests/test-applications/flutter-test-app/linux/flutter/generated_plugins.cmake +0 -23
  338. package/e2e-tests/test-applications/flutter-test-app/linux/main.cc +0 -6
  339. package/e2e-tests/test-applications/flutter-test-app/linux/my_application.cc +0 -124
  340. package/e2e-tests/test-applications/flutter-test-app/linux/my_application.h +0 -18
  341. package/e2e-tests/test-applications/flutter-test-app/macos/Flutter/Flutter-Debug.xcconfig +0 -2
  342. package/e2e-tests/test-applications/flutter-test-app/macos/Flutter/Flutter-Release.xcconfig +0 -2
  343. package/e2e-tests/test-applications/flutter-test-app/macos/Flutter/GeneratedPluginRegistrant.swift +0 -10
  344. package/e2e-tests/test-applications/flutter-test-app/macos/Podfile +0 -43
  345. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/AppDelegate.swift +0 -9
  346. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -68
  347. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png +0 -0
  348. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png +0 -0
  349. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png +0 -0
  350. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png +0 -0
  351. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png +0 -0
  352. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png +0 -0
  353. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png +0 -0
  354. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Base.lproj/MainMenu.xib +0 -343
  355. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/AppInfo.xcconfig +0 -14
  356. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/Debug.xcconfig +0 -2
  357. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/Release.xcconfig +0 -2
  358. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/Warnings.xcconfig +0 -13
  359. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/DebugProfile.entitlements +0 -12
  360. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Info.plist +0 -32
  361. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/MainFlutterWindow.swift +0 -15
  362. package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Release.entitlements +0 -8
  363. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcodeproj/project.pbxproj +0 -705
  364. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  365. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +0 -98
  366. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcworkspace/contents.xcworkspacedata +0 -7
  367. package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  368. package/e2e-tests/test-applications/flutter-test-app/macos/RunnerTests/RunnerTests.swift +0 -12
  369. package/e2e-tests/test-applications/flutter-test-app/pubspec.lock +0 -213
  370. package/e2e-tests/test-applications/flutter-test-app/pubspec.yaml +0 -89
  371. package/e2e-tests/test-applications/flutter-test-app/test/widget_test.dart +0 -30
  372. package/e2e-tests/test-applications/flutter-test-app/web/favicon.png +0 -0
  373. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-192.png +0 -0
  374. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-512.png +0 -0
  375. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-maskable-192.png +0 -0
  376. package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-maskable-512.png +0 -0
  377. package/e2e-tests/test-applications/flutter-test-app/web/index.html +0 -38
  378. package/e2e-tests/test-applications/flutter-test-app/web/manifest.json +0 -35
  379. package/e2e-tests/test-applications/flutter-test-app/windows/CMakeLists.txt +0 -108
  380. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/CMakeLists.txt +0 -109
  381. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/generated_plugin_registrant.cc +0 -11
  382. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/generated_plugin_registrant.h +0 -15
  383. package/e2e-tests/test-applications/flutter-test-app/windows/flutter/generated_plugins.cmake +0 -23
  384. package/e2e-tests/test-applications/flutter-test-app/windows/runner/CMakeLists.txt +0 -40
  385. package/e2e-tests/test-applications/flutter-test-app/windows/runner/Runner.rc +0 -121
  386. package/e2e-tests/test-applications/flutter-test-app/windows/runner/flutter_window.cpp +0 -71
  387. package/e2e-tests/test-applications/flutter-test-app/windows/runner/flutter_window.h +0 -33
  388. package/e2e-tests/test-applications/flutter-test-app/windows/runner/main.cpp +0 -43
  389. package/e2e-tests/test-applications/flutter-test-app/windows/runner/resource.h +0 -16
  390. package/e2e-tests/test-applications/flutter-test-app/windows/runner/resources/app_icon.ico +0 -0
  391. package/e2e-tests/test-applications/flutter-test-app/windows/runner/runner.exe.manifest +0 -14
  392. package/e2e-tests/test-applications/flutter-test-app/windows/runner/utils.cpp +0 -65
  393. package/e2e-tests/test-applications/flutter-test-app/windows/runner/utils.h +0 -19
  394. package/e2e-tests/test-applications/flutter-test-app/windows/runner/win32_window.cpp +0 -288
  395. package/e2e-tests/test-applications/flutter-test-app/windows/runner/win32_window.h +0 -102
  396. package/e2e-tests/test-applications/nextjs-test-app/next.config.mjs +0 -4
  397. package/e2e-tests/test-applications/nextjs-test-app/package.json +0 -22
  398. package/e2e-tests/test-applications/nextjs-test-app/src/app/layout.tsx +0 -20
  399. package/e2e-tests/test-applications/nextjs-test-app/src/app/page.tsx +0 -90
  400. package/e2e-tests/test-applications/nuxt-3-test-app/README.md +0 -75
  401. package/e2e-tests/test-applications/nuxt-3-test-app/nuxt.config.ts +0 -5
  402. package/e2e-tests/test-applications/nuxt-3-test-app/package.json +0 -18
  403. package/e2e-tests/test-applications/nuxt-3-test-app/public/favicon.ico +0 -0
  404. package/e2e-tests/test-applications/nuxt-3-test-app/public/robots.txt +0 -1
  405. package/e2e-tests/test-applications/nuxt-4-test-app/README.md +0 -75
  406. package/e2e-tests/test-applications/nuxt-4-test-app/nuxt.config.ts +0 -6
  407. package/e2e-tests/test-applications/nuxt-4-test-app/package.json +0 -18
  408. package/e2e-tests/test-applications/nuxt-4-test-app/public/favicon.ico +0 -0
  409. package/e2e-tests/test-applications/nuxt-4-test-app/public/robots.txt +0 -1
  410. package/e2e-tests/test-applications/remix-test-app/app/entry.client.tsx +0 -18
  411. package/e2e-tests/test-applications/remix-test-app/app/entry.server.tsx +0 -140
  412. package/e2e-tests/test-applications/remix-test-app/app/root.tsx +0 -30
  413. package/e2e-tests/test-applications/remix-test-app/app/routes/_index.tsx +0 -48
  414. package/e2e-tests/test-applications/remix-test-app/app/tailwind.css +0 -3
  415. package/e2e-tests/test-applications/remix-test-app/package.json +0 -37
  416. package/e2e-tests/test-applications/remix-test-app/postcss.config.js +0 -6
  417. package/e2e-tests/test-applications/remix-test-app/tailwind.config.ts +0 -9
  418. package/e2e-tests/test-applications/remix-test-app/vite.config.ts +0 -16
  419. package/e2e-tests/test-applications/sveltekit-test-app/package.json +0 -21
  420. package/e2e-tests/test-applications/sveltekit-test-app/src/app.d.ts +0 -13
  421. package/e2e-tests/test-applications/sveltekit-test-app/src/app.html +0 -11
  422. package/e2e-tests/test-applications/sveltekit-test-app/src/lib/index.ts +0 -1
  423. package/e2e-tests/test-applications/sveltekit-test-app/src/routes/+page.svelte +0 -2
  424. package/e2e-tests/test-applications/sveltekit-test-app/svelte.config.js +0 -18
  425. package/e2e-tests/test-applications/sveltekit-test-app/vite.config.ts +0 -6
  426. package/e2e-tests/tests/flutter.test.ts +0 -127
  427. package/e2e-tests/tests/nextjs.test.ts +0 -161
  428. package/e2e-tests/tests/nuxt-3.test.ts +0 -189
  429. package/e2e-tests/tests/nuxt-4.test.ts +0 -188
  430. package/e2e-tests/tests/remix.test.ts +0 -277
  431. package/e2e-tests/tests/sveltekit.test.ts +0 -284
  432. package/e2e-tests/utils/index.ts +0 -438
  433. package/index.ts +0 -2
  434. package/lib/Constants.ts +0 -118
  435. package/lib/Helper/BottomBar.ts +0 -28
  436. package/lib/Helper/Env.ts +0 -7
  437. package/lib/Helper/File.ts +0 -65
  438. package/lib/Helper/Git.ts +0 -39
  439. package/lib/Helper/Logging.ts +0 -44
  440. package/lib/Helper/MergeConfig.ts +0 -19
  441. package/lib/Helper/Package.ts +0 -78
  442. package/lib/Helper/SentryCli.ts +0 -148
  443. package/lib/Helper/Wizard.ts +0 -59
  444. package/lib/Helper/__tests__/File.ts +0 -15
  445. package/lib/Helper/__tests__/MergeConfig.ts +0 -98
  446. package/lib/Helper/__tests__/SentryCli.ts +0 -86
  447. package/lib/Helper/test-fixtures/next.config.1-merged.js +0 -18
  448. package/lib/Helper/test-fixtures/next.config.1.js +0 -6
  449. package/lib/Helper/test-fixtures/next.config.2.js +0 -8
  450. package/lib/Helper/test-fixtures/next.config.3-merged.js +0 -21
  451. package/lib/Helper/test-fixtures/next.config.3.js +0 -9
  452. package/lib/Helper/test-fixtures/next.config.4-merged.js +0 -21
  453. package/lib/Helper/test-fixtures/next.config.4.js +0 -9
  454. package/lib/Setup.ts +0 -41
  455. package/lib/Steps/BaseStep.ts +0 -25
  456. package/lib/Steps/ChooseIntegration.ts +0 -112
  457. package/lib/Steps/ConfigureProject.ts +0 -10
  458. package/lib/Steps/Initial.ts +0 -44
  459. package/lib/Steps/Integrations/BaseIntegration.ts +0 -48
  460. package/lib/Steps/Integrations/Cordova.ts +0 -289
  461. package/lib/Steps/Integrations/Electron.ts +0 -161
  462. package/lib/Steps/Integrations/MobileProject.ts +0 -69
  463. package/lib/Steps/OpenSentry.ts +0 -75
  464. package/lib/Steps/PromptForParameters.ts +0 -207
  465. package/lib/Steps/Result.ts +0 -22
  466. package/lib/Steps/SentryProjectSelector.ts +0 -82
  467. package/lib/Steps/ShouldConfigure.ts +0 -10
  468. package/lib/Steps/WaitForSentry.ts +0 -50
  469. package/lib/Steps/Welcome.ts +0 -21
  470. package/lib/Steps/index.ts +0 -10
  471. package/lib/__tests__/Env.ts +0 -29
  472. package/scripts/NextJs/configs/_error.js +0 -39
  473. package/scripts/NextJs/configs/next.config.js +0 -36
  474. package/scripts/NextJs/configs/next.config.template.js +0 -12
  475. package/scripts/NextJs/configs/sentry.client.config.js +0 -17
  476. package/scripts/NextJs/configs/sentry.edge.config.js +0 -17
  477. package/scripts/NextJs/configs/sentry.server.config.js +0 -17
  478. package/scripts/NextJs/sentry_sample_error.js +0 -47
  479. package/scripts/craft-pre-release.sh +0 -10
  480. package/src/android/android-wizard.ts +0 -192
  481. package/src/android/code-tools.ts +0 -170
  482. package/src/android/gradle.ts +0 -250
  483. package/src/android/manifest.ts +0 -180
  484. package/src/android/templates.ts +0 -86
  485. package/src/apple/apple-wizard.ts +0 -269
  486. package/src/apple/cocoapod.ts +0 -73
  487. package/src/apple/code-tools.ts +0 -147
  488. package/src/apple/fastlane.ts +0 -170
  489. package/src/apple/templates.ts +0 -65
  490. package/src/apple/xcode-manager.ts +0 -404
  491. package/src/flutter/code-tools.ts +0 -284
  492. package/src/flutter/flutter-wizard.ts +0 -164
  493. package/src/flutter/templates.ts +0 -90
  494. package/src/nextjs/nextjs-wizard.ts +0 -1007
  495. package/src/nextjs/templates.ts +0 -526
  496. package/src/nextjs/utils.ts +0 -21
  497. package/src/nuxt/nuxt-wizard.ts +0 -188
  498. package/src/nuxt/sdk-example.ts +0 -135
  499. package/src/nuxt/sdk-setup.ts +0 -349
  500. package/src/nuxt/templates.ts +0 -303
  501. package/src/nuxt/types.ts +0 -8
  502. package/src/nuxt/utils.ts +0 -42
  503. package/src/react-native/expo-env-file.ts +0 -55
  504. package/src/react-native/expo-metro.ts +0 -212
  505. package/src/react-native/expo.ts +0 -175
  506. package/src/react-native/git.ts +0 -25
  507. package/src/react-native/glob.ts +0 -13
  508. package/src/react-native/gradle.ts +0 -26
  509. package/src/react-native/javascript.ts +0 -103
  510. package/src/react-native/metro.ts +0 -599
  511. package/src/react-native/options.ts +0 -5
  512. package/src/react-native/react-native-wizard.ts +0 -513
  513. package/src/react-native/uninstall.ts +0 -110
  514. package/src/react-native/xcode.ts +0 -302
  515. package/src/remix/codemods/express-server.ts +0 -44
  516. package/src/remix/codemods/handle-error.ts +0 -118
  517. package/src/remix/codemods/root-common.ts +0 -63
  518. package/src/remix/codemods/root-v1.ts +0 -41
  519. package/src/remix/codemods/root-v2.ts +0 -153
  520. package/src/remix/remix-wizard.ts +0 -261
  521. package/src/remix/sdk-example.ts +0 -120
  522. package/src/remix/sdk-setup.ts +0 -546
  523. package/src/remix/templates.ts +0 -11
  524. package/src/remix/utils.ts +0 -96
  525. package/src/run.ts +0 -204
  526. package/src/sourcemaps/sourcemaps-wizard.ts +0 -364
  527. package/src/sourcemaps/tools/angular.ts +0 -42
  528. package/src/sourcemaps/tools/create-react-app.ts +0 -19
  529. package/src/sourcemaps/tools/esbuild.ts +0 -65
  530. package/src/sourcemaps/tools/nextjs.ts +0 -114
  531. package/src/sourcemaps/tools/remix.ts +0 -90
  532. package/src/sourcemaps/tools/rollup.ts +0 -67
  533. package/src/sourcemaps/tools/sentry-cli.ts +0 -287
  534. package/src/sourcemaps/tools/tsc.ts +0 -144
  535. package/src/sourcemaps/tools/types.ts +0 -11
  536. package/src/sourcemaps/tools/vite.ts +0 -300
  537. package/src/sourcemaps/tools/webpack.ts +0 -383
  538. package/src/sourcemaps/utils/detect-tool.ts +0 -46
  539. package/src/sourcemaps/utils/other-wizards.ts +0 -167
  540. package/src/sourcemaps/utils/sdk-version.ts +0 -266
  541. package/src/sveltekit/sdk-example.ts +0 -56
  542. package/src/sveltekit/sdk-setup.ts +0 -667
  543. package/src/sveltekit/sveltekit-wizard.ts +0 -192
  544. package/src/sveltekit/templates.ts +0 -185
  545. package/src/sveltekit/utils.ts +0 -50
  546. package/src/telemetry.ts +0 -124
  547. package/src/utils/ast-utils.ts +0 -270
  548. package/src/utils/bash.ts +0 -57
  549. package/src/utils/clack-utils.ts +0 -1533
  550. package/src/utils/debug.ts +0 -20
  551. package/src/utils/package-json.ts +0 -51
  552. package/src/utils/package-manager.ts +0 -172
  553. package/src/utils/release-registry.ts +0 -19
  554. package/src/utils/semver.ts +0 -33
  555. package/src/utils/sentrycli-utils.ts +0 -24
  556. package/src/utils/string.ts +0 -7
  557. package/src/utils/types.ts +0 -77
  558. package/src/utils/url.ts +0 -27
  559. package/src/utils/vendor/is-unicorn-supported.ts +0 -29
  560. package/test/android/code-tools.test.ts +0 -49
  561. package/test/apple/cocoapod.test.ts +0 -306
  562. package/test/apple/code-tools.test.ts +0 -1042
  563. package/test/apple/fastfile.test.ts +0 -550
  564. package/test/apple/templates.test.ts +0 -191
  565. package/test/apple/xcode-manager.test.ts +0 -1066
  566. package/test/flutter/code-tools.test.ts +0 -212
  567. package/test/flutter/templates.test.ts +0 -100
  568. package/test/nextjs/templates.test.ts +0 -429
  569. package/test/nuxt/templates.test.ts +0 -255
  570. package/test/react-native/expo-metro.test.ts +0 -81
  571. package/test/react-native/expo.test.ts +0 -86
  572. package/test/react-native/gradle.test.ts +0 -310
  573. package/test/react-native/javascript.test.ts +0 -134
  574. package/test/react-native/metro.test.ts +0 -396
  575. package/test/react-native/xcode.test.ts +0 -401
  576. package/test/remix/client-entry.test.ts +0 -122
  577. package/test/remix/server-instrumentation.test.ts +0 -36
  578. package/test/sourcemaps/tools/sentry-cli.test.ts +0 -57
  579. package/test/sourcemaps/tools/tsc.test.ts +0 -181
  580. package/test/sourcemaps/tools/vite.test.ts +0 -149
  581. package/test/sourcemaps/tools/webpack.test.ts +0 -303
  582. package/test/sveltekit/templates.test.ts +0 -152
  583. package/test/utils/ast-utils.test.ts +0 -264
  584. package/test/utils/clack-utils.test.ts +0 -234
  585. package/types/xcode.d.ts +0 -526
@@ -23,54 +23,190 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- var Sentry = __importStar(require("@sentry/node"));
27
- var fs = __importStar(require("fs"));
28
- var os = __importStar(require("os"));
29
- var path = __importStar(require("path"));
30
- var code_tools_1 = require("../../src/apple/code-tools");
26
+ const Sentry = __importStar(require("@sentry/node"));
27
+ const fs = __importStar(require("fs"));
28
+ const os = __importStar(require("os"));
29
+ const path = __importStar(require("path"));
30
+ const code_tools_1 = require("../../src/apple/code-tools");
31
31
  // @ts-ignore - clack is ESM and TS complains about that. It works though
32
- var clack = __importStar(require("@clack/prompts"));
32
+ const clack = __importStar(require("@clack/prompts"));
33
33
  // Test Constants
34
- var invalidAppDelegateSwift = "func application() {}";
35
- var validAppDelegateSwift = "\nimport UIKit\n\n@main\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n\n func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {\n // Override point for customization after application launch.\n return true\n }\n}";
36
- var validAppDelegateSwiftWithSentry = "\nimport UIKit\nimport Sentry\n\n\n@main\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n\n func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {\n SentrySDK.start { options in\n options.dsn = \"https://example.com/sentry-dsn\"\n options.debug = true // Enabled debug when first installing is always helpful\n // Set tracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring.\n // We recommend adjusting this value in production.\n options.tracesSampleRate = 1.0\n\n // Sample rate for profiling, applied on top of TracesSampleRate.\n // We recommend adjusting this value in production.\n options.profilesSampleRate = 1.0 \n\n // Uncomment the following lines to add more data to your events\n // options.attachScreenshot = true // This adds a screenshot to the error events\n // options.attachViewHierarchy = true // This adds the view hierarchy to the error events\n }\n // Remove the next line after confirming that your Sentry integration is working.\n SentrySDK.capture(message: \"This app uses Sentry! :)\")\n\n // Override point for customization after application launch.\n return true\n }\n}";
37
- var invalidAppDelegateObjC = "\n- (BOOL)application:(UIApplication *) {\n return NO;\n}";
38
- var validAppDelegateObjC = "\n#import \"AppDelegate.h\"\n\n@interface AppDelegate ()\n\n@end\n\n@implementation AppDelegate\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {\n // Override point for customization after application launch.\n return YES;\n}\n\n@end";
39
- var validAppDelegateObjCWithSentry = "@import Sentry;\n\n#import \"AppDelegate.h\"\n\n@interface AppDelegate ()\n\n@end\n\n@implementation AppDelegate\n\n- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {\n [SentrySDK startWithConfigureOptions:^(SentryOptions * options) {\n options.dsn = @\"https://example.com/sentry-dsn\";\n options.debug = YES; // Enabled debug when first installing is always helpful\n // Set tracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring.\n // We recommend adjusting this value in production.\n options.tracesSampleRate = @1.0;\n\n // Sample rate for profiling, applied on top of TracesSampleRate.\n // We recommend adjusting this value in production.\n options.profilesSampleRate = @1.0;\n\n //Uncomment the following lines to add more data to your events\n //options.attachScreenshot = YES; //This will add a screenshot to the error events\n //options.attachViewHierarchy = YES; //This will add the view hierarchy to the error events\n }];\n //Remove the next line after confirming that your Sentry integration is working.\n [SentrySDK captureMessage:@\"This app uses Sentry!\"];\n\n // Override point for customization after application launch.\n return YES;\n}\n\n@end";
40
- var invalidAppDelegateSwiftUI = "\nstruct MyApp: App {\n var body: some Scene {\n WindowGroup { Text(\"Hello, world!\") }\n }\n}";
41
- var validAppDelegateSwiftUI = "\nimport SwiftUI\n\n@main\nstruct TestApp: App {\n var body: some Scene {\n WindowGroup {\n ContentView()\n }\n }\n}";
42
- var validAppDelegateSwiftUIWithSentry = "\nimport SwiftUI\nimport Sentry\n\n\n@main\nstruct TestApp: App {\n init() {\n SentrySDK.start { options in\n options.dsn = \"https://example.com/sentry-dsn\"\n options.debug = true // Enabled debug when first installing is always helpful\n // Set tracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring.\n // We recommend adjusting this value in production.\n options.tracesSampleRate = 1.0\n\n // Sample rate for profiling, applied on top of TracesSampleRate.\n // We recommend adjusting this value in production.\n options.profilesSampleRate = 1.0 \n\n // Uncomment the following lines to add more data to your events\n // options.attachScreenshot = true // This adds a screenshot to the error events\n // options.attachViewHierarchy = true // This adds the view hierarchy to the error events\n }\n // Remove the next line after confirming that your Sentry integration is working.\n SentrySDK.capture(message: \"This app uses Sentry! :)\")\n }\n var body: some Scene {\n WindowGroup {\n ContentView()\n }\n }\n}";
43
- var prepareTempDir = function () {
44
- var tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'code-tools-test'));
34
+ const invalidAppDelegateSwift = `func application() {}`;
35
+ const validAppDelegateSwift = `
36
+ import UIKit
37
+
38
+ @main
39
+ class AppDelegate: UIResponder, UIApplicationDelegate {
40
+
41
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
42
+ // Override point for customization after application launch.
43
+ return true
44
+ }
45
+ }`;
46
+ const validAppDelegateSwiftWithSentry = `
47
+ import UIKit
48
+ import Sentry
49
+
50
+
51
+ @main
52
+ class AppDelegate: UIResponder, UIApplicationDelegate {
53
+
54
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
55
+ SentrySDK.start { options in
56
+ options.dsn = "https://example.com/sentry-dsn"
57
+ options.debug = true // Enabled debug when first installing is always helpful
58
+ // Set tracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring.
59
+ // We recommend adjusting this value in production.
60
+ options.tracesSampleRate = 1.0
61
+
62
+ // Sample rate for profiling, applied on top of TracesSampleRate.
63
+ // We recommend adjusting this value in production.
64
+ options.profilesSampleRate = 1.0
65
+
66
+ // Uncomment the following lines to add more data to your events
67
+ // options.attachScreenshot = true // This adds a screenshot to the error events
68
+ // options.attachViewHierarchy = true // This adds the view hierarchy to the error events
69
+ }
70
+ // Remove the next line after confirming that your Sentry integration is working.
71
+ SentrySDK.capture(message: "This app uses Sentry! :)")
72
+
73
+ // Override point for customization after application launch.
74
+ return true
75
+ }
76
+ }`;
77
+ const invalidAppDelegateObjC = `
78
+ - (BOOL)application:(UIApplication *) {
79
+ return NO;
80
+ }`;
81
+ const validAppDelegateObjC = `
82
+ #import "AppDelegate.h"
83
+
84
+ @interface AppDelegate ()
85
+
86
+ @end
87
+
88
+ @implementation AppDelegate
89
+
90
+ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
91
+ // Override point for customization after application launch.
92
+ return YES;
93
+ }
94
+
95
+ @end`;
96
+ const validAppDelegateObjCWithSentry = `@import Sentry;
97
+
98
+ #import "AppDelegate.h"
99
+
100
+ @interface AppDelegate ()
101
+
102
+ @end
103
+
104
+ @implementation AppDelegate
105
+
106
+ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
107
+ [SentrySDK startWithConfigureOptions:^(SentryOptions * options) {
108
+ options.dsn = @"https://example.com/sentry-dsn";
109
+ options.debug = YES; // Enabled debug when first installing is always helpful
110
+ // Set tracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring.
111
+ // We recommend adjusting this value in production.
112
+ options.tracesSampleRate = @1.0;
113
+
114
+ // Sample rate for profiling, applied on top of TracesSampleRate.
115
+ // We recommend adjusting this value in production.
116
+ options.profilesSampleRate = @1.0;
117
+
118
+ //Uncomment the following lines to add more data to your events
119
+ //options.attachScreenshot = YES; //This will add a screenshot to the error events
120
+ //options.attachViewHierarchy = YES; //This will add the view hierarchy to the error events
121
+ }];
122
+ //Remove the next line after confirming that your Sentry integration is working.
123
+ [SentrySDK captureMessage:@"This app uses Sentry!"];
124
+
125
+ // Override point for customization after application launch.
126
+ return YES;
127
+ }
128
+
129
+ @end`;
130
+ const invalidAppDelegateSwiftUI = `
131
+ struct MyApp: App {
132
+ var body: some Scene {
133
+ WindowGroup { Text("Hello, world!") }
134
+ }
135
+ }`;
136
+ const validAppDelegateSwiftUI = `
137
+ import SwiftUI
138
+
139
+ @main
140
+ struct TestApp: App {
141
+ var body: some Scene {
142
+ WindowGroup {
143
+ ContentView()
144
+ }
145
+ }
146
+ }`;
147
+ const validAppDelegateSwiftUIWithSentry = `
148
+ import SwiftUI
149
+ import Sentry
150
+
151
+
152
+ @main
153
+ struct TestApp: App {
154
+ init() {
155
+ SentrySDK.start { options in
156
+ options.dsn = "https://example.com/sentry-dsn"
157
+ options.debug = true // Enabled debug when first installing is always helpful
158
+ // Set tracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring.
159
+ // We recommend adjusting this value in production.
160
+ options.tracesSampleRate = 1.0
161
+
162
+ // Sample rate for profiling, applied on top of TracesSampleRate.
163
+ // We recommend adjusting this value in production.
164
+ options.profilesSampleRate = 1.0
165
+
166
+ // Uncomment the following lines to add more data to your events
167
+ // options.attachScreenshot = true // This adds a screenshot to the error events
168
+ // options.attachViewHierarchy = true // This adds the view hierarchy to the error events
169
+ }
170
+ // Remove the next line after confirming that your Sentry integration is working.
171
+ SentrySDK.capture(message: "This app uses Sentry! :)")
172
+ }
173
+ var body: some Scene {
174
+ WindowGroup {
175
+ ContentView()
176
+ }
177
+ }
178
+ }`;
179
+ const prepareTempDir = () => {
180
+ const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'code-tools-test'));
45
181
  return tempDir;
46
182
  };
47
- var prepareAppDelegateFile = function (dir, content, ext) {
48
- var filePath = path.join(dir, "AppDelegate.".concat(ext));
183
+ const prepareAppDelegateFile = (dir, content, ext) => {
184
+ const filePath = path.join(dir, `AppDelegate.${ext}`);
49
185
  fs.writeFileSync(filePath, content, 'utf8');
50
186
  return filePath;
51
187
  };
52
- var dsn = 'https://example.com/sentry-dsn';
188
+ const dsn = 'https://example.com/sentry-dsn';
53
189
  // Mock Setup
54
190
  jest.mock('../../src/utils/bash');
55
191
  jest.spyOn(Sentry, 'setTag').mockImplementation();
56
192
  jest.spyOn(Sentry, 'captureException').mockImplementation();
57
193
  // Test Suite
58
- describe('code-tools', function () {
59
- beforeEach(function () {
194
+ describe('code-tools', () => {
195
+ beforeEach(() => {
60
196
  jest.spyOn(clack.log, 'info').mockImplementation();
61
197
  });
62
- afterEach(function () {
198
+ afterEach(() => {
63
199
  jest.clearAllMocks();
64
200
  });
65
- describe('#isAppDelegateFile', function () {
66
- var prepareTestFile = function (content, ext) {
67
- var tempDir = prepareTempDir();
201
+ describe('#isAppDelegateFile', () => {
202
+ const prepareTestFile = (content, ext) => {
203
+ const tempDir = prepareTempDir();
68
204
  return prepareAppDelegateFile(tempDir, content, ext);
69
205
  };
70
- describe('swift files', function () {
71
- describe('swift app launch regex', function () {
72
- describe('valid cases', function () {
73
- var variations = [
206
+ describe('swift files', () => {
207
+ describe('swift app launch regex', () => {
208
+ describe('valid cases', () => {
209
+ const variations = [
74
210
  {
75
211
  name: 'with underscores',
76
212
  code: 'func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {',
@@ -92,24 +228,20 @@ describe('code-tools', function () {
92
228
  code: 'func applicationDidFinishLaunching ( _ aNotification: Notification ) {',
93
229
  },
94
230
  ];
95
- var _loop_1 = function (variation) {
96
- describe("".concat(variation.name), function () {
97
- it("should return true", function () {
231
+ for (const variation of variations) {
232
+ describe(`${variation.name}`, () => {
233
+ it(`should return true`, () => {
98
234
  // -- Arrange --
99
- var filePath = prepareTestFile(variation.code, 'swift');
235
+ const filePath = prepareTestFile(variation.code, 'swift');
100
236
  // -- Act --
101
- var result = code_tools_1.exportForTesting.isAppDelegateFile(filePath);
237
+ const result = code_tools_1.exportForTesting.isAppDelegateFile(filePath);
102
238
  // -- Assert --
103
239
  expect(result).toBeTruthy();
104
240
  });
105
241
  });
106
- };
107
- for (var _i = 0, variations_1 = variations; _i < variations_1.length; _i++) {
108
- var variation = variations_1[_i];
109
- _loop_1(variation);
110
242
  }
111
- describe('invalid cases', function () {
112
- var variations = [
243
+ describe('invalid cases', () => {
244
+ const variations = [
113
245
  {
114
246
  name: 'missing application method',
115
247
  code: 'import UIKit',
@@ -123,29 +255,25 @@ describe('code-tools', function () {
123
255
  code: 'asdf;jk23;uas()d{',
124
256
  },
125
257
  ];
126
- var _loop_2 = function (variation) {
127
- describe("".concat(variation.name), function () {
128
- it('should return false', function () {
258
+ for (const variation of variations) {
259
+ describe(`${variation.name}`, () => {
260
+ it('should return false', () => {
129
261
  // -- Arrange --
130
- var filePath = prepareTestFile(variation.code, 'swift');
262
+ const filePath = prepareTestFile(variation.code, 'swift');
131
263
  // -- Act --
132
- var result = code_tools_1.exportForTesting.isAppDelegateFile(filePath);
264
+ const result = code_tools_1.exportForTesting.isAppDelegateFile(filePath);
133
265
  // -- Assert --
134
266
  expect(result).toBeFalsy();
135
267
  });
136
268
  });
137
- };
138
- for (var _i = 0, variations_2 = variations; _i < variations_2.length; _i++) {
139
- var variation = variations_2[_i];
140
- _loop_2(variation);
141
269
  }
142
270
  });
143
271
  });
144
272
  });
145
273
  });
146
- describe('objc files', function () {
147
- describe('valid cases', function () {
148
- var variations = [
274
+ describe('objc files', () => {
275
+ describe('valid cases', () => {
276
+ const variations = [
149
277
  {
150
278
  name: 'basic',
151
279
  code: '- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {',
@@ -155,51 +283,43 @@ describe('code-tools', function () {
155
283
  code: '- ( BOOL ) application: ( UIApplication * ) application didFinishLaunchingWithOptions: ( NSDictionary * ) launchOptions {',
156
284
  },
157
285
  ];
158
- var _loop_3 = function (variation) {
159
- describe("".concat(variation.name), function () {
160
- it('should return true', function () {
286
+ for (const variation of variations) {
287
+ describe(`${variation.name}`, () => {
288
+ it('should return true', () => {
161
289
  // -- Arrange --
162
- var filePath = prepareTestFile(variation.code, 'm');
290
+ const filePath = prepareTestFile(variation.code, 'm');
163
291
  // -- Act --
164
- var result = code_tools_1.exportForTesting.isAppDelegateFile(filePath);
292
+ const result = code_tools_1.exportForTesting.isAppDelegateFile(filePath);
165
293
  // -- Assert --
166
294
  expect(result).toBeTruthy();
167
295
  });
168
296
  });
169
- };
170
- for (var _i = 0, variations_3 = variations; _i < variations_3.length; _i++) {
171
- var variation = variations_3[_i];
172
- _loop_3(variation);
173
297
  }
174
298
  });
175
- describe('invalid cases', function () {
176
- var variations = [
299
+ describe('invalid cases', () => {
300
+ const variations = [
177
301
  {
178
302
  name: 'missing application method',
179
303
  code: 'import UIKit',
180
304
  },
181
305
  ];
182
- var _loop_4 = function (variation) {
183
- describe("".concat(variation.name), function () {
184
- it('should return false', function () {
306
+ for (const variation of variations) {
307
+ describe(`${variation.name}`, () => {
308
+ it('should return false', () => {
185
309
  // -- Arrange --
186
- var filePath = prepareTestFile(variation.code, 'm');
310
+ const filePath = prepareTestFile(variation.code, 'm');
187
311
  // -- Act --
188
- var result = code_tools_1.exportForTesting.isAppDelegateFile(filePath);
312
+ const result = code_tools_1.exportForTesting.isAppDelegateFile(filePath);
189
313
  // -- Assert --
190
314
  expect(result).toBeFalsy();
191
315
  });
192
316
  });
193
- };
194
- for (var _i = 0, variations_4 = variations; _i < variations_4.length; _i++) {
195
- var variation = variations_4[_i];
196
- _loop_4(variation);
197
317
  }
198
318
  });
199
319
  });
200
- describe('swiftui files', function () {
201
- describe('valid cases', function () {
202
- var variations = [
320
+ describe('swiftui files', () => {
321
+ describe('valid cases', () => {
322
+ const variations = [
203
323
  {
204
324
  name: 'basic',
205
325
  code: '@main struct MyApp: App {',
@@ -213,25 +333,21 @@ describe('code-tools', function () {
213
333
  code: '@main struct App: SwiftUI.App {',
214
334
  },
215
335
  ];
216
- var _loop_5 = function (variation) {
217
- describe("".concat(variation.name), function () {
218
- it('should return true', function () {
336
+ for (const variation of variations) {
337
+ describe(`${variation.name}`, () => {
338
+ it('should return true', () => {
219
339
  // -- Arrange --
220
- var filePath = prepareTestFile(variation.code, 'swift');
340
+ const filePath = prepareTestFile(variation.code, 'swift');
221
341
  // -- Act --
222
- var result = code_tools_1.exportForTesting.isAppDelegateFile(filePath);
342
+ const result = code_tools_1.exportForTesting.isAppDelegateFile(filePath);
223
343
  // -- Assert --
224
344
  expect(result).toBeTruthy();
225
345
  });
226
346
  });
227
- };
228
- for (var _i = 0, variations_5 = variations; _i < variations_5.length; _i++) {
229
- var variation = variations_5[_i];
230
- _loop_5(variation);
231
347
  }
232
348
  });
233
- describe('invalid cases', function () {
234
- var variations = [
349
+ describe('invalid cases', () => {
350
+ const variations = [
235
351
  {
236
352
  name: 'missing @main',
237
353
  code: 'struct App: App {',
@@ -249,419 +365,415 @@ describe('code-tools', function () {
249
365
  code: '@main struct App: MySwiftUI.App {',
250
366
  },
251
367
  ];
252
- var _loop_6 = function (variation) {
253
- describe("".concat(variation.name), function () {
254
- it('should return false', function () {
368
+ for (const variation of variations) {
369
+ describe(`${variation.name}`, () => {
370
+ it('should return false', () => {
255
371
  // -- Arrange --
256
- var filePath = prepareTestFile(variation.code, 'swift');
372
+ const filePath = prepareTestFile(variation.code, 'swift');
257
373
  // -- Act --
258
- var result = code_tools_1.exportForTesting.isAppDelegateFile(filePath);
374
+ const result = code_tools_1.exportForTesting.isAppDelegateFile(filePath);
259
375
  // -- Assert --
260
376
  expect(result).toBeFalsy();
261
377
  });
262
378
  });
263
- };
264
- for (var _i = 0, variations_6 = variations; _i < variations_6.length; _i++) {
265
- var variation = variations_6[_i];
266
- _loop_6(variation);
267
379
  }
268
380
  });
269
381
  });
270
- describe('file not found', function () {
271
- it('should throw an error', function () {
382
+ describe('file not found', () => {
383
+ it('should throw an error', () => {
272
384
  // -- Arrange --
273
- var invalidPath = path.join(os.tmpdir(), 'invalid-path');
385
+ const invalidPath = path.join(os.tmpdir(), 'invalid-path');
274
386
  // -- Act & Assert --
275
- expect(function () { return code_tools_1.exportForTesting.isAppDelegateFile(invalidPath); }).toThrow();
387
+ expect(() => code_tools_1.exportForTesting.isAppDelegateFile(invalidPath)).toThrow();
276
388
  });
277
389
  });
278
390
  });
279
- describe('#findAppDidFinishLaunchingWithOptions', function () {
280
- describe('no files given', function () {
281
- it('should check files in directory', function () {
391
+ describe('#findAppDidFinishLaunchingWithOptions', () => {
392
+ describe('no files given', () => {
393
+ it('should check files in directory', () => {
282
394
  // -- Arrange --
283
- var tempDir = prepareTempDir();
284
- var filePath = prepareAppDelegateFile(tempDir, validAppDelegateSwift, 'swift');
395
+ const tempDir = prepareTempDir();
396
+ const filePath = prepareAppDelegateFile(tempDir, validAppDelegateSwift, 'swift');
285
397
  // -- Act --
286
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
398
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
287
399
  // -- Assert --
288
400
  expect(result).toBe(filePath);
289
401
  });
290
402
  });
291
- describe('SwiftUI file found', function () {
292
- describe('is app delegate', function () {
293
- it('should return the file path', function () {
403
+ describe('SwiftUI file found', () => {
404
+ describe('is app delegate', () => {
405
+ it('should return the file path', () => {
294
406
  // -- Arrange --
295
- var tempDir = prepareTempDir();
296
- var filePath = prepareAppDelegateFile(tempDir, validAppDelegateSwiftUI, 'swift');
407
+ const tempDir = prepareTempDir();
408
+ const filePath = prepareAppDelegateFile(tempDir, validAppDelegateSwiftUI, 'swift');
297
409
  // -- Act --
298
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
410
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
299
411
  // -- Assert --
300
412
  expect(result).toBe(filePath);
301
413
  });
302
414
  });
303
- describe('is not app delegate', function () {
304
- it('should be ignored', function () {
415
+ describe('is not app delegate', () => {
416
+ it('should be ignored', () => {
305
417
  // -- Arrange --
306
- var tempDir = prepareTempDir();
418
+ const tempDir = prepareTempDir();
307
419
  prepareAppDelegateFile(tempDir, invalidAppDelegateSwiftUI, 'swift');
308
420
  // -- Act --
309
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
421
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
310
422
  // -- Assert --
311
423
  expect(result).toBeNull();
312
424
  });
313
425
  });
314
426
  });
315
- describe('Swift file found', function () {
316
- describe('is app delegate', function () {
317
- it('should return the file path', function () {
427
+ describe('Swift file found', () => {
428
+ describe('is app delegate', () => {
429
+ it('should return the file path', () => {
318
430
  // -- Arrange --
319
- var tempDir = prepareTempDir();
320
- var filePath = prepareAppDelegateFile(tempDir, validAppDelegateSwift, 'swift');
431
+ const tempDir = prepareTempDir();
432
+ const filePath = prepareAppDelegateFile(tempDir, validAppDelegateSwift, 'swift');
321
433
  // -- Act --
322
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
434
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
323
435
  // -- Assert --
324
436
  expect(result).toBe(filePath);
325
437
  });
326
438
  });
327
- describe('is not app delegate', function () {
328
- it('should be ignored', function () {
439
+ describe('is not app delegate', () => {
440
+ it('should be ignored', () => {
329
441
  // -- Arrange --
330
- var tempDir = prepareTempDir();
442
+ const tempDir = prepareTempDir();
331
443
  prepareAppDelegateFile(tempDir, invalidAppDelegateSwift, 'swift');
332
444
  // -- Act --
333
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
445
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
334
446
  // -- Assert --
335
447
  expect(result).toBeNull();
336
448
  });
337
449
  });
338
450
  });
339
- describe('Objective-C file found', function () {
340
- describe('is app delegate', function () {
341
- it('should return the file path', function () {
451
+ describe('Objective-C file found', () => {
452
+ describe('is app delegate', () => {
453
+ it('should return the file path', () => {
342
454
  // -- Arrange --
343
- var tempDir = prepareTempDir();
344
- var filePath = prepareAppDelegateFile(tempDir, validAppDelegateObjC, 'm');
455
+ const tempDir = prepareTempDir();
456
+ const filePath = prepareAppDelegateFile(tempDir, validAppDelegateObjC, 'm');
345
457
  // -- Act --
346
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
458
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
347
459
  // -- Assert --
348
460
  expect(result).toBe(filePath);
349
461
  });
350
462
  });
351
- describe('is not app delegate', function () {
352
- it('should be ignored', function () {
463
+ describe('is not app delegate', () => {
464
+ it('should be ignored', () => {
353
465
  // -- Arrange --
354
- var tempDir = prepareTempDir();
466
+ const tempDir = prepareTempDir();
355
467
  prepareAppDelegateFile(tempDir, invalidAppDelegateObjC, 'm');
356
468
  // -- Act --
357
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
469
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
358
470
  // -- Assert --
359
471
  expect(result).toBeNull();
360
472
  });
361
473
  });
362
474
  });
363
- describe('Objective-C++ file found', function () {
364
- describe('is app delegate', function () {
365
- it('should return the file path', function () {
475
+ describe('Objective-C++ file found', () => {
476
+ describe('is app delegate', () => {
477
+ it('should return the file path', () => {
366
478
  // -- Arrange --
367
- var tempDir = prepareTempDir();
368
- var filePath = prepareAppDelegateFile(tempDir, validAppDelegateObjC, 'mm');
479
+ const tempDir = prepareTempDir();
480
+ const filePath = prepareAppDelegateFile(tempDir, validAppDelegateObjC, 'mm');
369
481
  // -- Act --
370
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir, [filePath]);
482
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir, [filePath]);
371
483
  // -- Assert --
372
484
  expect(result).toBe(filePath);
373
485
  });
374
486
  });
375
- describe('is not app delegate', function () {
376
- it('should be ignored', function () {
487
+ describe('is not app delegate', () => {
488
+ it('should be ignored', () => {
377
489
  // -- Arrange --
378
- var tempDir = prepareTempDir();
490
+ const tempDir = prepareTempDir();
379
491
  prepareAppDelegateFile(tempDir, invalidAppDelegateObjC, 'mm');
380
492
  // -- Act --
381
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
493
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
382
494
  // -- Assert --
383
495
  expect(result).toBeNull();
384
496
  });
385
497
  });
386
498
  });
387
- describe('file in list not found', function () {
388
- it('should return null', function () {
499
+ describe('file in list not found', () => {
500
+ it('should return null', () => {
389
501
  // -- Arrange --
390
- var tempDir = prepareTempDir();
391
- var filePath = prepareAppDelegateFile(tempDir, invalidAppDelegateSwift, 'swift');
502
+ const tempDir = prepareTempDir();
503
+ const filePath = prepareAppDelegateFile(tempDir, invalidAppDelegateSwift, 'swift');
392
504
  // -- Act --
393
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir, [filePath]);
505
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir, [filePath]);
394
506
  // -- Assert --
395
507
  expect(result).toBeNull();
396
508
  });
397
509
  });
398
- describe('unrelated file found', function () {
399
- it('should be ignored', function () {
510
+ describe('unrelated file found', () => {
511
+ it('should be ignored', () => {
400
512
  // -- Arrange --
401
- var tempDir = prepareTempDir();
402
- var filePath = prepareAppDelegateFile(tempDir, invalidAppDelegateSwift, 'swift');
513
+ const tempDir = prepareTempDir();
514
+ const filePath = prepareAppDelegateFile(tempDir, invalidAppDelegateSwift, 'swift');
403
515
  // -- Act --
404
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir, [filePath]);
516
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir, [filePath]);
405
517
  // -- Assert --
406
518
  expect(result).toBeNull();
407
519
  });
408
520
  });
409
- describe('directory in list', function () {
410
- describe('name starts with dot', function () {
411
- it('should be ignored', function () {
521
+ describe('directory in list', () => {
522
+ describe('name starts with dot', () => {
523
+ it('should be ignored', () => {
412
524
  // -- Arrange --
413
- var tempDir = prepareTempDir();
414
- var hiddenDir = path.join(tempDir, '.hidden');
525
+ const tempDir = prepareTempDir();
526
+ const hiddenDir = path.join(tempDir, '.hidden');
415
527
  fs.mkdirSync(hiddenDir);
416
528
  prepareAppDelegateFile(hiddenDir, validAppDelegateSwift, 'swift');
417
529
  // -- Act --
418
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
530
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
419
531
  // -- Assert --
420
532
  expect(result).toBeNull();
421
533
  });
422
534
  });
423
- describe('name ends with .xcodeproj', function () {
424
- it('should be ignored', function () {
535
+ describe('name ends with .xcodeproj', () => {
536
+ it('should be ignored', () => {
425
537
  // -- Arrange --
426
- var tempDir = prepareTempDir();
427
- var xcodeDir = path.join(tempDir, 'MyProject.xcodeproj');
538
+ const tempDir = prepareTempDir();
539
+ const xcodeDir = path.join(tempDir, 'MyProject.xcodeproj');
428
540
  fs.mkdirSync(xcodeDir);
429
541
  prepareAppDelegateFile(xcodeDir, validAppDelegateSwift, 'swift');
430
542
  // -- Act --
431
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
543
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
432
544
  // -- Assert --
433
545
  expect(result).toBeNull();
434
546
  });
435
547
  });
436
- describe('name ends with .xcassets', function () {
437
- it('should be ignored', function () {
548
+ describe('name ends with .xcassets', () => {
549
+ it('should be ignored', () => {
438
550
  // -- Arrange --
439
- var tempDir = prepareTempDir();
440
- var xcassetsDir = path.join(tempDir, 'MyProject.xcassets');
551
+ const tempDir = prepareTempDir();
552
+ const xcassetsDir = path.join(tempDir, 'MyProject.xcassets');
441
553
  fs.mkdirSync(xcassetsDir);
442
554
  prepareAppDelegateFile(xcassetsDir, validAppDelegateSwift, 'swift');
443
555
  // -- Act --
444
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
556
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
445
557
  // -- Assert --
446
558
  expect(result).toBeNull();
447
559
  });
448
560
  });
449
- describe('is not a directory', function () {
450
- it('should be ignored', function () {
561
+ describe('is not a directory', () => {
562
+ it('should be ignored', () => {
451
563
  // -- Arrange --
452
- var tempDir = prepareTempDir();
453
- var filePath = path.join(tempDir, 'some-file');
564
+ const tempDir = prepareTempDir();
565
+ const filePath = path.join(tempDir, 'some-file');
454
566
  fs.writeFileSync(filePath, validAppDelegateSwift, 'utf8');
455
567
  // -- Act --
456
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
568
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
457
569
  // -- Assert --
458
570
  expect(result).toBeNull();
459
571
  });
460
572
  });
461
573
  });
462
- describe('multiple files could be app delegate', function () {
463
- it('should return the first one', function () {
574
+ describe('multiple files could be app delegate', () => {
575
+ it('should return the first one', () => {
464
576
  // -- Arrange --
465
- var tempDir = prepareTempDir();
466
- var filePath = prepareAppDelegateFile(tempDir, validAppDelegateSwift, 'swift');
577
+ const tempDir = prepareTempDir();
578
+ const filePath = prepareAppDelegateFile(tempDir, validAppDelegateSwift, 'swift');
467
579
  prepareAppDelegateFile(tempDir, validAppDelegateSwift, 'swift');
468
580
  // -- Act --
469
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
581
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
470
582
  // -- Assert --
471
583
  expect(result).toBe(filePath);
472
584
  });
473
585
  });
474
- describe('multiple nested directories with app delegate', function () {
475
- it('should return the first one', function () {
586
+ describe('multiple nested directories with app delegate', () => {
587
+ it('should return the first one', () => {
476
588
  // -- Arrange --
477
- var tempDir = prepareTempDir();
478
- var nestedDir = path.join(tempDir, 'nested');
589
+ const tempDir = prepareTempDir();
590
+ const nestedDir = path.join(tempDir, 'nested');
479
591
  fs.mkdirSync(nestedDir);
480
- var nestedFilePath = prepareAppDelegateFile(nestedDir, validAppDelegateSwift, 'swift');
481
- var nestedDir2 = path.join(tempDir, 'nested2');
592
+ const nestedFilePath = prepareAppDelegateFile(nestedDir, validAppDelegateSwift, 'swift');
593
+ const nestedDir2 = path.join(tempDir, 'nested2');
482
594
  fs.mkdirSync(nestedDir2);
483
595
  prepareAppDelegateFile(nestedDir2, validAppDelegateSwift, 'swift');
484
596
  // -- Act --
485
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
597
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir);
486
598
  // -- Assert --
487
599
  expect(result).toBe(nestedFilePath);
488
600
  });
489
601
  });
490
- describe('no app delegate found', function () {
491
- it('should return null', function () {
602
+ describe('no app delegate found', () => {
603
+ it('should return null', () => {
492
604
  // -- Arrange --
493
- var tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'code-tools-test'));
605
+ const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'code-tools-test'));
494
606
  // -- Act --
495
- var result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir, []);
607
+ const result = code_tools_1.exportForTesting.findAppDidFinishLaunchingWithOptions(tempDir, []);
496
608
  // -- Assert --
497
609
  expect(result).toBeNull();
498
610
  });
499
611
  });
500
612
  });
501
- describe('#addCodeSnippetToProject', function () {
502
- describe('app delegate file is not found', function () {
503
- it('should return false', function () {
613
+ describe('#addCodeSnippetToProject', () => {
614
+ describe('app delegate file is not found', () => {
615
+ it('should return false', () => {
504
616
  // -- Arrange --
505
- var tempDir = prepareTempDir();
617
+ const tempDir = prepareTempDir();
506
618
  // -- Act --
507
- var result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, ['AppDelegate.swift'], 'https://example.com/sentry-dsn');
619
+ const result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, ['AppDelegate.swift'], 'https://example.com/sentry-dsn');
508
620
  // -- Assert --
509
621
  expect(result).toBeFalsy();
510
622
  });
511
623
  });
512
- describe('app delegate file is found', function () {
513
- var tempDir;
514
- var appDelegatePath;
515
- beforeEach(function () {
624
+ describe('app delegate file is found', () => {
625
+ let tempDir;
626
+ let appDelegatePath;
627
+ beforeEach(() => {
516
628
  // -- Arrange --
517
629
  tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'code-tools-test'));
518
630
  appDelegatePath = path.join(tempDir, 'AppDelegate.swift');
519
631
  fs.writeFileSync(appDelegatePath, validAppDelegateSwift, 'utf8');
520
632
  });
521
- describe('is Swift file', function () {
522
- describe('Sentry is not initialized', function () {
523
- var tempDir;
524
- var filePath;
525
- beforeEach(function () {
633
+ describe('is Swift file', () => {
634
+ describe('Sentry is not initialized', () => {
635
+ let tempDir;
636
+ let filePath;
637
+ beforeEach(() => {
526
638
  tempDir = prepareTempDir();
527
639
  filePath = prepareAppDelegateFile(tempDir, validAppDelegateSwift, 'swift');
528
640
  });
529
- it('should add the code snippet', function () {
641
+ it('should add the code snippet', () => {
530
642
  // -- Act --
531
- var result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
643
+ const result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
532
644
  // -- Assert --
533
645
  expect(result).toBeTruthy();
534
- var modifiedFileContent = fs.readFileSync(filePath, 'utf8');
646
+ const modifiedFileContent = fs.readFileSync(filePath, 'utf8');
535
647
  expect(modifiedFileContent).toBe(validAppDelegateSwiftWithSentry);
536
648
  });
537
- it("should set tag 'code-language'", function () {
649
+ it("should set tag 'code-language'", () => {
538
650
  // -- Act --
539
- var result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
651
+ const result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
540
652
  // -- Assert --
541
653
  expect(result).toBeTruthy();
542
654
  expect(Sentry.setTag).toHaveBeenCalledWith('code-language', 'swift');
543
655
  });
544
- it("should set tag 'ui-engine'", function () {
656
+ it("should set tag 'ui-engine'", () => {
545
657
  // -- Act --
546
- var result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
658
+ const result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
547
659
  // -- Assert --
548
660
  expect(result).toBeTruthy();
549
661
  expect(Sentry.setTag).toHaveBeenCalledWith('ui-engine', 'uikit');
550
662
  });
551
663
  });
552
- describe('Sentry is already initialized', function () {
553
- it('should not add the code snippet', function () {
664
+ describe('Sentry is already initialized', () => {
665
+ it('should not add the code snippet', () => {
554
666
  // -- Arrange --
555
- var tempDir = prepareTempDir();
556
- var filePath = prepareAppDelegateFile(tempDir, validAppDelegateSwiftWithSentry, 'swift');
667
+ const tempDir = prepareTempDir();
668
+ const filePath = prepareAppDelegateFile(tempDir, validAppDelegateSwiftWithSentry, 'swift');
557
669
  // -- Act --
558
- var result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
670
+ const result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
559
671
  // -- Assert --
560
672
  expect(result).toBeTruthy();
561
- var modifiedFileContent = fs.readFileSync(filePath, 'utf8');
673
+ const modifiedFileContent = fs.readFileSync(filePath, 'utf8');
562
674
  expect(modifiedFileContent).toBe(validAppDelegateSwiftWithSentry);
563
675
  });
564
676
  });
565
- describe('is SwiftUI file', function () {
566
- describe('Sentry is not initialized', function () {
567
- var tempDir;
568
- var filePath;
569
- beforeEach(function () {
677
+ describe('is SwiftUI file', () => {
678
+ describe('Sentry is not initialized', () => {
679
+ let tempDir;
680
+ let filePath;
681
+ beforeEach(() => {
570
682
  tempDir = prepareTempDir();
571
683
  filePath = prepareAppDelegateFile(tempDir, validAppDelegateSwiftUI, 'swift');
572
684
  });
573
- it('should add the code snippet', function () {
685
+ it('should add the code snippet', () => {
574
686
  // -- Act --
575
- var result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
687
+ const result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
576
688
  // -- Assert --
577
689
  expect(result).toBeTruthy();
578
- var modifiedFileContent = fs.readFileSync(filePath, 'utf8');
690
+ const modifiedFileContent = fs.readFileSync(filePath, 'utf8');
579
691
  expect(modifiedFileContent).toBe(validAppDelegateSwiftUIWithSentry);
580
692
  });
581
- it("should set tag 'code-language'", function () {
693
+ it("should set tag 'code-language'", () => {
582
694
  // -- Act --
583
- var result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
695
+ const result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
584
696
  // -- Assert --
585
697
  expect(result).toBeTruthy();
586
698
  expect(Sentry.setTag).toHaveBeenNthCalledWith(1, 'code-language', 'swift');
587
699
  });
588
- it("should set tag 'ui-engine'", function () {
700
+ it("should set tag 'ui-engine'", () => {
589
701
  // -- Act --
590
- var result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
702
+ const result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
591
703
  // -- Assert --
592
704
  expect(result).toBeTruthy();
593
705
  expect(Sentry.setTag).toHaveBeenNthCalledWith(2, 'ui-engine', 'swiftui');
594
706
  });
595
707
  });
596
- describe('Sentry is already initialized', function () {
597
- it('should not add the code snippet', function () {
708
+ describe('Sentry is already initialized', () => {
709
+ it('should not add the code snippet', () => {
598
710
  // -- Arrange --
599
- var tempDir = prepareTempDir();
600
- var filePath = prepareAppDelegateFile(tempDir, validAppDelegateSwiftUIWithSentry, 'swift');
711
+ const tempDir = prepareTempDir();
712
+ const filePath = prepareAppDelegateFile(tempDir, validAppDelegateSwiftUIWithSentry, 'swift');
601
713
  // -- Act --
602
- var result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
714
+ const result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
603
715
  // -- Assert --
604
716
  expect(result).toBeTruthy();
605
- var modifiedFileContent = fs.readFileSync(filePath, 'utf8');
717
+ const modifiedFileContent = fs.readFileSync(filePath, 'utf8');
606
718
  expect(modifiedFileContent).toBe(validAppDelegateSwiftUIWithSentry);
607
719
  });
608
720
  });
609
721
  });
610
- describe('is not matching SwiftUI regex', function () {
611
- it('should not add the code snippet', function () {
722
+ describe('is not matching SwiftUI regex', () => {
723
+ it('should not add the code snippet', () => {
612
724
  // -- Arrange --
613
- var tempDir = prepareTempDir();
614
- var filePath = prepareAppDelegateFile(tempDir, invalidAppDelegateSwiftUI, 'swift');
725
+ const tempDir = prepareTempDir();
726
+ const filePath = prepareAppDelegateFile(tempDir, invalidAppDelegateSwiftUI, 'swift');
615
727
  // -- Act --
616
- var result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
728
+ const result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
617
729
  // -- Assert --
618
730
  expect(result).toBeFalsy();
619
731
  });
620
732
  });
621
733
  });
622
- describe('is Objective-C file', function () {
623
- describe('Sentry is not initialized', function () {
624
- it('should add the code snippet', function () {
734
+ describe('is Objective-C file', () => {
735
+ describe('Sentry is not initialized', () => {
736
+ it('should add the code snippet', () => {
625
737
  // -- Act --
626
- var tempDir = prepareTempDir();
627
- var filePath = prepareAppDelegateFile(tempDir, validAppDelegateObjC, 'm');
738
+ const tempDir = prepareTempDir();
739
+ const filePath = prepareAppDelegateFile(tempDir, validAppDelegateObjC, 'm');
628
740
  // -- Act --
629
- var result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
741
+ const result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
630
742
  // -- Assert --
631
743
  expect(result).toBeTruthy();
632
- var modifiedFileContent = fs.readFileSync(filePath, 'utf8');
744
+ const modifiedFileContent = fs.readFileSync(filePath, 'utf8');
633
745
  expect(modifiedFileContent).toBe(validAppDelegateObjCWithSentry);
634
746
  });
635
747
  });
636
- describe('Sentry is already initialized', function () {
637
- var tempDir;
638
- var filePath;
639
- beforeEach(function () {
748
+ describe('Sentry is already initialized', () => {
749
+ let tempDir;
750
+ let filePath;
751
+ beforeEach(() => {
640
752
  tempDir = prepareTempDir();
641
753
  filePath = prepareAppDelegateFile(tempDir, validAppDelegateObjCWithSentry, 'm');
642
754
  });
643
- it('should not add the code snippet', function () {
755
+ it('should not add the code snippet', () => {
644
756
  // -- Act --
645
- var result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
757
+ const result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
646
758
  // -- Assert --
647
759
  expect(result).toBeTruthy();
648
- var modifiedFileContent = fs.readFileSync(filePath, 'utf8');
760
+ const modifiedFileContent = fs.readFileSync(filePath, 'utf8');
649
761
  expect(modifiedFileContent).toBe(validAppDelegateObjCWithSentry);
650
762
  });
651
- it('should log info', function () {
763
+ it('should log info', () => {
652
764
  // -- Act --
653
- var result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
765
+ const result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
654
766
  // -- Assert --
655
767
  expect(result).toBeTruthy();
656
768
  expect(clack.log.info).toHaveBeenCalledWith('Sentry is already initialized in your AppDelegate. Skipping adding the code snippet.');
657
769
  });
658
770
  });
659
- it("should set tag 'code-language'", function () {
771
+ it("should set tag 'code-language'", () => {
660
772
  // -- Arrange --
661
- var tempDir = prepareTempDir();
662
- var filePath = prepareAppDelegateFile(tempDir, validAppDelegateObjC, 'm');
773
+ const tempDir = prepareTempDir();
774
+ const filePath = prepareAppDelegateFile(tempDir, validAppDelegateObjC, 'm');
663
775
  // -- Act --
664
- var result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
776
+ const result = (0, code_tools_1.addCodeSnippetToProject)(tempDir, [filePath], dsn);
665
777
  // -- Assert --
666
778
  expect(result).toBeTruthy();
667
779
  expect(Sentry.setTag).toHaveBeenCalledWith('code-language', 'objc');