@sentry/wizard 3.42.0 → 4.0.0

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 (339) hide show
  1. package/.node-cache/node-v22.14.0-darwin-arm64 +0 -0
  2. package/.node-cache/node-v22.14.0-darwin-x64 +0 -0
  3. package/.node-cache/node-v22.14.0-linux-arm64 +0 -0
  4. package/.node-cache/node-v22.14.0-linux-x64 +0 -0
  5. package/.node-cache/node-v22.14.0-win-x64.exe +0 -0
  6. package/CHANGELOG.md +30 -0
  7. package/COPYING +3575 -0
  8. package/bin.ts +85 -80
  9. package/dist/bin.js +44 -35
  10. package/dist/bin.js.map +1 -1
  11. package/dist/e2e-tests/jest.config.js +1 -1
  12. package/dist/e2e-tests/jest.config.js.map +1 -1
  13. package/dist/e2e-tests/tests/flutter.test.js +62 -147
  14. package/dist/e2e-tests/tests/flutter.test.js.map +1 -1
  15. package/dist/e2e-tests/tests/nextjs.test.js +77 -175
  16. package/dist/e2e-tests/tests/nextjs.test.js.map +1 -1
  17. package/dist/e2e-tests/tests/nuxt-3.test.js +61 -162
  18. package/dist/e2e-tests/tests/nuxt-3.test.js.map +1 -1
  19. package/dist/e2e-tests/tests/nuxt-4.test.js +62 -163
  20. package/dist/e2e-tests/tests/nuxt-4.test.js.map +1 -1
  21. package/dist/e2e-tests/tests/remix.test.js +147 -189
  22. package/dist/e2e-tests/tests/remix.test.js.map +1 -1
  23. package/dist/e2e-tests/tests/sveltekit.test.js +133 -187
  24. package/dist/e2e-tests/tests/sveltekit.test.js.map +1 -1
  25. package/dist/e2e-tests/utils/index.d.ts +1 -1
  26. package/dist/e2e-tests/utils/index.js +113 -195
  27. package/dist/e2e-tests/utils/index.js.map +1 -1
  28. package/dist/lib/Constants.js +5 -5
  29. package/dist/lib/Constants.js.map +1 -1
  30. package/dist/lib/Helper/BottomBar.d.ts +1 -1
  31. package/dist/lib/Helper/BottomBar.js +14 -15
  32. package/dist/lib/Helper/BottomBar.js.map +1 -1
  33. package/dist/lib/Helper/Env.js +5 -2
  34. package/dist/lib/Helper/Env.js.map +1 -1
  35. package/dist/lib/Helper/File.js +14 -27
  36. package/dist/lib/Helper/File.js.map +1 -1
  37. package/dist/lib/Helper/Git.js +24 -59
  38. package/dist/lib/Helper/Git.js.map +1 -1
  39. package/dist/lib/Helper/Logging.js +2 -2
  40. package/dist/lib/Helper/Logging.js.map +1 -1
  41. package/dist/lib/Helper/MergeConfig.js +4 -4
  42. package/dist/lib/Helper/MergeConfig.js.map +1 -1
  43. package/dist/lib/Helper/Package.d.ts +4 -1
  44. package/dist/lib/Helper/Package.js +12 -38
  45. package/dist/lib/Helper/Package.js.map +1 -1
  46. package/dist/lib/Helper/SentryCli.js +77 -149
  47. package/dist/lib/Helper/SentryCli.js.map +1 -1
  48. package/dist/lib/Helper/Wizard.js +29 -124
  49. package/dist/lib/Helper/Wizard.js.map +1 -1
  50. package/dist/lib/Helper/__tests__/File.js +4 -4
  51. package/dist/lib/Helper/__tests__/File.js.map +1 -1
  52. package/dist/lib/Helper/__tests__/MergeConfig.js +24 -24
  53. package/dist/lib/Helper/__tests__/MergeConfig.js.map +1 -1
  54. package/dist/lib/Helper/__tests__/SentryCli.js +33 -23
  55. package/dist/lib/Helper/__tests__/SentryCli.js.map +1 -1
  56. package/dist/lib/Setup.js +23 -85
  57. package/dist/lib/Setup.js.map +1 -1
  58. package/dist/lib/Steps/BaseStep.js +8 -8
  59. package/dist/lib/Steps/BaseStep.js.map +1 -1
  60. package/dist/lib/Steps/ChooseIntegration.js +80 -125
  61. package/dist/lib/Steps/ChooseIntegration.js.map +1 -1
  62. package/dist/lib/Steps/ConfigureProject.js +6 -66
  63. package/dist/lib/Steps/ConfigureProject.js.map +1 -1
  64. package/dist/lib/Steps/Initial.js +16 -104
  65. package/dist/lib/Steps/Initial.js.map +1 -1
  66. package/dist/lib/Steps/Integrations/BaseIntegration.js +24 -118
  67. package/dist/lib/Steps/Integrations/BaseIntegration.js.map +1 -1
  68. package/dist/lib/Steps/Integrations/Cordova.js +95 -183
  69. package/dist/lib/Steps/Integrations/Cordova.js.map +1 -1
  70. package/dist/lib/Steps/Integrations/Electron.js +87 -145
  71. package/dist/lib/Steps/Integrations/Electron.js.map +1 -1
  72. package/dist/lib/Steps/Integrations/MobileProject.js +40 -148
  73. package/dist/lib/Steps/Integrations/MobileProject.js.map +1 -1
  74. package/dist/lib/Steps/OpenSentry.js +63 -126
  75. package/dist/lib/Steps/OpenSentry.js.map +1 -1
  76. package/dist/lib/Steps/PromptForParameters.js +110 -206
  77. package/dist/lib/Steps/PromptForParameters.js.map +1 -1
  78. package/dist/lib/Steps/Result.js +19 -79
  79. package/dist/lib/Steps/Result.js.map +1 -1
  80. package/dist/lib/Steps/SentryProjectSelector.js +57 -148
  81. package/dist/lib/Steps/SentryProjectSelector.js.map +1 -1
  82. package/dist/lib/Steps/ShouldConfigure.js +6 -66
  83. package/dist/lib/Steps/ShouldConfigure.js.map +1 -1
  84. package/dist/lib/Steps/WaitForSentry.js +43 -120
  85. package/dist/lib/Steps/WaitForSentry.js.map +1 -1
  86. package/dist/lib/Steps/Welcome.js +17 -76
  87. package/dist/lib/Steps/Welcome.js.map +1 -1
  88. package/dist/lib/__tests__/Env.js +3 -3
  89. package/dist/lib/__tests__/Env.js.map +1 -1
  90. package/dist/src/android/android-wizard.js +100 -176
  91. package/dist/src/android/android-wizard.js.map +1 -1
  92. package/dist/src/android/code-tools.js +24 -33
  93. package/dist/src/android/code-tools.js.map +1 -1
  94. package/dist/src/android/gradle.js +106 -165
  95. package/dist/src/android/gradle.js.map +1 -1
  96. package/dist/src/android/manifest.js +26 -27
  97. package/dist/src/android/manifest.js.map +1 -1
  98. package/dist/src/android/templates.js +76 -23
  99. package/dist/src/android/templates.js.map +1 -1
  100. package/dist/src/apple/apple-wizard.js +129 -225
  101. package/dist/src/apple/apple-wizard.js.map +1 -1
  102. package/dist/src/apple/cocoapod.js +47 -109
  103. package/dist/src/apple/cocoapod.js.map +1 -1
  104. package/dist/src/apple/code-tools.js +32 -35
  105. package/dist/src/apple/code-tools.js.map +1 -1
  106. package/dist/src/apple/fastlane.js +51 -97
  107. package/dist/src/apple/fastlane.js.map +1 -1
  108. package/dist/src/apple/templates.js +41 -5
  109. package/dist/src/apple/templates.js.map +1 -1
  110. package/dist/src/apple/xcode-manager.d.ts +2 -2
  111. package/dist/src/apple/xcode-manager.js +93 -108
  112. package/dist/src/apple/xcode-manager.js.map +1 -1
  113. package/dist/src/flutter/code-tools.js +79 -127
  114. package/dist/src/flutter/code-tools.js.map +1 -1
  115. package/dist/src/flutter/flutter-wizard.js +75 -136
  116. package/dist/src/flutter/flutter-wizard.js.map +1 -1
  117. package/dist/src/flutter/templates.js +48 -12
  118. package/dist/src/flutter/templates.js.map +1 -1
  119. package/dist/src/nextjs/nextjs-wizard.js +527 -805
  120. package/dist/src/nextjs/nextjs-wizard.js.map +1 -1
  121. package/dist/src/nextjs/templates.js +380 -40
  122. package/dist/src/nextjs/templates.js.map +1 -1
  123. package/dist/src/nextjs/utils.js +5 -5
  124. package/dist/src/nextjs/utils.js.map +1 -1
  125. package/dist/src/nuxt/nuxt-wizard.js +91 -188
  126. package/dist/src/nuxt/nuxt-wizard.js.map +1 -1
  127. package/dist/src/nuxt/sdk-example.js +68 -137
  128. package/dist/src/nuxt/sdk-example.js.map +1 -1
  129. package/dist/src/nuxt/sdk-setup.d.ts +4 -4
  130. package/dist/src/nuxt/sdk-setup.js +180 -336
  131. package/dist/src/nuxt/sdk-setup.js.map +1 -1
  132. package/dist/src/nuxt/templates.js +195 -18
  133. package/dist/src/nuxt/templates.js.map +1 -1
  134. package/dist/src/nuxt/utils.js +29 -76
  135. package/dist/src/nuxt/utils.js.map +1 -1
  136. package/dist/src/react-native/expo-env-file.js +41 -94
  137. package/dist/src/react-native/expo-env-file.js.map +1 -1
  138. package/dist/src/react-native/expo-metro.d.ts +1 -1
  139. package/dist/src/react-native/expo-metro.js +75 -130
  140. package/dist/src/react-native/expo-metro.js.map +1 -1
  141. package/dist/src/react-native/expo.js +61 -114
  142. package/dist/src/react-native/expo.js.map +1 -1
  143. package/dist/src/react-native/git.js +23 -56
  144. package/dist/src/react-native/git.js.map +1 -1
  145. package/dist/src/react-native/glob.js +3 -3
  146. package/dist/src/react-native/glob.js.map +1 -1
  147. package/dist/src/react-native/gradle.js +4 -4
  148. package/dist/src/react-native/gradle.js.map +1 -1
  149. package/dist/src/react-native/javascript.js +51 -95
  150. package/dist/src/react-native/javascript.js.map +1 -1
  151. package/dist/src/react-native/metro.js +176 -296
  152. package/dist/src/react-native/metro.js.map +1 -1
  153. package/dist/src/react-native/react-native-wizard.js +267 -418
  154. package/dist/src/react-native/react-native-wizard.js.map +1 -1
  155. package/dist/src/react-native/uninstall.js +37 -80
  156. package/dist/src/react-native/uninstall.js.map +1 -1
  157. package/dist/src/react-native/xcode.js +57 -55
  158. package/dist/src/react-native/xcode.js.map +1 -1
  159. package/dist/src/remix/codemods/express-server.js +27 -82
  160. package/dist/src/remix/codemods/express-server.js.map +1 -1
  161. package/dist/src/remix/codemods/handle-error.js +28 -31
  162. package/dist/src/remix/codemods/handle-error.js.map +1 -1
  163. package/dist/src/remix/codemods/root-common.js +11 -11
  164. package/dist/src/remix/codemods/root-common.js.map +1 -1
  165. package/dist/src/remix/codemods/root-v1.js +17 -67
  166. package/dist/src/remix/codemods/root-v1.js.map +1 -1
  167. package/dist/src/remix/codemods/root-v2.js +89 -140
  168. package/dist/src/remix/codemods/root-v2.js.map +1 -1
  169. package/dist/src/remix/remix-wizard.js +181 -343
  170. package/dist/src/remix/remix-wizard.js.map +1 -1
  171. package/dist/src/remix/sdk-example.js +84 -66
  172. package/dist/src/remix/sdk-example.js.map +1 -1
  173. package/dist/src/remix/sdk-setup.js +161 -293
  174. package/dist/src/remix/sdk-setup.js.map +1 -1
  175. package/dist/src/remix/templates.js +10 -2
  176. package/dist/src/remix/templates.js.map +1 -1
  177. package/dist/src/remix/utils.js +13 -14
  178. package/dist/src/remix/utils.js.map +1 -1
  179. package/dist/src/run.js +106 -178
  180. package/dist/src/run.js.map +1 -1
  181. package/dist/src/sourcemaps/sourcemaps-wizard.js +248 -372
  182. package/dist/src/sourcemaps/sourcemaps-wizard.js.map +1 -1
  183. package/dist/src/sourcemaps/tools/angular.js +32 -66
  184. package/dist/src/sourcemaps/tools/angular.js.map +1 -1
  185. package/dist/src/sourcemaps/tools/create-react-app.js +14 -59
  186. package/dist/src/sourcemaps/tools/create-react-app.js.map +1 -1
  187. package/dist/src/sourcemaps/tools/esbuild.js +34 -77
  188. package/dist/src/sourcemaps/tools/esbuild.js.map +1 -1
  189. package/dist/src/sourcemaps/tools/nextjs.d.ts +2 -2
  190. package/dist/src/sourcemaps/tools/nextjs.js +75 -102
  191. package/dist/src/sourcemaps/tools/nextjs.js.map +1 -1
  192. package/dist/src/sourcemaps/tools/remix.js +53 -93
  193. package/dist/src/sourcemaps/tools/remix.js.map +1 -1
  194. package/dist/src/sourcemaps/tools/rollup.js +35 -76
  195. package/dist/src/sourcemaps/tools/rollup.js.map +1 -1
  196. package/dist/src/sourcemaps/tools/sentry-cli.js +157 -289
  197. package/dist/src/sourcemaps/tools/sentry-cli.js.map +1 -1
  198. package/dist/src/sourcemaps/tools/tsc.js +68 -134
  199. package/dist/src/sourcemaps/tools/tsc.js.map +1 -1
  200. package/dist/src/sourcemaps/tools/vite.js +111 -196
  201. package/dist/src/sourcemaps/tools/vite.js.map +1 -1
  202. package/dist/src/sourcemaps/tools/webpack.d.ts +1 -1
  203. package/dist/src/sourcemaps/tools/webpack.js +158 -260
  204. package/dist/src/sourcemaps/tools/webpack.js.map +1 -1
  205. package/dist/src/sourcemaps/utils/detect-tool.js +9 -54
  206. package/dist/src/sourcemaps/utils/detect-tool.js.map +1 -1
  207. package/dist/src/sourcemaps/utils/other-wizards.js +77 -144
  208. package/dist/src/sourcemaps/utils/other-wizards.js.map +1 -1
  209. package/dist/src/sourcemaps/utils/sdk-version.js +112 -191
  210. package/dist/src/sourcemaps/utils/sdk-version.js.map +1 -1
  211. package/dist/src/sveltekit/sdk-example.js +20 -70
  212. package/dist/src/sveltekit/sdk-example.js.map +1 -1
  213. package/dist/src/sveltekit/sdk-setup.js +250 -411
  214. package/dist/src/sveltekit/sdk-setup.js.map +1 -1
  215. package/dist/src/sveltekit/sveltekit-wizard.js +107 -191
  216. package/dist/src/sveltekit/sveltekit-wizard.js.map +1 -1
  217. package/dist/src/sveltekit/templates.js +147 -13
  218. package/dist/src/sveltekit/templates.js.map +1 -1
  219. package/dist/src/sveltekit/utils.js +3 -3
  220. package/dist/src/sveltekit/utils.js.map +1 -1
  221. package/dist/src/telemetry.d.ts +2 -2
  222. package/dist/src/telemetry.js +58 -108
  223. package/dist/src/telemetry.js.map +1 -1
  224. package/dist/src/utils/ast-utils.js +39 -54
  225. package/dist/src/utils/ast-utils.js.map +1 -1
  226. package/dist/src/utils/bash.js +28 -75
  227. package/dist/src/utils/bash.js.map +1 -1
  228. package/dist/src/utils/clack-utils.d.ts +3 -7
  229. package/dist/src/utils/clack-utils.js +688 -1083
  230. package/dist/src/utils/clack-utils.js.map +1 -1
  231. package/dist/src/utils/debug.js +6 -10
  232. package/dist/src/utils/debug.js.map +1 -1
  233. package/dist/src/utils/package-json.js +5 -6
  234. package/dist/src/utils/package-json.js.map +1 -1
  235. package/dist/src/utils/package-manager.js +65 -139
  236. package/dist/src/utils/package-manager.js.map +1 -1
  237. package/dist/src/utils/release-registry.js +12 -59
  238. package/dist/src/utils/release-registry.js.map +1 -1
  239. package/dist/src/utils/semver.js +3 -4
  240. package/dist/src/utils/semver.js.map +1 -1
  241. package/dist/src/utils/sentrycli-utils.js +4 -4
  242. package/dist/src/utils/sentrycli-utils.js.map +1 -1
  243. package/dist/src/utils/url.js +5 -6
  244. package/dist/src/utils/url.js.map +1 -1
  245. package/dist/test/android/code-tools.test.js +18 -18
  246. package/dist/test/android/code-tools.test.js.map +1 -1
  247. package/dist/test/apple/cocoapod.test.js +154 -299
  248. package/dist/test/apple/cocoapod.test.js.map +1 -1
  249. package/dist/test/apple/code-tools.test.js +375 -263
  250. package/dist/test/apple/code-tools.test.js.map +1 -1
  251. package/dist/test/apple/fastfile.test.js +319 -271
  252. package/dist/test/apple/fastfile.test.js.map +1 -1
  253. package/dist/test/apple/templates.test.js +114 -30
  254. package/dist/test/apple/templates.test.js.map +1 -1
  255. package/dist/test/apple/xcode-manager.test.js +230 -234
  256. package/dist/test/apple/xcode-manager.test.js.map +1 -1
  257. package/dist/test/flutter/code-tools.test.js +119 -48
  258. package/dist/test/flutter/code-tools.test.js.map +1 -1
  259. package/dist/test/flutter/templates.test.js +63 -20
  260. package/dist/test/flutter/templates.test.js.map +1 -1
  261. package/dist/test/nextjs/templates.test.js +332 -43
  262. package/dist/test/nextjs/templates.test.js.map +1 -1
  263. package/dist/test/nuxt/templates.test.js +161 -33
  264. package/dist/test/nuxt/templates.test.js.map +1 -1
  265. package/dist/test/react-native/expo-metro.test.js +61 -15
  266. package/dist/test/react-native/expo-metro.test.js.map +1 -1
  267. package/dist/test/react-native/expo.test.js +37 -17
  268. package/dist/test/react-native/expo.test.js.map +1 -1
  269. package/dist/test/react-native/gradle.test.js +260 -28
  270. package/dist/test/react-native/gradle.test.js.map +1 -1
  271. package/dist/test/react-native/javascript.test.js +85 -19
  272. package/dist/test/react-native/javascript.test.js.map +1 -1
  273. package/dist/test/react-native/metro.test.js +261 -187
  274. package/dist/test/react-native/metro.test.js.map +1 -1
  275. package/dist/test/react-native/xcode.test.js +243 -62
  276. package/dist/test/react-native/xcode.test.js.map +1 -1
  277. package/dist/test/remix/client-entry.test.js +81 -21
  278. package/dist/test/remix/client-entry.test.js.map +1 -1
  279. package/dist/test/remix/server-instrumentation.test.js +21 -8
  280. package/dist/test/remix/server-instrumentation.test.js.map +1 -1
  281. package/dist/test/sourcemaps/tools/sentry-cli.test.js +20 -72
  282. package/dist/test/sourcemaps/tools/sentry-cli.test.js.map +1 -1
  283. package/dist/test/sourcemaps/tools/tsc.test.js +142 -68
  284. package/dist/test/sourcemaps/tools/tsc.test.js.map +1 -1
  285. package/dist/test/sourcemaps/tools/vite.test.js +106 -75
  286. package/dist/test/sourcemaps/tools/vite.test.js.map +1 -1
  287. package/dist/test/sourcemaps/tools/webpack.test.js +226 -102
  288. package/dist/test/sourcemaps/tools/webpack.test.js.map +1 -1
  289. package/dist/test/sveltekit/templates.test.js +117 -18
  290. package/dist/test/sveltekit/templates.test.js.map +1 -1
  291. package/dist/test/utils/ast-utils.test.js +99 -58
  292. package/dist/test/utils/ast-utils.test.js.map +1 -1
  293. package/dist/test/utils/clack-utils.test.js +142 -247
  294. package/dist/test/utils/clack-utils.test.js.map +1 -1
  295. package/e2e-tests/package.json +1 -1
  296. package/e2e-tests/tests/flutter.test.ts +20 -20
  297. package/e2e-tests/tests/nextjs.test.ts +2 -2
  298. package/e2e-tests/tests/nuxt-3.test.ts +4 -4
  299. package/e2e-tests/tests/nuxt-4.test.ts +3 -3
  300. package/e2e-tests/tests/remix.test.ts +3 -3
  301. package/e2e-tests/tests/sveltekit.test.ts +3 -3
  302. package/e2e-tests/utils/index.ts +33 -15
  303. package/lib/Helper/BottomBar.ts +1 -1
  304. package/lib/Helper/Env.ts +1 -1
  305. package/lib/Helper/Package.ts +12 -10
  306. package/lib/Helper/SentryCli.ts +18 -27
  307. package/lib/Helper/Wizard.ts +1 -2
  308. package/lib/Setup.ts +4 -5
  309. package/lib/Steps/ChooseIntegration.ts +40 -8
  310. package/lib/Steps/Initial.ts +17 -26
  311. package/lib/Steps/Integrations/BaseIntegration.ts +2 -8
  312. package/lib/Steps/Integrations/Cordova.ts +9 -15
  313. package/lib/Steps/Integrations/Electron.ts +23 -20
  314. package/lib/Steps/Integrations/MobileProject.ts +18 -15
  315. package/lib/Steps/OpenSentry.ts +12 -7
  316. package/lib/Steps/PromptForParameters.ts +12 -19
  317. package/lib/Steps/SentryProjectSelector.ts +30 -29
  318. package/lib/Steps/WaitForSentry.ts +29 -23
  319. package/package.json +12 -8
  320. package/src/apple/xcode-manager.ts +10 -10
  321. package/src/nextjs/templates.ts +2 -6
  322. package/src/nuxt/sdk-setup.ts +21 -18
  323. package/src/react-native/expo-metro.ts +2 -2
  324. package/src/react-native/react-native-wizard.ts +1 -2
  325. package/src/react-native/uninstall.ts +1 -2
  326. package/src/react-native/xcode.ts +1 -1
  327. package/src/run.ts +12 -5
  328. package/src/sourcemaps/tools/nextjs.ts +2 -5
  329. package/src/sourcemaps/tools/webpack.ts +3 -3
  330. package/src/telemetry.ts +27 -7
  331. package/src/utils/clack-utils.ts +50 -47
  332. package/test/apple/cocoapod.test.ts +4 -0
  333. package/test/apple/fastfile.test.ts +12 -7
  334. package/test/apple/xcode-manager.test.ts +13 -11
  335. package/test/nextjs/templates.test.ts +0 -12
  336. package/test/utils/clack-utils.test.ts +40 -50
  337. package/types/read-env.d.ts +3 -0
  338. package/types/xcode.d.ts +1 -0
  339. package/dist/package.json +0 -128
@@ -22,60 +22,24 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
61
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
62
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
63
27
  };
64
28
  Object.defineProperty(exports, "__esModule", { value: true });
65
29
  exports.ensureMinimumSdkVersionIsInstalled = void 0;
66
30
  // @ts-ignore - clack is ESM and TS complains about that. It works though
67
- var prompts_1 = __importDefault(require("@clack/prompts"));
68
- var chalk_1 = __importDefault(require("chalk"));
69
- var semver_1 = require("semver");
70
- var clack_utils_1 = require("../../utils/clack-utils");
71
- var Sentry = __importStar(require("@sentry/node"));
72
- var package_json_1 = require("../../utils/package-json");
73
- var MINIMUM_DEBUG_ID_SDK_VERSION = '7.47.0';
31
+ const prompts_1 = __importDefault(require("@clack/prompts"));
32
+ const chalk_1 = __importDefault(require("chalk"));
33
+ const semver_1 = require("semver");
34
+ const clack_utils_1 = require("../../utils/clack-utils");
35
+ const Sentry = __importStar(require("@sentry/node"));
36
+ const package_json_1 = require("../../utils/package-json");
37
+ const MINIMUM_DEBUG_ID_SDK_VERSION = '7.47.0';
74
38
  // This array is orderd by the SDKs we want to check for first.
75
39
  // The reason is that some SDKs depend on others and some users might
76
40
  // have added the dependencies to their package.json. We want to make sure
77
41
  // that we actually detect the "top-level" SDK first.
78
- var SENTRY_SDK_PACKAGE_NAMES = [
42
+ const SENTRY_SDK_PACKAGE_NAMES = [
79
43
  // SDKs using other framework SDKs need to be checked first
80
44
  '@sentry/astro',
81
45
  '@sentry/gatsby',
@@ -115,171 +79,128 @@ var SENTRY_SDK_PACKAGE_NAMES = [
115
79
  * 4. Users installed an SDK in the range <7.x
116
80
  * -> We tell users to manually upgrade (migrate between majors)
117
81
  */
118
- function ensureMinimumSdkVersionIsInstalled() {
119
- return __awaiter(this, void 0, void 0, function () {
120
- var installedSdkPackage, _a, _b, installedSdkName, installedSdkVersionOrRange, minInstalledVersion, hasDebugIdCompatibleSdkVersion, hasV7SdkVersion;
121
- return __generator(this, function (_c) {
122
- switch (_c.label) {
123
- case 0:
124
- _a = package_json_1.findInstalledPackageFromList;
125
- _b = [SENTRY_SDK_PACKAGE_NAMES];
126
- return [4 /*yield*/, (0, clack_utils_1.getPackageDotJson)()];
127
- case 1:
128
- installedSdkPackage = _a.apply(void 0, _b.concat([_c.sent()]));
129
- if (!!installedSdkPackage) return [3 /*break*/, 3];
130
- return [4 /*yield*/, handleNoSdkInstalled()];
131
- case 2: return [2 /*return*/, _c.sent()];
132
- case 3:
133
- installedSdkName = installedSdkPackage.name, installedSdkVersionOrRange = installedSdkPackage.version;
134
- Sentry.setTag('installed-sdk', installedSdkName);
135
- minInstalledVersion = getMinInstalledVersion(installedSdkVersionOrRange, installedSdkName);
136
- if (!minInstalledVersion) {
137
- // This is handled in the getMinInstalledVersion function
138
- return [2 /*return*/];
139
- }
140
- hasDebugIdCompatibleSdkVersion = (0, semver_1.satisfies)(minInstalledVersion, ">=".concat(MINIMUM_DEBUG_ID_SDK_VERSION));
141
- // Case 2:
142
- if (hasDebugIdCompatibleSdkVersion) {
143
- Sentry.setTag('initial-sdk-version', '>=7.47.0');
144
- return [2 /*return*/];
145
- }
146
- hasV7SdkVersion = (0, semver_1.satisfies)(minInstalledVersion, '>=7.0.0');
147
- prompts_1.default.log.warn("".concat(chalk_1.default.yellowBright("It seems like you're using an outdated version (".concat(installedSdkVersionOrRange, ") of the ").concat(chalk_1.default.bold(installedSdkName), " SDK.")), "\nUploading source maps is easiest with an SDK from version ").concat(chalk_1.default.bold(MINIMUM_DEBUG_ID_SDK_VERSION), " or newer. \n"));
148
- if (!hasV7SdkVersion) return [3 /*break*/, 5];
149
- return [4 /*yield*/, handleAutoUpdateSdk(installedSdkName)];
150
- case 4:
151
- _c.sent();
152
- return [2 /*return*/];
153
- case 5:
154
- // Case 4:
155
- return [4 /*yield*/, handleManuallyUpdateSdk(minInstalledVersion)];
156
- case 6:
157
- // Case 4:
158
- _c.sent();
159
- return [2 /*return*/];
160
- }
161
- });
162
- });
82
+ async function ensureMinimumSdkVersionIsInstalled() {
83
+ const installedSdkPackage = (0, package_json_1.findInstalledPackageFromList)(SENTRY_SDK_PACKAGE_NAMES, await (0, clack_utils_1.getPackageDotJson)());
84
+ // Case 1:
85
+ if (!installedSdkPackage) {
86
+ return await handleNoSdkInstalled();
87
+ }
88
+ const { name: installedSdkName, version: installedSdkVersionOrRange } = installedSdkPackage;
89
+ Sentry.setTag('installed-sdk', installedSdkName);
90
+ const minInstalledVersion = getMinInstalledVersion(installedSdkVersionOrRange, installedSdkName);
91
+ if (!minInstalledVersion) {
92
+ // This is handled in the getMinInstalledVersion function
93
+ return;
94
+ }
95
+ const hasDebugIdCompatibleSdkVersion = (0, semver_1.satisfies)(minInstalledVersion, `>=${MINIMUM_DEBUG_ID_SDK_VERSION}`);
96
+ // Case 2:
97
+ if (hasDebugIdCompatibleSdkVersion) {
98
+ Sentry.setTag('initial-sdk-version', '>=7.47.0');
99
+ return;
100
+ }
101
+ const hasV7SdkVersion = (0, semver_1.satisfies)(minInstalledVersion, '>=7.0.0');
102
+ prompts_1.default.log.warn(`${chalk_1.default.yellowBright(`It seems like you're using an outdated version (${installedSdkVersionOrRange}) of the ${chalk_1.default.bold(installedSdkName)} SDK.`)}
103
+ Uploading source maps is easiest with an SDK from version ${chalk_1.default.bold(MINIMUM_DEBUG_ID_SDK_VERSION)} or newer.
104
+ `);
105
+ // Case 3:
106
+ if (hasV7SdkVersion) {
107
+ await handleAutoUpdateSdk(installedSdkName);
108
+ return;
109
+ }
110
+ // Case 4:
111
+ await handleManuallyUpdateSdk(minInstalledVersion);
163
112
  }
164
113
  exports.ensureMinimumSdkVersionIsInstalled = ensureMinimumSdkVersionIsInstalled;
165
- function handleManuallyUpdateSdk(minInstalledVersion) {
166
- return __awaiter(this, void 0, void 0, function () {
167
- var didUpdate;
168
- return __generator(this, function (_a) {
169
- switch (_a.label) {
170
- case 0:
171
- Sentry.setTag('initial-sdk-version', "".concat((0, semver_1.satisfies)(minInstalledVersion, '>=6.0.0') ? '6.x' : '<6.0.0'));
172
- prompts_1.default.log
173
- .info("When upgrading from a version older than 7.0.0, make sure to follow the migration guide:\nhttps://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md#upgrading-from-6x-to-7x\n");
174
- return [4 /*yield*/, (0, clack_utils_1.abortIfCancelled)(prompts_1.default.select({
175
- message: 'Did you update your SDK to the latest version?',
176
- options: [
177
- {
178
- label: 'Yes!',
179
- value: true,
180
- },
181
- {
182
- label: "No, I'll do it later...",
183
- value: false,
184
- hint: chalk_1.default.yellow("Remember to update your SDK to at least ".concat(MINIMUM_DEBUG_ID_SDK_VERSION, ".")),
185
- },
186
- ],
187
- initialValue: true,
188
- }))];
189
- case 1:
190
- didUpdate = _a.sent();
191
- Sentry.setTag('resolved-sdk-status', didUpdate ? 'updated-manually' : 'update-later');
192
- return [2 /*return*/];
193
- }
194
- });
195
- });
114
+ async function handleManuallyUpdateSdk(minInstalledVersion) {
115
+ Sentry.setTag('initial-sdk-version', `${(0, semver_1.satisfies)(minInstalledVersion, '>=6.0.0') ? '6.x' : '<6.0.0'}`);
116
+ prompts_1.default.log
117
+ .info(`When upgrading from a version older than 7.0.0, make sure to follow the migration guide:
118
+ https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md#upgrading-from-6x-to-7x
119
+ `);
120
+ const didUpdate = await (0, clack_utils_1.abortIfCancelled)(prompts_1.default.select({
121
+ message: 'Did you update your SDK to the latest version?',
122
+ options: [
123
+ {
124
+ label: 'Yes!',
125
+ value: true,
126
+ },
127
+ {
128
+ label: "No, I'll do it later...",
129
+ value: false,
130
+ hint: chalk_1.default.yellow(`Remember to update your SDK to at least ${MINIMUM_DEBUG_ID_SDK_VERSION}.`),
131
+ },
132
+ ],
133
+ initialValue: true,
134
+ }));
135
+ Sentry.setTag('resolved-sdk-status', didUpdate ? 'updated-manually' : 'update-later');
196
136
  }
197
- function handleAutoUpdateSdk(packageName) {
198
- return __awaiter(this, void 0, void 0, function () {
199
- var shouldUpdate;
200
- return __generator(this, function (_a) {
201
- switch (_a.label) {
202
- case 0:
203
- Sentry.setTag('initial-sdk-version', '>=7.0.0 <7.47.0');
204
- return [4 /*yield*/, (0, clack_utils_1.abortIfCancelled)(prompts_1.default.select({
205
- message: 'Do you want to automatically update your SDK to the latest version?',
206
- options: [
207
- {
208
- label: 'Yes!',
209
- value: true,
210
- hint: chalk_1.default.green('Recommended'),
211
- },
212
- {
213
- label: "No, I'll do it later...",
214
- value: false,
215
- hint: chalk_1.default.yellow("Remember to update your SDK to at least ".concat(MINIMUM_DEBUG_ID_SDK_VERSION, ".")),
216
- },
217
- ],
218
- initialValue: true,
219
- }))];
220
- case 1:
221
- shouldUpdate = _a.sent();
222
- if (!shouldUpdate) return [3 /*break*/, 3];
223
- return [4 /*yield*/, (0, clack_utils_1.installPackage)({
224
- packageName: packageName,
225
- alreadyInstalled: true,
226
- askBeforeUpdating: false, // we already did this above
227
- })];
228
- case 2:
229
- _a.sent();
230
- _a.label = 3;
231
- case 3:
232
- Sentry.setTag('resolved-sdk-status', shouldUpdate ? 'updated-automatically' : 'update-later');
233
- return [2 /*return*/];
234
- }
137
+ async function handleAutoUpdateSdk(packageName) {
138
+ Sentry.setTag('initial-sdk-version', '>=7.0.0 <7.47.0');
139
+ const shouldUpdate = await (0, clack_utils_1.abortIfCancelled)(prompts_1.default.select({
140
+ message: 'Do you want to automatically update your SDK to the latest version?',
141
+ options: [
142
+ {
143
+ label: 'Yes!',
144
+ value: true,
145
+ hint: chalk_1.default.green('Recommended'),
146
+ },
147
+ {
148
+ label: "No, I'll do it later...",
149
+ value: false,
150
+ hint: chalk_1.default.yellow(`Remember to update your SDK to at least ${MINIMUM_DEBUG_ID_SDK_VERSION}.`),
151
+ },
152
+ ],
153
+ initialValue: true,
154
+ }));
155
+ if (shouldUpdate) {
156
+ await (0, clack_utils_1.installPackage)({
157
+ packageName,
158
+ alreadyInstalled: true,
159
+ askBeforeUpdating: false, // we already did this above
235
160
  });
236
- });
161
+ }
162
+ Sentry.setTag('resolved-sdk-status', shouldUpdate ? 'updated-automatically' : 'update-later');
237
163
  }
238
- function handleNoSdkInstalled() {
239
- return __awaiter(this, void 0, void 0, function () {
240
- var installedSDK;
241
- return __generator(this, function (_a) {
242
- switch (_a.label) {
243
- case 0:
244
- Sentry.setTag('initial-sdk-version', 'none');
245
- Sentry.setTag('installed-sdk', 'none');
246
- prompts_1.default.log.warn("".concat(chalk_1.default.yellowBright("It seems like you didn't yet install a Sentry SDK in your project."), "\nWe recommend setting up the SDK before continuing with the source maps wizard.\n\n").concat(chalk_1.default.dim("Take a look at our docs to get started:\nhttps://docs.sentry.io/")));
247
- return [4 /*yield*/, (0, clack_utils_1.abortIfCancelled)(prompts_1.default.select({
248
- message: 'Did you set up your Sentry SDK?',
249
- options: [
250
- { label: 'Yes, continue!', value: true },
251
- {
252
- label: "I'll do it later...",
253
- value: false,
254
- hint: chalk_1.default.yellow('You need to set up an SDK before you can use Sentry'),
255
- },
256
- ],
257
- initialValue: true,
258
- }))];
259
- case 1:
260
- installedSDK = _a.sent();
261
- Sentry.setTag('resolved-sdk-status', installedSDK ? 'installed-manually' : 'install-later');
262
- return [2 /*return*/];
263
- }
264
- });
265
- });
164
+ async function handleNoSdkInstalled() {
165
+ Sentry.setTag('initial-sdk-version', 'none');
166
+ Sentry.setTag('installed-sdk', 'none');
167
+ prompts_1.default.log.warn(`${chalk_1.default.yellowBright(`It seems like you didn't yet install a Sentry SDK in your project.`)}
168
+ We recommend setting up the SDK before continuing with the source maps wizard.
169
+
170
+ ${chalk_1.default.dim(`Take a look at our docs to get started:
171
+ https://docs.sentry.io/`)}`);
172
+ const installedSDK = await (0, clack_utils_1.abortIfCancelled)(prompts_1.default.select({
173
+ message: 'Did you set up your Sentry SDK?',
174
+ options: [
175
+ { label: 'Yes, continue!', value: true },
176
+ {
177
+ label: "I'll do it later...",
178
+ value: false,
179
+ hint: chalk_1.default.yellow('You need to set up an SDK before you can use Sentry'),
180
+ },
181
+ ],
182
+ initialValue: true,
183
+ }));
184
+ Sentry.setTag('resolved-sdk-status', installedSDK ? 'installed-manually' : 'install-later');
266
185
  }
267
186
  function getMinInstalledVersion(installedSdkVersionOrRange, installedSdkName) {
268
- var _a;
269
187
  try {
270
188
  // If `minVersion` is unable to parse the version it will throw an error
271
189
  // However, it will also return `null` if the parameter is undefined, which
272
190
  // we explicitly checked before but the typing doesn't know that.
273
- var minInstalledVersion = (_a = (0, semver_1.minVersion)(installedSdkVersionOrRange)) === null || _a === void 0 ? void 0 : _a.version;
191
+ const minInstalledVersion = (0, semver_1.minVersion)(installedSdkVersionOrRange)?.version;
274
192
  if (minInstalledVersion) {
275
193
  return minInstalledVersion;
276
194
  }
277
195
  }
278
- catch (_b) {
196
+ catch {
279
197
  // handling this, along with the `null` case below
280
198
  }
281
199
  Sentry.setTag('initial-sdk-version', 'unknown');
282
- prompts_1.default.log.warn("".concat(chalk_1.default.yellow("Could not parse the version of your installed SDK (\"".concat(installedSdkName, "\": \"").concat(installedSdkVersionOrRange, "\")")), "\n\nPlease make sure that your Sentry SDK is updated to version ").concat(chalk_1.default.bold(MINIMUM_DEBUG_ID_SDK_VERSION), " or newer.\n "));
200
+ prompts_1.default.log.warn(`${chalk_1.default.yellow(`Could not parse the version of your installed SDK ("${installedSdkName}": "${installedSdkVersionOrRange}")`)}
201
+
202
+ Please make sure that your Sentry SDK is updated to version ${chalk_1.default.bold(MINIMUM_DEBUG_ID_SDK_VERSION)} or newer.
203
+ `);
283
204
  return undefined;
284
205
  }
285
206
  //# sourceMappingURL=sdk-version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-version.js","sourceRoot":"","sources":["../../../../src/sourcemaps/utils/sdk-version.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-ignore - clack is ESM and TS complains about that. It works though\nimport clack from '@clack/prompts';\nimport chalk from 'chalk';\nimport { minVersion, satisfies } from 'semver';\nimport {\n abortIfCancelled,\n getPackageDotJson,\n installPackage,\n} from '../../utils/clack-utils';\n\nimport * as Sentry from '@sentry/node';\nimport { findInstalledPackageFromList } from '../../utils/package-json';\n\nconst MINIMUM_DEBUG_ID_SDK_VERSION = '7.47.0';\n\n// This array is orderd by the SDKs we want to check for first.\n// The reason is that some SDKs depend on others and some users might\n// have added the dependencies to their package.json. We want to make sure\n// that we actually detect the \"top-level\" SDK first.\nconst SENTRY_SDK_PACKAGE_NAMES = [\n // SDKs using other framework SDKs need to be checked first\n '@sentry/astro',\n '@sentry/gatsby',\n '@sentry/nextjs',\n '@sentry/nuxt',\n '@sentry/remix',\n '@sentry/solidstart',\n '@sentry/sveltekit',\n\n // Framework SDKs\n '@sentry/angular',\n '@sentry/angular-ivy',\n '@sentry/aws-serverless',\n '@sentry/bun',\n '@sentry/ember',\n '@sentry/google-cloud-serverless',\n '@sentry/nestjs',\n '@sentry/react',\n '@sentry/solid',\n '@sentry/svelte',\n '@sentry/vue',\n '@sentry/serverless',\n\n // Base SDKs\n '@sentry/browser',\n '@sentry/node',\n '@sentry/deno',\n];\n\n/**\n * Check for a minimum SDK version and prompt the user to upgrade if necessary.\n * We distinguish between 4 cases here:\n *\n * 1. Users didn't install any SDK yet\n * -> We tell them to install an SDK and then continue with the wizard\n * 2. Users installed an SDK in the range >=7.47.0\n * -> All good, no need to do anything!\n * 3. Users installed an SDK in the range >=7.0.0 <= 7.46.0\n * -> We ask if they want to auto-update to the latest version\n * 4. Users installed an SDK in the range <7.x\n * -> We tell users to manually upgrade (migrate between majors)\n */\nexport async function ensureMinimumSdkVersionIsInstalled(): Promise<void> {\n const installedSdkPackage = findInstalledPackageFromList(\n SENTRY_SDK_PACKAGE_NAMES,\n await getPackageDotJson(),\n );\n\n // Case 1:\n if (!installedSdkPackage) {\n return await handleNoSdkInstalled();\n }\n\n const { name: installedSdkName, version: installedSdkVersionOrRange } =\n installedSdkPackage;\n\n Sentry.setTag('installed-sdk', installedSdkName);\n\n const minInstalledVersion = getMinInstalledVersion(\n installedSdkVersionOrRange,\n installedSdkName,\n );\n\n if (!minInstalledVersion) {\n // This is handled in the getMinInstalledVersion function\n return;\n }\n\n const hasDebugIdCompatibleSdkVersion = satisfies(\n minInstalledVersion,\n `>=${MINIMUM_DEBUG_ID_SDK_VERSION}`,\n );\n\n // Case 2:\n if (hasDebugIdCompatibleSdkVersion) {\n Sentry.setTag('initial-sdk-version', '>=7.47.0');\n return;\n }\n\n const hasV7SdkVersion = satisfies(minInstalledVersion, '>=7.0.0');\n\n clack.log.warn(\n `${chalk.yellowBright(\n `It seems like you're using an outdated version (${installedSdkVersionOrRange}) of the ${chalk.bold(\n installedSdkName,\n )} SDK.`,\n )}\nUploading source maps is easiest with an SDK from version ${chalk.bold(\n MINIMUM_DEBUG_ID_SDK_VERSION,\n )} or newer. \n`,\n );\n\n // Case 3:\n if (hasV7SdkVersion) {\n await handleAutoUpdateSdk(installedSdkName);\n return;\n }\n\n // Case 4:\n await handleManuallyUpdateSdk(minInstalledVersion);\n}\n\nasync function handleManuallyUpdateSdk(minInstalledVersion: string) {\n Sentry.setTag(\n 'initial-sdk-version',\n `${satisfies(minInstalledVersion, '>=6.0.0') ? '6.x' : '<6.0.0'}`,\n );\n\n clack.log\n .info(`When upgrading from a version older than 7.0.0, make sure to follow the migration guide:\nhttps://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md#upgrading-from-6x-to-7x\n`);\n\n const didUpdate = await abortIfCancelled(\n clack.select({\n message: 'Did you update your SDK to the latest version?',\n options: [\n {\n label: 'Yes!',\n value: true,\n },\n {\n label: \"No, I'll do it later...\",\n value: false,\n hint: chalk.yellow(\n `Remember to update your SDK to at least ${MINIMUM_DEBUG_ID_SDK_VERSION}.`,\n ),\n },\n ],\n initialValue: true,\n }),\n );\n\n Sentry.setTag(\n 'resolved-sdk-status',\n didUpdate ? 'updated-manually' : 'update-later',\n );\n}\n\nasync function handleAutoUpdateSdk(packageName: string) {\n Sentry.setTag('initial-sdk-version', '>=7.0.0 <7.47.0');\n\n const shouldUpdate = await abortIfCancelled(\n clack.select({\n message:\n 'Do you want to automatically update your SDK to the latest version?',\n options: [\n {\n label: 'Yes!',\n value: true,\n hint: chalk.green('Recommended'),\n },\n {\n label: \"No, I'll do it later...\",\n value: false,\n hint: chalk.yellow(\n `Remember to update your SDK to at least ${MINIMUM_DEBUG_ID_SDK_VERSION}.`,\n ),\n },\n ],\n initialValue: true,\n }),\n );\n\n if (shouldUpdate) {\n await installPackage({\n packageName,\n alreadyInstalled: true,\n askBeforeUpdating: false, // we already did this above\n });\n }\n\n Sentry.setTag(\n 'resolved-sdk-status',\n shouldUpdate ? 'updated-automatically' : 'update-later',\n );\n}\n\nasync function handleNoSdkInstalled(): Promise<void> {\n Sentry.setTag('initial-sdk-version', 'none');\n Sentry.setTag('installed-sdk', 'none');\n\n clack.log.warn(\n `${chalk.yellowBright(\n `It seems like you didn't yet install a Sentry SDK in your project.`,\n )}\nWe recommend setting up the SDK before continuing with the source maps wizard.\n\n${chalk.dim(`Take a look at our docs to get started:\nhttps://docs.sentry.io/`)}`,\n );\n\n const installedSDK = await abortIfCancelled(\n clack.select({\n message: 'Did you set up your Sentry SDK?',\n options: [\n { label: 'Yes, continue!', value: true },\n {\n label: \"I'll do it later...\",\n value: false,\n hint: chalk.yellow(\n 'You need to set up an SDK before you can use Sentry',\n ),\n },\n ],\n initialValue: true,\n }),\n );\n\n Sentry.setTag(\n 'resolved-sdk-status',\n installedSDK ? 'installed-manually' : 'install-later',\n );\n}\n\nfunction getMinInstalledVersion(\n installedSdkVersionOrRange: string,\n installedSdkName: string,\n): string | undefined {\n try {\n // If `minVersion` is unable to parse the version it will throw an error\n // However, it will also return `null` if the parameter is undefined, which\n // we explicitly checked before but the typing doesn't know that.\n const minInstalledVersion = minVersion(installedSdkVersionOrRange)?.version;\n if (minInstalledVersion) {\n return minInstalledVersion;\n }\n } catch {\n // handling this, along with the `null` case below\n }\n\n Sentry.setTag('initial-sdk-version', 'unknown');\n clack.log.warn(\n `${chalk.yellow(\n `Could not parse the version of your installed SDK (\"${installedSdkName}\": \"${installedSdkVersionOrRange}\")`,\n )}\n\nPlease make sure that your Sentry SDK is updated to version ${chalk.bold(\n MINIMUM_DEBUG_ID_SDK_VERSION,\n )} or newer.\n `,\n );\n\n return undefined;\n}\n"]}
1
+ {"version":3,"file":"sdk-version.js","sourceRoot":"","sources":["../../../../src/sourcemaps/utils/sdk-version.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-ignore - clack is ESM and TS complains about that. It works though\nimport clack from '@clack/prompts';\nimport chalk from 'chalk';\nimport { minVersion, satisfies } from 'semver';\nimport {\n abortIfCancelled,\n getPackageDotJson,\n installPackage,\n} from '../../utils/clack-utils';\n\nimport * as Sentry from '@sentry/node';\nimport { findInstalledPackageFromList } from '../../utils/package-json';\n\nconst MINIMUM_DEBUG_ID_SDK_VERSION = '7.47.0';\n\n// This array is orderd by the SDKs we want to check for first.\n// The reason is that some SDKs depend on others and some users might\n// have added the dependencies to their package.json. We want to make sure\n// that we actually detect the \"top-level\" SDK first.\nconst SENTRY_SDK_PACKAGE_NAMES = [\n // SDKs using other framework SDKs need to be checked first\n '@sentry/astro',\n '@sentry/gatsby',\n '@sentry/nextjs',\n '@sentry/nuxt',\n '@sentry/remix',\n '@sentry/solidstart',\n '@sentry/sveltekit',\n\n // Framework SDKs\n '@sentry/angular',\n '@sentry/angular-ivy',\n '@sentry/aws-serverless',\n '@sentry/bun',\n '@sentry/ember',\n '@sentry/google-cloud-serverless',\n '@sentry/nestjs',\n '@sentry/react',\n '@sentry/solid',\n '@sentry/svelte',\n '@sentry/vue',\n '@sentry/serverless',\n\n // Base SDKs\n '@sentry/browser',\n '@sentry/node',\n '@sentry/deno',\n];\n\n/**\n * Check for a minimum SDK version and prompt the user to upgrade if necessary.\n * We distinguish between 4 cases here:\n *\n * 1. Users didn't install any SDK yet\n * -> We tell them to install an SDK and then continue with the wizard\n * 2. Users installed an SDK in the range >=7.47.0\n * -> All good, no need to do anything!\n * 3. Users installed an SDK in the range >=7.0.0 <= 7.46.0\n * -> We ask if they want to auto-update to the latest version\n * 4. Users installed an SDK in the range <7.x\n * -> We tell users to manually upgrade (migrate between majors)\n */\nexport async function ensureMinimumSdkVersionIsInstalled(): Promise<void> {\n const installedSdkPackage = findInstalledPackageFromList(\n SENTRY_SDK_PACKAGE_NAMES,\n await getPackageDotJson(),\n );\n\n // Case 1:\n if (!installedSdkPackage) {\n return await handleNoSdkInstalled();\n }\n\n const { name: installedSdkName, version: installedSdkVersionOrRange } =\n installedSdkPackage;\n\n Sentry.setTag('installed-sdk', installedSdkName);\n\n const minInstalledVersion = getMinInstalledVersion(\n installedSdkVersionOrRange,\n installedSdkName,\n );\n\n if (!minInstalledVersion) {\n // This is handled in the getMinInstalledVersion function\n return;\n }\n\n const hasDebugIdCompatibleSdkVersion = satisfies(\n minInstalledVersion,\n `>=${MINIMUM_DEBUG_ID_SDK_VERSION}`,\n );\n\n // Case 2:\n if (hasDebugIdCompatibleSdkVersion) {\n Sentry.setTag('initial-sdk-version', '>=7.47.0');\n return;\n }\n\n const hasV7SdkVersion = satisfies(minInstalledVersion, '>=7.0.0');\n\n clack.log.warn(\n `${chalk.yellowBright(\n `It seems like you're using an outdated version (${installedSdkVersionOrRange}) of the ${chalk.bold(\n installedSdkName,\n )} SDK.`,\n )}\nUploading source maps is easiest with an SDK from version ${chalk.bold(\n MINIMUM_DEBUG_ID_SDK_VERSION,\n )} or newer. \n`,\n );\n\n // Case 3:\n if (hasV7SdkVersion) {\n await handleAutoUpdateSdk(installedSdkName);\n return;\n }\n\n // Case 4:\n await handleManuallyUpdateSdk(minInstalledVersion);\n}\n\nasync function handleManuallyUpdateSdk(minInstalledVersion: string) {\n Sentry.setTag(\n 'initial-sdk-version',\n `${satisfies(minInstalledVersion, '>=6.0.0') ? '6.x' : '<6.0.0'}`,\n );\n\n clack.log\n .info(`When upgrading from a version older than 7.0.0, make sure to follow the migration guide:\nhttps://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md#upgrading-from-6x-to-7x\n`);\n\n const didUpdate = await abortIfCancelled(\n clack.select({\n message: 'Did you update your SDK to the latest version?',\n options: [\n {\n label: 'Yes!',\n value: true,\n },\n {\n label: \"No, I'll do it later...\",\n value: false,\n hint: chalk.yellow(\n `Remember to update your SDK to at least ${MINIMUM_DEBUG_ID_SDK_VERSION}.`,\n ),\n },\n ],\n initialValue: true,\n }),\n );\n\n Sentry.setTag(\n 'resolved-sdk-status',\n didUpdate ? 'updated-manually' : 'update-later',\n );\n}\n\nasync function handleAutoUpdateSdk(packageName: string) {\n Sentry.setTag('initial-sdk-version', '>=7.0.0 <7.47.0');\n\n const shouldUpdate = await abortIfCancelled(\n clack.select({\n message:\n 'Do you want to automatically update your SDK to the latest version?',\n options: [\n {\n label: 'Yes!',\n value: true,\n hint: chalk.green('Recommended'),\n },\n {\n label: \"No, I'll do it later...\",\n value: false,\n hint: chalk.yellow(\n `Remember to update your SDK to at least ${MINIMUM_DEBUG_ID_SDK_VERSION}.`,\n ),\n },\n ],\n initialValue: true,\n }),\n );\n\n if (shouldUpdate) {\n await installPackage({\n packageName,\n alreadyInstalled: true,\n askBeforeUpdating: false, // we already did this above\n });\n }\n\n Sentry.setTag(\n 'resolved-sdk-status',\n shouldUpdate ? 'updated-automatically' : 'update-later',\n );\n}\n\nasync function handleNoSdkInstalled(): Promise<void> {\n Sentry.setTag('initial-sdk-version', 'none');\n Sentry.setTag('installed-sdk', 'none');\n\n clack.log.warn(\n `${chalk.yellowBright(\n `It seems like you didn't yet install a Sentry SDK in your project.`,\n )}\nWe recommend setting up the SDK before continuing with the source maps wizard.\n\n${chalk.dim(`Take a look at our docs to get started:\nhttps://docs.sentry.io/`)}`,\n );\n\n const installedSDK = await abortIfCancelled(\n clack.select({\n message: 'Did you set up your Sentry SDK?',\n options: [\n { label: 'Yes, continue!', value: true },\n {\n label: \"I'll do it later...\",\n value: false,\n hint: chalk.yellow(\n 'You need to set up an SDK before you can use Sentry',\n ),\n },\n ],\n initialValue: true,\n }),\n );\n\n Sentry.setTag(\n 'resolved-sdk-status',\n installedSDK ? 'installed-manually' : 'install-later',\n );\n}\n\nfunction getMinInstalledVersion(\n installedSdkVersionOrRange: string,\n installedSdkName: string,\n): string | undefined {\n try {\n // If `minVersion` is unable to parse the version it will throw an error\n // However, it will also return `null` if the parameter is undefined, which\n // we explicitly checked before but the typing doesn't know that.\n const minInstalledVersion = minVersion(installedSdkVersionOrRange)?.version;\n if (minInstalledVersion) {\n return minInstalledVersion;\n }\n } catch {\n // handling this, along with the `null` case below\n }\n\n Sentry.setTag('initial-sdk-version', 'unknown');\n clack.log.warn(\n `${chalk.yellow(\n `Could not parse the version of your installed SDK (\"${installedSdkName}\": \"${installedSdkVersionOrRange}\")`,\n )}\n\nPlease make sure that your Sentry SDK is updated to version ${chalk.bold(\n MINIMUM_DEBUG_ID_SDK_VERSION,\n )} or newer.\n `,\n );\n\n return undefined;\n}\n"]}
@@ -22,85 +22,35 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
61
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
62
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
63
27
  };
64
28
  Object.defineProperty(exports, "__esModule", { value: true });
65
29
  exports.createExamplePage = void 0;
66
- var fs = __importStar(require("fs"));
67
- var path = __importStar(require("path"));
30
+ const fs = __importStar(require("fs"));
31
+ const path = __importStar(require("path"));
68
32
  // @ts-ignore - clack is ESM and TS complains about that. It works though
69
- var prompts_1 = __importDefault(require("@clack/prompts"));
70
- var templates_1 = require("./templates");
33
+ const prompts_1 = __importDefault(require("@clack/prompts"));
34
+ const templates_1 = require("./templates");
71
35
  /**
72
36
  * Creates example page and API route to test Sentry
73
37
  */
74
- function createExamplePage(svelteConfig, projectProps) {
75
- var _a, _b;
76
- return __awaiter(this, void 0, void 0, function () {
77
- var routesDirectory, exampleRoutePath;
78
- return __generator(this, function (_c) {
79
- switch (_c.label) {
80
- case 0:
81
- routesDirectory = ((_b = (_a = svelteConfig.kit) === null || _a === void 0 ? void 0 : _a.files) === null || _b === void 0 ? void 0 : _b.routes) || 'src/routes';
82
- exampleRoutePath = path.resolve(path.join(routesDirectory, 'sentry-example'));
83
- if (!fs.existsSync(routesDirectory)) {
84
- prompts_1.default.log.warn("Couldn't find your routes directory. Creating it now: ".concat(routesDirectory));
85
- fs.mkdirSync(routesDirectory, { recursive: true });
86
- }
87
- if (!fs.existsSync(exampleRoutePath)) {
88
- fs.mkdirSync(exampleRoutePath);
89
- }
90
- else {
91
- prompts_1.default.log.warn("It seems like a sentry example page already exists (".concat(path.basename(exampleRoutePath), "). Skipping creation of example route."));
92
- return [2 /*return*/];
93
- }
94
- return [4 /*yield*/, fs.promises.writeFile(path.join(exampleRoutePath, '+page.svelte'), (0, templates_1.getSentryExampleSveltePage)(projectProps))];
95
- case 1:
96
- _c.sent();
97
- return [4 /*yield*/, fs.promises.writeFile(path.join(exampleRoutePath, '+server.js'), (0, templates_1.getSentryExampleApiRoute)())];
98
- case 2:
99
- _c.sent();
100
- return [2 /*return*/];
101
- }
102
- });
103
- });
38
+ async function createExamplePage(svelteConfig, projectProps) {
39
+ const routesDirectory = svelteConfig.kit?.files?.routes || 'src/routes';
40
+ const exampleRoutePath = path.resolve(path.join(routesDirectory, 'sentry-example'));
41
+ if (!fs.existsSync(routesDirectory)) {
42
+ prompts_1.default.log.warn(`Couldn't find your routes directory. Creating it now: ${routesDirectory}`);
43
+ fs.mkdirSync(routesDirectory, { recursive: true });
44
+ }
45
+ if (!fs.existsSync(exampleRoutePath)) {
46
+ fs.mkdirSync(exampleRoutePath);
47
+ }
48
+ else {
49
+ prompts_1.default.log.warn(`It seems like a sentry example page already exists (${path.basename(exampleRoutePath)}). Skipping creation of example route.`);
50
+ return;
51
+ }
52
+ await fs.promises.writeFile(path.join(exampleRoutePath, '+page.svelte'), (0, templates_1.getSentryExampleSveltePage)(projectProps));
53
+ await fs.promises.writeFile(path.join(exampleRoutePath, '+server.js'), (0, templates_1.getSentryExampleApiRoute)());
104
54
  }
105
55
  exports.createExamplePage = createExamplePage;
106
56
  //# sourceMappingURL=sdk-example.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-example.js","sourceRoot":"","sources":["../../../src/sveltekit/sdk-example.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,yCAA6B;AAC7B,yEAAyE;AACzE,2DAAmC;AAGnC,yCAGqB;AAErB;;GAEG;AACH,SAAsB,iBAAiB,CACrC,YAAiC,EACjC,YAKC;;;;;;;oBAEK,eAAe,GAAG,CAAA,MAAA,MAAA,YAAY,CAAC,GAAG,0CAAE,KAAK,0CAAE,MAAM,KAAI,YAAY,CAAC;oBAClE,gBAAgB,GAAG,IAAI,CAAC,OAAO,CACnC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAC7C,CAAC;oBAEF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;wBACnC,iBAAK,CAAC,GAAG,CAAC,IAAI,CACZ,gEAAyD,eAAe,CAAE,CAC3E,CAAC;wBACF,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;qBACpD;oBAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;wBACpC,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;qBAChC;yBAAM;wBACL,iBAAK,CAAC,GAAG,CAAC,IAAI,CACZ,8DAAuD,IAAI,CAAC,QAAQ,CAClE,gBAAgB,CACjB,2CAAwC,CAC1C,CAAC;wBACF,sBAAO;qBACR;oBAED,qBAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAC3C,IAAA,sCAA0B,EAAC,YAAY,CAAC,CACzC,EAAA;;oBAHD,SAGC,CAAC;oBAEF,qBAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,EACzC,IAAA,oCAAwB,GAAE,CAC3B,EAAA;;oBAHD,SAGC,CAAC;;;;;CACH;AAzCD,8CAyCC","sourcesContent":["import * as fs from 'fs';\nimport * as path from 'path';\n// @ts-ignore - clack is ESM and TS complains about that. It works though\nimport clack from '@clack/prompts';\n\nimport { PartialSvelteConfig } from './sdk-setup';\nimport {\n getSentryExampleApiRoute,\n getSentryExampleSveltePage,\n} from './templates';\n\n/**\n * Creates example page and API route to test Sentry\n */\nexport async function createExamplePage(\n svelteConfig: PartialSvelteConfig,\n projectProps: {\n selfHosted: boolean;\n url: string;\n orgSlug: string;\n projectId: string;\n },\n): Promise<void> {\n const routesDirectory = svelteConfig.kit?.files?.routes || 'src/routes';\n const exampleRoutePath = path.resolve(\n path.join(routesDirectory, 'sentry-example'),\n );\n\n if (!fs.existsSync(routesDirectory)) {\n clack.log.warn(\n `Couldn't find your routes directory. Creating it now: ${routesDirectory}`,\n );\n fs.mkdirSync(routesDirectory, { recursive: true });\n }\n\n if (!fs.existsSync(exampleRoutePath)) {\n fs.mkdirSync(exampleRoutePath);\n } else {\n clack.log.warn(\n `It seems like a sentry example page already exists (${path.basename(\n exampleRoutePath,\n )}). Skipping creation of example route.`,\n );\n return;\n }\n\n await fs.promises.writeFile(\n path.join(exampleRoutePath, '+page.svelte'),\n getSentryExampleSveltePage(projectProps),\n );\n\n await fs.promises.writeFile(\n path.join(exampleRoutePath, '+server.js'),\n getSentryExampleApiRoute(),\n );\n}\n"]}
1
+ {"version":3,"file":"sdk-example.js","sourceRoot":"","sources":["../../../src/sveltekit/sdk-example.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,yEAAyE;AACzE,6DAAmC;AAGnC,2CAGqB;AAErB;;GAEG;AACI,KAAK,UAAU,iBAAiB,CACrC,YAAiC,EACjC,YAKC;IAED,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,YAAY,CAAC;IACxE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CACnC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAC7C,CAAC;IAEF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;QACnC,iBAAK,CAAC,GAAG,CAAC,IAAI,CACZ,yDAAyD,eAAe,EAAE,CAC3E,CAAC;QACF,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACpD;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;QACpC,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;KAChC;SAAM;QACL,iBAAK,CAAC,GAAG,CAAC,IAAI,CACZ,uDAAuD,IAAI,CAAC,QAAQ,CAClE,gBAAgB,CACjB,wCAAwC,CAC1C,CAAC;QACF,OAAO;KACR;IAED,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAC3C,IAAA,sCAA0B,EAAC,YAAY,CAAC,CACzC,CAAC;IAEF,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,EACzC,IAAA,oCAAwB,GAAE,CAC3B,CAAC;AACJ,CAAC;AAzCD,8CAyCC","sourcesContent":["import * as fs from 'fs';\nimport * as path from 'path';\n// @ts-ignore - clack is ESM and TS complains about that. It works though\nimport clack from '@clack/prompts';\n\nimport { PartialSvelteConfig } from './sdk-setup';\nimport {\n getSentryExampleApiRoute,\n getSentryExampleSveltePage,\n} from './templates';\n\n/**\n * Creates example page and API route to test Sentry\n */\nexport async function createExamplePage(\n svelteConfig: PartialSvelteConfig,\n projectProps: {\n selfHosted: boolean;\n url: string;\n orgSlug: string;\n projectId: string;\n },\n): Promise<void> {\n const routesDirectory = svelteConfig.kit?.files?.routes || 'src/routes';\n const exampleRoutePath = path.resolve(\n path.join(routesDirectory, 'sentry-example'),\n );\n\n if (!fs.existsSync(routesDirectory)) {\n clack.log.warn(\n `Couldn't find your routes directory. Creating it now: ${routesDirectory}`,\n );\n fs.mkdirSync(routesDirectory, { recursive: true });\n }\n\n if (!fs.existsSync(exampleRoutePath)) {\n fs.mkdirSync(exampleRoutePath);\n } else {\n clack.log.warn(\n `It seems like a sentry example page already exists (${path.basename(\n exampleRoutePath,\n )}). Skipping creation of example route.`,\n );\n return;\n }\n\n await fs.promises.writeFile(\n path.join(exampleRoutePath, '+page.svelte'),\n getSentryExampleSveltePage(projectProps),\n );\n\n await fs.promises.writeFile(\n path.join(exampleRoutePath, '+server.js'),\n getSentryExampleApiRoute(),\n );\n}\n"]}