@sentry/wizard 3.42.1 → 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.
- package/.node-cache/node-v22.14.0-darwin-arm64 +0 -0
- package/.node-cache/node-v22.14.0-darwin-x64 +0 -0
- package/.node-cache/node-v22.14.0-linux-arm64 +0 -0
- package/.node-cache/node-v22.14.0-linux-x64 +0 -0
- package/.node-cache/node-v22.14.0-win-x64.exe +0 -0
- package/CHANGELOG.md +26 -0
- package/COPYING +3575 -0
- package/bin.ts +85 -80
- package/dist/bin.js +44 -35
- package/dist/bin.js.map +1 -1
- package/dist/e2e-tests/jest.config.js +1 -1
- package/dist/e2e-tests/jest.config.js.map +1 -1
- package/dist/e2e-tests/tests/flutter.test.js +62 -147
- package/dist/e2e-tests/tests/flutter.test.js.map +1 -1
- package/dist/e2e-tests/tests/nextjs.test.js +77 -175
- package/dist/e2e-tests/tests/nextjs.test.js.map +1 -1
- package/dist/e2e-tests/tests/nuxt-3.test.js +61 -162
- package/dist/e2e-tests/tests/nuxt-3.test.js.map +1 -1
- package/dist/e2e-tests/tests/nuxt-4.test.js +62 -163
- package/dist/e2e-tests/tests/nuxt-4.test.js.map +1 -1
- package/dist/e2e-tests/tests/remix.test.js +147 -189
- package/dist/e2e-tests/tests/remix.test.js.map +1 -1
- package/dist/e2e-tests/tests/sveltekit.test.js +133 -187
- package/dist/e2e-tests/tests/sveltekit.test.js.map +1 -1
- package/dist/e2e-tests/utils/index.d.ts +1 -1
- package/dist/e2e-tests/utils/index.js +113 -195
- package/dist/e2e-tests/utils/index.js.map +1 -1
- package/dist/lib/Constants.js +5 -5
- package/dist/lib/Constants.js.map +1 -1
- package/dist/lib/Helper/BottomBar.d.ts +1 -1
- package/dist/lib/Helper/BottomBar.js +14 -15
- package/dist/lib/Helper/BottomBar.js.map +1 -1
- package/dist/lib/Helper/Env.js +5 -2
- package/dist/lib/Helper/Env.js.map +1 -1
- package/dist/lib/Helper/File.js +14 -27
- package/dist/lib/Helper/File.js.map +1 -1
- package/dist/lib/Helper/Git.js +24 -59
- package/dist/lib/Helper/Git.js.map +1 -1
- package/dist/lib/Helper/Logging.js +2 -2
- package/dist/lib/Helper/Logging.js.map +1 -1
- package/dist/lib/Helper/MergeConfig.js +4 -4
- package/dist/lib/Helper/MergeConfig.js.map +1 -1
- package/dist/lib/Helper/Package.d.ts +4 -1
- package/dist/lib/Helper/Package.js +12 -38
- package/dist/lib/Helper/Package.js.map +1 -1
- package/dist/lib/Helper/SentryCli.js +77 -149
- package/dist/lib/Helper/SentryCli.js.map +1 -1
- package/dist/lib/Helper/Wizard.js +29 -124
- package/dist/lib/Helper/Wizard.js.map +1 -1
- package/dist/lib/Helper/__tests__/File.js +4 -4
- package/dist/lib/Helper/__tests__/File.js.map +1 -1
- package/dist/lib/Helper/__tests__/MergeConfig.js +24 -24
- package/dist/lib/Helper/__tests__/MergeConfig.js.map +1 -1
- package/dist/lib/Helper/__tests__/SentryCli.js +33 -23
- package/dist/lib/Helper/__tests__/SentryCli.js.map +1 -1
- package/dist/lib/Setup.js +23 -85
- package/dist/lib/Setup.js.map +1 -1
- package/dist/lib/Steps/BaseStep.js +8 -8
- package/dist/lib/Steps/BaseStep.js.map +1 -1
- package/dist/lib/Steps/ChooseIntegration.js +80 -125
- package/dist/lib/Steps/ChooseIntegration.js.map +1 -1
- package/dist/lib/Steps/ConfigureProject.js +6 -66
- package/dist/lib/Steps/ConfigureProject.js.map +1 -1
- package/dist/lib/Steps/Initial.js +16 -104
- package/dist/lib/Steps/Initial.js.map +1 -1
- package/dist/lib/Steps/Integrations/BaseIntegration.js +24 -118
- package/dist/lib/Steps/Integrations/BaseIntegration.js.map +1 -1
- package/dist/lib/Steps/Integrations/Cordova.js +95 -183
- package/dist/lib/Steps/Integrations/Cordova.js.map +1 -1
- package/dist/lib/Steps/Integrations/Electron.js +87 -145
- package/dist/lib/Steps/Integrations/Electron.js.map +1 -1
- package/dist/lib/Steps/Integrations/MobileProject.js +40 -148
- package/dist/lib/Steps/Integrations/MobileProject.js.map +1 -1
- package/dist/lib/Steps/OpenSentry.js +63 -126
- package/dist/lib/Steps/OpenSentry.js.map +1 -1
- package/dist/lib/Steps/PromptForParameters.js +110 -206
- package/dist/lib/Steps/PromptForParameters.js.map +1 -1
- package/dist/lib/Steps/Result.js +19 -79
- package/dist/lib/Steps/Result.js.map +1 -1
- package/dist/lib/Steps/SentryProjectSelector.js +57 -148
- package/dist/lib/Steps/SentryProjectSelector.js.map +1 -1
- package/dist/lib/Steps/ShouldConfigure.js +6 -66
- package/dist/lib/Steps/ShouldConfigure.js.map +1 -1
- package/dist/lib/Steps/WaitForSentry.js +43 -120
- package/dist/lib/Steps/WaitForSentry.js.map +1 -1
- package/dist/lib/Steps/Welcome.js +17 -76
- package/dist/lib/Steps/Welcome.js.map +1 -1
- package/dist/lib/__tests__/Env.js +3 -3
- package/dist/lib/__tests__/Env.js.map +1 -1
- package/dist/src/android/android-wizard.js +100 -176
- package/dist/src/android/android-wizard.js.map +1 -1
- package/dist/src/android/code-tools.js +24 -33
- package/dist/src/android/code-tools.js.map +1 -1
- package/dist/src/android/gradle.js +106 -165
- package/dist/src/android/gradle.js.map +1 -1
- package/dist/src/android/manifest.js +26 -27
- package/dist/src/android/manifest.js.map +1 -1
- package/dist/src/android/templates.js +76 -23
- package/dist/src/android/templates.js.map +1 -1
- package/dist/src/apple/apple-wizard.js +129 -225
- package/dist/src/apple/apple-wizard.js.map +1 -1
- package/dist/src/apple/cocoapod.js +47 -109
- package/dist/src/apple/cocoapod.js.map +1 -1
- package/dist/src/apple/code-tools.js +32 -35
- package/dist/src/apple/code-tools.js.map +1 -1
- package/dist/src/apple/fastlane.js +51 -97
- package/dist/src/apple/fastlane.js.map +1 -1
- package/dist/src/apple/templates.js +41 -5
- package/dist/src/apple/templates.js.map +1 -1
- package/dist/src/apple/xcode-manager.d.ts +2 -2
- package/dist/src/apple/xcode-manager.js +93 -108
- package/dist/src/apple/xcode-manager.js.map +1 -1
- package/dist/src/flutter/code-tools.js +79 -127
- package/dist/src/flutter/code-tools.js.map +1 -1
- package/dist/src/flutter/flutter-wizard.js +75 -136
- package/dist/src/flutter/flutter-wizard.js.map +1 -1
- package/dist/src/flutter/templates.js +48 -12
- package/dist/src/flutter/templates.js.map +1 -1
- package/dist/src/nextjs/nextjs-wizard.js +527 -805
- package/dist/src/nextjs/nextjs-wizard.js.map +1 -1
- package/dist/src/nextjs/templates.js +380 -40
- package/dist/src/nextjs/templates.js.map +1 -1
- package/dist/src/nextjs/utils.js +5 -5
- package/dist/src/nextjs/utils.js.map +1 -1
- package/dist/src/nuxt/nuxt-wizard.js +91 -188
- package/dist/src/nuxt/nuxt-wizard.js.map +1 -1
- package/dist/src/nuxt/sdk-example.js +68 -137
- package/dist/src/nuxt/sdk-example.js.map +1 -1
- package/dist/src/nuxt/sdk-setup.d.ts +4 -4
- package/dist/src/nuxt/sdk-setup.js +180 -336
- package/dist/src/nuxt/sdk-setup.js.map +1 -1
- package/dist/src/nuxt/templates.js +195 -18
- package/dist/src/nuxt/templates.js.map +1 -1
- package/dist/src/nuxt/utils.js +29 -76
- package/dist/src/nuxt/utils.js.map +1 -1
- package/dist/src/react-native/expo-env-file.js +41 -94
- package/dist/src/react-native/expo-env-file.js.map +1 -1
- package/dist/src/react-native/expo-metro.d.ts +1 -1
- package/dist/src/react-native/expo-metro.js +75 -130
- package/dist/src/react-native/expo-metro.js.map +1 -1
- package/dist/src/react-native/expo.js +61 -114
- package/dist/src/react-native/expo.js.map +1 -1
- package/dist/src/react-native/git.js +23 -56
- package/dist/src/react-native/git.js.map +1 -1
- package/dist/src/react-native/glob.js +3 -3
- package/dist/src/react-native/glob.js.map +1 -1
- package/dist/src/react-native/gradle.js +4 -4
- package/dist/src/react-native/gradle.js.map +1 -1
- package/dist/src/react-native/javascript.js +51 -95
- package/dist/src/react-native/javascript.js.map +1 -1
- package/dist/src/react-native/metro.js +176 -296
- package/dist/src/react-native/metro.js.map +1 -1
- package/dist/src/react-native/react-native-wizard.js +267 -418
- package/dist/src/react-native/react-native-wizard.js.map +1 -1
- package/dist/src/react-native/uninstall.js +37 -80
- package/dist/src/react-native/uninstall.js.map +1 -1
- package/dist/src/react-native/xcode.js +57 -55
- package/dist/src/react-native/xcode.js.map +1 -1
- package/dist/src/remix/codemods/express-server.js +27 -82
- package/dist/src/remix/codemods/express-server.js.map +1 -1
- package/dist/src/remix/codemods/handle-error.js +28 -31
- package/dist/src/remix/codemods/handle-error.js.map +1 -1
- package/dist/src/remix/codemods/root-common.js +11 -11
- package/dist/src/remix/codemods/root-common.js.map +1 -1
- package/dist/src/remix/codemods/root-v1.js +17 -67
- package/dist/src/remix/codemods/root-v1.js.map +1 -1
- package/dist/src/remix/codemods/root-v2.js +89 -140
- package/dist/src/remix/codemods/root-v2.js.map +1 -1
- package/dist/src/remix/remix-wizard.js +181 -343
- package/dist/src/remix/remix-wizard.js.map +1 -1
- package/dist/src/remix/sdk-example.js +84 -66
- package/dist/src/remix/sdk-example.js.map +1 -1
- package/dist/src/remix/sdk-setup.js +161 -293
- package/dist/src/remix/sdk-setup.js.map +1 -1
- package/dist/src/remix/templates.js +10 -2
- package/dist/src/remix/templates.js.map +1 -1
- package/dist/src/remix/utils.js +13 -14
- package/dist/src/remix/utils.js.map +1 -1
- package/dist/src/run.js +106 -178
- package/dist/src/run.js.map +1 -1
- package/dist/src/sourcemaps/sourcemaps-wizard.js +248 -372
- package/dist/src/sourcemaps/sourcemaps-wizard.js.map +1 -1
- package/dist/src/sourcemaps/tools/angular.js +32 -66
- package/dist/src/sourcemaps/tools/angular.js.map +1 -1
- package/dist/src/sourcemaps/tools/create-react-app.js +14 -59
- package/dist/src/sourcemaps/tools/create-react-app.js.map +1 -1
- package/dist/src/sourcemaps/tools/esbuild.js +34 -77
- package/dist/src/sourcemaps/tools/esbuild.js.map +1 -1
- package/dist/src/sourcemaps/tools/nextjs.d.ts +2 -2
- package/dist/src/sourcemaps/tools/nextjs.js +75 -102
- package/dist/src/sourcemaps/tools/nextjs.js.map +1 -1
- package/dist/src/sourcemaps/tools/remix.js +53 -93
- package/dist/src/sourcemaps/tools/remix.js.map +1 -1
- package/dist/src/sourcemaps/tools/rollup.js +35 -76
- package/dist/src/sourcemaps/tools/rollup.js.map +1 -1
- package/dist/src/sourcemaps/tools/sentry-cli.js +157 -289
- package/dist/src/sourcemaps/tools/sentry-cli.js.map +1 -1
- package/dist/src/sourcemaps/tools/tsc.js +68 -134
- package/dist/src/sourcemaps/tools/tsc.js.map +1 -1
- package/dist/src/sourcemaps/tools/vite.js +111 -196
- package/dist/src/sourcemaps/tools/vite.js.map +1 -1
- package/dist/src/sourcemaps/tools/webpack.d.ts +1 -1
- package/dist/src/sourcemaps/tools/webpack.js +158 -260
- package/dist/src/sourcemaps/tools/webpack.js.map +1 -1
- package/dist/src/sourcemaps/utils/detect-tool.js +9 -54
- package/dist/src/sourcemaps/utils/detect-tool.js.map +1 -1
- package/dist/src/sourcemaps/utils/other-wizards.js +77 -144
- package/dist/src/sourcemaps/utils/other-wizards.js.map +1 -1
- package/dist/src/sourcemaps/utils/sdk-version.js +112 -191
- package/dist/src/sourcemaps/utils/sdk-version.js.map +1 -1
- package/dist/src/sveltekit/sdk-example.js +20 -70
- package/dist/src/sveltekit/sdk-example.js.map +1 -1
- package/dist/src/sveltekit/sdk-setup.js +250 -411
- package/dist/src/sveltekit/sdk-setup.js.map +1 -1
- package/dist/src/sveltekit/sveltekit-wizard.js +107 -191
- package/dist/src/sveltekit/sveltekit-wizard.js.map +1 -1
- package/dist/src/sveltekit/templates.js +147 -13
- package/dist/src/sveltekit/templates.js.map +1 -1
- package/dist/src/sveltekit/utils.js +3 -3
- package/dist/src/sveltekit/utils.js.map +1 -1
- package/dist/src/telemetry.d.ts +2 -2
- package/dist/src/telemetry.js +58 -108
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/utils/ast-utils.js +39 -54
- package/dist/src/utils/ast-utils.js.map +1 -1
- package/dist/src/utils/bash.js +28 -75
- package/dist/src/utils/bash.js.map +1 -1
- package/dist/src/utils/clack-utils.d.ts +3 -7
- package/dist/src/utils/clack-utils.js +688 -1083
- package/dist/src/utils/clack-utils.js.map +1 -1
- package/dist/src/utils/debug.js +6 -10
- package/dist/src/utils/debug.js.map +1 -1
- package/dist/src/utils/package-json.js +5 -6
- package/dist/src/utils/package-json.js.map +1 -1
- package/dist/src/utils/package-manager.js +65 -139
- package/dist/src/utils/package-manager.js.map +1 -1
- package/dist/src/utils/release-registry.js +12 -59
- package/dist/src/utils/release-registry.js.map +1 -1
- package/dist/src/utils/semver.js +3 -4
- package/dist/src/utils/semver.js.map +1 -1
- package/dist/src/utils/sentrycli-utils.js +4 -4
- package/dist/src/utils/sentrycli-utils.js.map +1 -1
- package/dist/src/utils/url.js +5 -6
- package/dist/src/utils/url.js.map +1 -1
- package/dist/test/android/code-tools.test.js +18 -18
- package/dist/test/android/code-tools.test.js.map +1 -1
- package/dist/test/apple/cocoapod.test.js +154 -299
- package/dist/test/apple/cocoapod.test.js.map +1 -1
- package/dist/test/apple/code-tools.test.js +375 -263
- package/dist/test/apple/code-tools.test.js.map +1 -1
- package/dist/test/apple/fastfile.test.js +319 -271
- package/dist/test/apple/fastfile.test.js.map +1 -1
- package/dist/test/apple/templates.test.js +114 -30
- package/dist/test/apple/templates.test.js.map +1 -1
- package/dist/test/apple/xcode-manager.test.js +230 -234
- package/dist/test/apple/xcode-manager.test.js.map +1 -1
- package/dist/test/flutter/code-tools.test.js +119 -48
- package/dist/test/flutter/code-tools.test.js.map +1 -1
- package/dist/test/flutter/templates.test.js +63 -20
- package/dist/test/flutter/templates.test.js.map +1 -1
- package/dist/test/nextjs/templates.test.js +332 -43
- package/dist/test/nextjs/templates.test.js.map +1 -1
- package/dist/test/nuxt/templates.test.js +161 -33
- package/dist/test/nuxt/templates.test.js.map +1 -1
- package/dist/test/react-native/expo-metro.test.js +61 -15
- package/dist/test/react-native/expo-metro.test.js.map +1 -1
- package/dist/test/react-native/expo.test.js +37 -17
- package/dist/test/react-native/expo.test.js.map +1 -1
- package/dist/test/react-native/gradle.test.js +260 -28
- package/dist/test/react-native/gradle.test.js.map +1 -1
- package/dist/test/react-native/javascript.test.js +85 -19
- package/dist/test/react-native/javascript.test.js.map +1 -1
- package/dist/test/react-native/metro.test.js +261 -187
- package/dist/test/react-native/metro.test.js.map +1 -1
- package/dist/test/react-native/xcode.test.js +243 -62
- package/dist/test/react-native/xcode.test.js.map +1 -1
- package/dist/test/remix/client-entry.test.js +81 -21
- package/dist/test/remix/client-entry.test.js.map +1 -1
- package/dist/test/remix/server-instrumentation.test.js +21 -8
- package/dist/test/remix/server-instrumentation.test.js.map +1 -1
- package/dist/test/sourcemaps/tools/sentry-cli.test.js +20 -72
- package/dist/test/sourcemaps/tools/sentry-cli.test.js.map +1 -1
- package/dist/test/sourcemaps/tools/tsc.test.js +142 -68
- package/dist/test/sourcemaps/tools/tsc.test.js.map +1 -1
- package/dist/test/sourcemaps/tools/vite.test.js +106 -75
- package/dist/test/sourcemaps/tools/vite.test.js.map +1 -1
- package/dist/test/sourcemaps/tools/webpack.test.js +226 -102
- package/dist/test/sourcemaps/tools/webpack.test.js.map +1 -1
- package/dist/test/sveltekit/templates.test.js +117 -18
- package/dist/test/sveltekit/templates.test.js.map +1 -1
- package/dist/test/utils/ast-utils.test.js +99 -58
- package/dist/test/utils/ast-utils.test.js.map +1 -1
- package/dist/test/utils/clack-utils.test.js +142 -247
- package/dist/test/utils/clack-utils.test.js.map +1 -1
- package/e2e-tests/package.json +1 -1
- package/e2e-tests/tests/flutter.test.ts +20 -20
- package/e2e-tests/tests/nextjs.test.ts +2 -2
- package/e2e-tests/tests/nuxt-3.test.ts +4 -4
- package/e2e-tests/tests/nuxt-4.test.ts +3 -3
- package/e2e-tests/tests/remix.test.ts +3 -3
- package/e2e-tests/tests/sveltekit.test.ts +3 -3
- package/e2e-tests/utils/index.ts +33 -15
- package/lib/Helper/BottomBar.ts +1 -1
- package/lib/Helper/Env.ts +1 -1
- package/lib/Helper/Package.ts +12 -10
- package/lib/Helper/SentryCli.ts +18 -27
- package/lib/Helper/Wizard.ts +1 -2
- package/lib/Setup.ts +4 -5
- package/lib/Steps/ChooseIntegration.ts +40 -8
- package/lib/Steps/Initial.ts +17 -26
- package/lib/Steps/Integrations/BaseIntegration.ts +2 -8
- package/lib/Steps/Integrations/Cordova.ts +9 -15
- package/lib/Steps/Integrations/Electron.ts +23 -20
- package/lib/Steps/Integrations/MobileProject.ts +18 -15
- package/lib/Steps/OpenSentry.ts +12 -7
- package/lib/Steps/PromptForParameters.ts +12 -19
- package/lib/Steps/SentryProjectSelector.ts +30 -29
- package/lib/Steps/WaitForSentry.ts +29 -23
- package/package.json +12 -8
- package/src/apple/xcode-manager.ts +10 -10
- package/src/nextjs/templates.ts +2 -3
- package/src/nuxt/sdk-setup.ts +21 -18
- package/src/react-native/expo-metro.ts +2 -2
- package/src/react-native/react-native-wizard.ts +1 -2
- package/src/react-native/uninstall.ts +1 -2
- package/src/react-native/xcode.ts +1 -1
- package/src/run.ts +12 -5
- package/src/sourcemaps/tools/nextjs.ts +2 -2
- package/src/sourcemaps/tools/webpack.ts +3 -3
- package/src/telemetry.ts +27 -7
- package/src/utils/clack-utils.ts +50 -47
- package/test/apple/cocoapod.test.ts +4 -0
- package/test/apple/fastfile.test.ts +12 -7
- package/test/apple/xcode-manager.test.ts +13 -11
- package/test/utils/clack-utils.test.ts +40 -50
- package/types/read-env.d.ts +3 -0
- package/types/xcode.d.ts +1 -0
- package/dist/package.json +0 -128
package/bin.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { red } from './lib/Helper/Logging';
|
|
|
5
5
|
import yargs from 'yargs';
|
|
6
6
|
import { hideBin } from 'yargs/helpers';
|
|
7
7
|
|
|
8
|
-
const NODE_VERSION_RANGE = '>=
|
|
8
|
+
const NODE_VERSION_RANGE = '>=18.20.0';
|
|
9
9
|
|
|
10
10
|
// Have to run this above the other imports because they are importing clack that
|
|
11
11
|
// has the problematic imports.
|
|
@@ -52,85 +52,90 @@ const PRESELECTED_PROJECT_OPTIONS = {
|
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
|
|
55
|
-
const argv = yargs(hideBin(process.argv)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
55
|
+
const argv = yargs(hideBin(process.argv), process.cwd())
|
|
56
|
+
.options({
|
|
57
|
+
debug: {
|
|
58
|
+
default: false,
|
|
59
|
+
describe: 'Enable verbose logging\nenv: SENTRY_WIZARD_DEBUG',
|
|
60
|
+
type: 'boolean',
|
|
61
|
+
},
|
|
62
|
+
uninstall: {
|
|
63
|
+
default: false,
|
|
64
|
+
describe: 'Revert project setup process\nenv: SENTRY_WIZARD_UNINSTALL',
|
|
65
|
+
type: 'boolean',
|
|
66
|
+
},
|
|
67
|
+
'skip-connect': {
|
|
68
|
+
default: false,
|
|
69
|
+
describe:
|
|
70
|
+
'Skips the connection to the server\nenv: SENTRY_WIZARD_SKIP_CONNECT',
|
|
71
|
+
type: 'boolean',
|
|
72
|
+
},
|
|
73
|
+
quiet: {
|
|
74
|
+
default: false,
|
|
75
|
+
describe:
|
|
76
|
+
'Do not fallback to prompting user asking questions\nenv: SENTRY_WIZARD_QUIET',
|
|
77
|
+
type: 'boolean',
|
|
78
|
+
},
|
|
79
|
+
i: {
|
|
80
|
+
alias: 'integration',
|
|
81
|
+
choices: Object.keys(Integration),
|
|
82
|
+
describe:
|
|
83
|
+
'Choose the integration to setup\nenv: SENTRY_WIZARD_INTEGRATION',
|
|
84
|
+
},
|
|
85
|
+
p: {
|
|
86
|
+
alias: 'platform',
|
|
87
|
+
choices: Object.keys(Platform),
|
|
88
|
+
describe: 'Choose platform(s)\nenv: SENTRY_WIZARD_PLATFORM',
|
|
89
|
+
type: 'array',
|
|
90
|
+
},
|
|
91
|
+
u: {
|
|
92
|
+
alias: 'url',
|
|
93
|
+
describe: 'The url to your Sentry installation\nenv: SENTRY_WIZARD_URL',
|
|
94
|
+
},
|
|
95
|
+
project: {
|
|
96
|
+
type: 'string',
|
|
97
|
+
describe: 'The Sentry project slug to use',
|
|
98
|
+
defaultDescription: 'Select project during setup',
|
|
99
|
+
default: undefined,
|
|
100
|
+
},
|
|
101
|
+
org: {
|
|
102
|
+
type: 'string',
|
|
103
|
+
describe: 'The Sentry org slug to use',
|
|
104
|
+
defaultDescription: 'Select org during setup',
|
|
105
|
+
default: undefined,
|
|
106
|
+
},
|
|
107
|
+
saas: {
|
|
108
|
+
default: false,
|
|
109
|
+
describe: 'Skip the self-hosted or SaaS URL selection process',
|
|
110
|
+
defaultDescription: 'Select self-hosted or SaaS during setup',
|
|
111
|
+
type: 'boolean',
|
|
112
|
+
},
|
|
113
|
+
s: {
|
|
114
|
+
alias: 'signup',
|
|
115
|
+
default: false,
|
|
116
|
+
describe: 'Redirect to signup page if not logged in',
|
|
117
|
+
type: 'boolean',
|
|
118
|
+
},
|
|
119
|
+
'disable-telemetry': {
|
|
120
|
+
default: false,
|
|
121
|
+
describe: "Don't send telemetry data to Sentry",
|
|
122
|
+
type: 'boolean',
|
|
123
|
+
},
|
|
124
|
+
'promo-code': {
|
|
125
|
+
alias: 'promo-code',
|
|
126
|
+
describe: 'A promo code that will be applied during signup',
|
|
127
|
+
type: 'string',
|
|
128
|
+
},
|
|
129
|
+
'force-install': {
|
|
130
|
+
default: false,
|
|
131
|
+
describe: 'Force install the SDK NPM package',
|
|
132
|
+
type: 'boolean',
|
|
133
|
+
},
|
|
134
|
+
...PRESELECTED_PROJECT_OPTIONS,
|
|
135
|
+
})
|
|
136
|
+
// This prevents `yargs` from trying to read the local package.json
|
|
137
|
+
// as it's not available in the Node Single Executable Binary artifacts versions
|
|
138
|
+
.version(process.env.npm_package_version as string).argv;
|
|
134
139
|
|
|
135
140
|
// @ts-expect-error - for some reason TS doesn't recognize the aliases as valid properties
|
|
136
141
|
// meaning it only knows e.g. u but not url. Maybe a bug in this old version of yargs?
|
package/dist/bin.js
CHANGED
|
@@ -1,16 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
var __assign = (this && this.__assign) || function () {
|
|
4
|
-
__assign = Object.assign || function(t) {
|
|
5
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
-
s = arguments[i];
|
|
7
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
8
|
-
t[p] = s[p];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
|
-
return __assign.apply(this, arguments);
|
|
13
|
-
};
|
|
14
3
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
15
4
|
if (k2 === undefined) k2 = k;
|
|
16
5
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -29,21 +18,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
29
18
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
19
|
};
|
|
31
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
21
|
+
const semver_1 = require("semver");
|
|
22
|
+
const Logging_1 = require("./lib/Helper/Logging");
|
|
23
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
24
|
+
const helpers_1 = require("yargs/helpers");
|
|
25
|
+
const NODE_VERSION_RANGE = '>=18.20.0';
|
|
37
26
|
// Have to run this above the other imports because they are importing clack that
|
|
38
27
|
// has the problematic imports.
|
|
39
28
|
if (!(0, semver_1.satisfies)(process.version, NODE_VERSION_RANGE)) {
|
|
40
|
-
(0, Logging_1.red)(
|
|
29
|
+
(0, Logging_1.red)(`Sentry wizard requires Node.js ${NODE_VERSION_RANGE}. You are using Node.js ${process.version}. Please upgrade your Node.js version.`);
|
|
41
30
|
process.exit(1);
|
|
42
31
|
}
|
|
43
|
-
|
|
44
|
-
|
|
32
|
+
const Constants_1 = require("./lib/Constants");
|
|
33
|
+
const run_1 = require("./src/run");
|
|
45
34
|
__exportStar(require("./lib/Setup"), exports);
|
|
46
|
-
|
|
35
|
+
const PRESELECTED_PROJECT_OPTIONS = {
|
|
47
36
|
'preSelectedProject.authToken': {
|
|
48
37
|
describe: 'Preselected project auth token',
|
|
49
38
|
},
|
|
@@ -73,67 +62,87 @@ var PRESELECTED_PROJECT_OPTIONS = {
|
|
|
73
62
|
},
|
|
74
63
|
};
|
|
75
64
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
|
|
76
|
-
|
|
65
|
+
const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv), process.cwd())
|
|
66
|
+
.options({
|
|
67
|
+
debug: {
|
|
77
68
|
default: false,
|
|
78
69
|
describe: 'Enable verbose logging\nenv: SENTRY_WIZARD_DEBUG',
|
|
79
70
|
type: 'boolean',
|
|
80
|
-
},
|
|
71
|
+
},
|
|
72
|
+
uninstall: {
|
|
81
73
|
default: false,
|
|
82
74
|
describe: 'Revert project setup process\nenv: SENTRY_WIZARD_UNINSTALL',
|
|
83
75
|
type: 'boolean',
|
|
84
|
-
},
|
|
76
|
+
},
|
|
77
|
+
'skip-connect': {
|
|
85
78
|
default: false,
|
|
86
79
|
describe: 'Skips the connection to the server\nenv: SENTRY_WIZARD_SKIP_CONNECT',
|
|
87
80
|
type: 'boolean',
|
|
88
|
-
},
|
|
81
|
+
},
|
|
82
|
+
quiet: {
|
|
89
83
|
default: false,
|
|
90
84
|
describe: 'Do not fallback to prompting user asking questions\nenv: SENTRY_WIZARD_QUIET',
|
|
91
85
|
type: 'boolean',
|
|
92
|
-
},
|
|
86
|
+
},
|
|
87
|
+
i: {
|
|
93
88
|
alias: 'integration',
|
|
94
89
|
choices: Object.keys(Constants_1.Integration),
|
|
95
90
|
describe: 'Choose the integration to setup\nenv: SENTRY_WIZARD_INTEGRATION',
|
|
96
|
-
},
|
|
91
|
+
},
|
|
92
|
+
p: {
|
|
97
93
|
alias: 'platform',
|
|
98
94
|
choices: Object.keys(Constants_1.Platform),
|
|
99
95
|
describe: 'Choose platform(s)\nenv: SENTRY_WIZARD_PLATFORM',
|
|
100
96
|
type: 'array',
|
|
101
|
-
},
|
|
97
|
+
},
|
|
98
|
+
u: {
|
|
102
99
|
alias: 'url',
|
|
103
100
|
describe: 'The url to your Sentry installation\nenv: SENTRY_WIZARD_URL',
|
|
104
|
-
},
|
|
101
|
+
},
|
|
102
|
+
project: {
|
|
105
103
|
type: 'string',
|
|
106
104
|
describe: 'The Sentry project slug to use',
|
|
107
105
|
defaultDescription: 'Select project during setup',
|
|
108
106
|
default: undefined,
|
|
109
|
-
},
|
|
107
|
+
},
|
|
108
|
+
org: {
|
|
110
109
|
type: 'string',
|
|
111
110
|
describe: 'The Sentry org slug to use',
|
|
112
111
|
defaultDescription: 'Select org during setup',
|
|
113
112
|
default: undefined,
|
|
114
|
-
},
|
|
113
|
+
},
|
|
114
|
+
saas: {
|
|
115
115
|
default: false,
|
|
116
116
|
describe: 'Skip the self-hosted or SaaS URL selection process',
|
|
117
117
|
defaultDescription: 'Select self-hosted or SaaS during setup',
|
|
118
118
|
type: 'boolean',
|
|
119
|
-
},
|
|
119
|
+
},
|
|
120
|
+
s: {
|
|
120
121
|
alias: 'signup',
|
|
121
122
|
default: false,
|
|
122
123
|
describe: 'Redirect to signup page if not logged in',
|
|
123
124
|
type: 'boolean',
|
|
124
|
-
},
|
|
125
|
+
},
|
|
126
|
+
'disable-telemetry': {
|
|
125
127
|
default: false,
|
|
126
128
|
describe: "Don't send telemetry data to Sentry",
|
|
127
129
|
type: 'boolean',
|
|
128
|
-
},
|
|
130
|
+
},
|
|
131
|
+
'promo-code': {
|
|
129
132
|
alias: 'promo-code',
|
|
130
133
|
describe: 'A promo code that will be applied during signup',
|
|
131
134
|
type: 'string',
|
|
132
|
-
},
|
|
135
|
+
},
|
|
136
|
+
'force-install': {
|
|
133
137
|
default: false,
|
|
134
138
|
describe: 'Force install the SDK NPM package',
|
|
135
139
|
type: 'boolean',
|
|
136
|
-
}
|
|
140
|
+
},
|
|
141
|
+
...PRESELECTED_PROJECT_OPTIONS,
|
|
142
|
+
})
|
|
143
|
+
// This prevents `yargs` from trying to read the local package.json
|
|
144
|
+
// as it's not available in the Node Single Executable Binary artifacts versions
|
|
145
|
+
.version(process.env.npm_package_version).argv;
|
|
137
146
|
// @ts-expect-error - for some reason TS doesn't recognize the aliases as valid properties
|
|
138
147
|
// meaning it only knows e.g. u but not url. Maybe a bug in this old version of yargs?
|
|
139
148
|
// Can't upgrade yargs though without dropping support for Node 14.
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../bin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../bin.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\nimport { satisfies } from 'semver';\nimport { red } from './lib/Helper/Logging';\n\nimport yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\n\nconst NODE_VERSION_RANGE = '>=18.20.0';\n\n// Have to run this above the other imports because they are importing clack that\n// has the problematic imports.\nif (!satisfies(process.version, NODE_VERSION_RANGE)) {\n red(\n `Sentry wizard requires Node.js ${NODE_VERSION_RANGE}. You are using Node.js ${process.version}. Please upgrade your Node.js version.`,\n );\n process.exit(1);\n}\n\nimport { Integration, Platform } from './lib/Constants';\nimport { run } from './src/run';\n\nexport * from './lib/Setup';\n\nconst PRESELECTED_PROJECT_OPTIONS = {\n 'preSelectedProject.authToken': {\n describe: 'Preselected project auth token',\n },\n 'preSelectedProject.selfHosted': {\n describe: 'Preselected project is self-hosted',\n },\n 'preSelectedProject.dsn': {\n describe: 'Preselected project DSN',\n },\n 'preSelectedProject.id': {\n describe: 'Preselected project id',\n },\n 'preSelectedProject.projectSlug': {\n describe: 'Preselected project slug',\n },\n 'preSelectedProject.projectName': {\n describe: 'Preselected project name',\n },\n 'preSelectedProject.orgId': {\n describe: 'Preselected organization id',\n },\n 'preSelectedProject.orgName': {\n describe: 'Preselected organization name',\n },\n 'preSelectedProject.orgSlug': {\n describe: 'Preselected organization slug',\n },\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\nconst argv = yargs(hideBin(process.argv), process.cwd())\n .options({\n debug: {\n default: false,\n describe: 'Enable verbose logging\\nenv: SENTRY_WIZARD_DEBUG',\n type: 'boolean',\n },\n uninstall: {\n default: false,\n describe: 'Revert project setup process\\nenv: SENTRY_WIZARD_UNINSTALL',\n type: 'boolean',\n },\n 'skip-connect': {\n default: false,\n describe:\n 'Skips the connection to the server\\nenv: SENTRY_WIZARD_SKIP_CONNECT',\n type: 'boolean',\n },\n quiet: {\n default: false,\n describe:\n 'Do not fallback to prompting user asking questions\\nenv: SENTRY_WIZARD_QUIET',\n type: 'boolean',\n },\n i: {\n alias: 'integration',\n choices: Object.keys(Integration),\n describe:\n 'Choose the integration to setup\\nenv: SENTRY_WIZARD_INTEGRATION',\n },\n p: {\n alias: 'platform',\n choices: Object.keys(Platform),\n describe: 'Choose platform(s)\\nenv: SENTRY_WIZARD_PLATFORM',\n type: 'array',\n },\n u: {\n alias: 'url',\n describe: 'The url to your Sentry installation\\nenv: SENTRY_WIZARD_URL',\n },\n project: {\n type: 'string',\n describe: 'The Sentry project slug to use',\n defaultDescription: 'Select project during setup',\n default: undefined,\n },\n org: {\n type: 'string',\n describe: 'The Sentry org slug to use',\n defaultDescription: 'Select org during setup',\n default: undefined,\n },\n saas: {\n default: false,\n describe: 'Skip the self-hosted or SaaS URL selection process',\n defaultDescription: 'Select self-hosted or SaaS during setup',\n type: 'boolean',\n },\n s: {\n alias: 'signup',\n default: false,\n describe: 'Redirect to signup page if not logged in',\n type: 'boolean',\n },\n 'disable-telemetry': {\n default: false,\n describe: \"Don't send telemetry data to Sentry\",\n type: 'boolean',\n },\n 'promo-code': {\n alias: 'promo-code',\n describe: 'A promo code that will be applied during signup',\n type: 'string',\n },\n 'force-install': {\n default: false,\n describe: 'Force install the SDK NPM package',\n type: 'boolean',\n },\n ...PRESELECTED_PROJECT_OPTIONS,\n })\n // This prevents `yargs` from trying to read the local package.json\n // as it's not available in the Node Single Executable Binary artifacts versions\n .version(process.env.npm_package_version as string).argv;\n\n// @ts-expect-error - for some reason TS doesn't recognize the aliases as valid properties\n// meaning it only knows e.g. u but not url. Maybe a bug in this old version of yargs?\n// Can't upgrade yargs though without dropping support for Node 14.\nvoid run(argv);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../../e2e-tests/jest.config.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../../e2e-tests/jest.config.ts"],"names":[],"mappings":";;AAAA,mCAAgC;AAEhC,IAAA,eAAM,EAAC;IACL,IAAI,EAAE,MAAM;CACb,CAAC,CAAC;AAEH,kBAAe;IACb,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,MAAM;IACvB,SAAS,EAAE,CAAC,cAAc,CAAC;IAC3B,SAAS,EAAE;QACT,aAAa,EAAE,SAAS;KACzB;IACD,oBAAoB,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAChE,OAAO,EAAE;QACP,SAAS,EAAE;YACT,QAAQ,EAAE,eAAe;SAC1B;KACF;IACD,OAAO,EAAE,IAAI;CACd,CAAC","sourcesContent":["import { config } from 'dotenv';\n\nconfig({\n path: '.env',\n});\n\nexport default {\n collectCoverage: true,\n testTimeout: 360000,\n testEnvironment: 'node',\n testMatch: ['**/*.test.ts'],\n transform: {\n '^.+\\\\.tsx?$': 'ts-jest',\n },\n moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],\n globals: {\n 'ts-jest': {\n tsconfig: 'tsconfig.json',\n },\n },\n verbose: true,\n};\n"]}
|
|
@@ -22,168 +22,83 @@ 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
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const fs = __importStar(require("node:fs"));
|
|
27
|
+
const path = __importStar(require("node:path"));
|
|
62
28
|
/* eslint-disable jest/expect-expect */
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
if (!_a) return [3 /*break*/, 3];
|
|
86
|
-
return [4 /*yield*/, wizardInstance.sendStdinAndWaitForOutput([utils_1.KEYS.ENTER],
|
|
87
|
-
// "Do you want to enable Profiling", sometimes doesn't work as `Profiling` can be printed in bold.
|
|
88
|
-
'to analyze CPU usage and optimize performance-critical code on iOS & macOS?')];
|
|
89
|
-
case 2:
|
|
90
|
-
_a = (_c.sent());
|
|
91
|
-
_c.label = 3;
|
|
92
|
-
case 3:
|
|
93
|
-
profilingOptionPrompted = _a;
|
|
94
|
-
_b = profilingOptionPrompted;
|
|
95
|
-
if (!_b) return [3 /*break*/, 5];
|
|
96
|
-
return [4 /*yield*/, wizardInstance.sendStdinAndWaitForOutput([utils_1.KEYS.ENTER], 'Successfully installed the Sentry Flutter SDK!')];
|
|
97
|
-
case 4:
|
|
98
|
-
_b = (_c.sent());
|
|
99
|
-
_c.label = 5;
|
|
100
|
-
case 5:
|
|
101
|
-
_b;
|
|
102
|
-
wizardInstance.kill();
|
|
103
|
-
return [2 /*return*/];
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
}); });
|
|
107
|
-
afterAll(function () {
|
|
29
|
+
const Constants_1 = require("../../lib/Constants");
|
|
30
|
+
const utils_1 = require("../utils");
|
|
31
|
+
const utils_2 = require("../utils");
|
|
32
|
+
const utils_3 = require("../utils");
|
|
33
|
+
describe('Flutter', () => {
|
|
34
|
+
const integration = Constants_1.Integration.flutter;
|
|
35
|
+
const projectDir = path.resolve(__dirname, '../test-applications/flutter-test-app');
|
|
36
|
+
describe('with apple platforms', () => {
|
|
37
|
+
beforeAll(async () => {
|
|
38
|
+
const wizardInstance = (0, utils_2.startWizardInstance)(integration, projectDir);
|
|
39
|
+
const tracingOptionPrompted = await wizardInstance.waitForOutput(
|
|
40
|
+
// "Do you want to enable Tracing", sometimes doesn't work as `Tracing` can be printed in bold.
|
|
41
|
+
'to track the performance of your application?');
|
|
42
|
+
const profilingOptionPrompted = tracingOptionPrompted &&
|
|
43
|
+
(await wizardInstance.sendStdinAndWaitForOutput([utils_1.KEYS.ENTER],
|
|
44
|
+
// "Do you want to enable Profiling", sometimes doesn't work as `Profiling` can be printed in bold.
|
|
45
|
+
'to analyze CPU usage and optimize performance-critical code on iOS & macOS?'));
|
|
46
|
+
profilingOptionPrompted &&
|
|
47
|
+
(await wizardInstance.sendStdinAndWaitForOutput([utils_1.KEYS.ENTER], 'Successfully installed the Sentry Flutter SDK!'));
|
|
48
|
+
wizardInstance.kill();
|
|
49
|
+
});
|
|
50
|
+
afterAll(() => {
|
|
108
51
|
(0, utils_1.revertLocalChanges)(projectDir);
|
|
109
52
|
(0, utils_1.cleanupGit)(projectDir);
|
|
110
53
|
});
|
|
111
|
-
test('pubspec.yaml is updated.',
|
|
112
|
-
(0, utils_3.checkFileContents)(
|
|
113
|
-
(0, utils_3.checkFileContents)(
|
|
114
|
-
(0, utils_3.checkFileContents)(
|
|
54
|
+
test('pubspec.yaml is updated.', () => {
|
|
55
|
+
(0, utils_3.checkFileContents)(`${projectDir}/pubspec.yaml`, `sentry_flutter:`); // dependencies
|
|
56
|
+
(0, utils_3.checkFileContents)(`${projectDir}/pubspec.yaml`, `sentry_dart_plugin:`); // dev_dependencies
|
|
57
|
+
(0, utils_3.checkFileContents)(`${projectDir}/pubspec.yaml`, `sentry:`); // gradle plugin options
|
|
115
58
|
});
|
|
116
|
-
test('sentry.properties exists and has auth token',
|
|
59
|
+
test('sentry.properties exists and has auth token', () => {
|
|
117
60
|
(0, utils_3.checkSentryProperties)(projectDir);
|
|
118
61
|
});
|
|
119
|
-
test('.gitignore has sentry.properties',
|
|
120
|
-
(0, utils_3.checkFileContents)(
|
|
62
|
+
test('.gitignore has sentry.properties', () => {
|
|
63
|
+
(0, utils_3.checkFileContents)(`${projectDir}/.gitignore`, `sentry.properties`);
|
|
64
|
+
});
|
|
65
|
+
test('lib/main.dart calls sentry init', () => {
|
|
66
|
+
(0, utils_3.checkFileContents)(`${projectDir}/lib/main.dart`, `import 'package:sentry_flutter/sentry_flutter.dart';`);
|
|
67
|
+
(0, utils_3.checkFileContents)(`${projectDir}/lib/main.dart`, `await SentryFlutter.init(`);
|
|
121
68
|
});
|
|
122
|
-
test('lib/main.dart
|
|
123
|
-
(0, utils_3.checkFileContents)(
|
|
124
|
-
(0, utils_3.checkFileContents)(
|
|
69
|
+
test('lib/main.dart enables tracing and profiling', () => {
|
|
70
|
+
(0, utils_3.checkFileContents)(`${projectDir}/lib/main.dart`, `options.tracesSampleRate = 1.0;`);
|
|
71
|
+
(0, utils_3.checkFileContents)(`${projectDir}/lib/main.dart`, `options.profilesSampleRate = 1.0;`);
|
|
125
72
|
});
|
|
126
|
-
test('
|
|
127
|
-
(0, utils_3.
|
|
128
|
-
(0, utils_3.checkFileContents)("".concat(projectDir, "/lib/main.dart"), "options.profilesSampleRate = 1.0;");
|
|
73
|
+
test('builds correctly', async () => {
|
|
74
|
+
await (0, utils_3.checkIfFlutterBuilds)(projectDir, '✓ Built build/web');
|
|
129
75
|
});
|
|
130
|
-
test('builds correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
131
|
-
return __generator(this, function (_a) {
|
|
132
|
-
switch (_a.label) {
|
|
133
|
-
case 0: return [4 /*yield*/, (0, utils_3.checkIfFlutterBuilds)(projectDir, '✓ Built build/web')];
|
|
134
|
-
case 1:
|
|
135
|
-
_a.sent();
|
|
136
|
-
return [2 /*return*/];
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
}); });
|
|
140
76
|
});
|
|
141
|
-
describe('without apple platforms',
|
|
142
|
-
beforeAll(
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
// "Do you want to enable Tracing", sometimes doesn't work as `Tracing` can be printed in bold.
|
|
161
|
-
'to track the performance of your application?')];
|
|
162
|
-
case 2:
|
|
163
|
-
_a = (_c.sent());
|
|
164
|
-
_c.label = 3;
|
|
165
|
-
case 3:
|
|
166
|
-
tracingOptionPrompted = _a;
|
|
167
|
-
_b = tracingOptionPrompted;
|
|
168
|
-
if (!_b) return [3 /*break*/, 5];
|
|
169
|
-
return [4 /*yield*/, wizardInstance.sendStdinAndWaitForOutput([utils_1.KEYS.ENTER], 'Successfully installed the Sentry Flutter SDK!')];
|
|
170
|
-
case 4:
|
|
171
|
-
_b = (_c.sent());
|
|
172
|
-
_c.label = 5;
|
|
173
|
-
case 5:
|
|
174
|
-
_b;
|
|
175
|
-
wizardInstance.kill();
|
|
176
|
-
return [2 /*return*/];
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
}); });
|
|
180
|
-
afterAll(function () {
|
|
77
|
+
describe('without apple platforms', () => {
|
|
78
|
+
beforeAll(async () => {
|
|
79
|
+
const wizardInstance = (0, utils_2.startWizardInstance)(integration, projectDir);
|
|
80
|
+
if (fs.existsSync(`${projectDir}/ios`)) {
|
|
81
|
+
fs.renameSync(`${projectDir}/ios`, `${projectDir}/_ios`);
|
|
82
|
+
}
|
|
83
|
+
if (fs.existsSync(`${projectDir}/macos`)) {
|
|
84
|
+
fs.renameSync(`${projectDir}/macos`, `${projectDir}/_macos`);
|
|
85
|
+
}
|
|
86
|
+
const continueOnUncommitedFilesPromted = await wizardInstance.waitForOutput('Do you want to continue anyway?');
|
|
87
|
+
const tracingOptionPrompted = continueOnUncommitedFilesPromted &&
|
|
88
|
+
(await wizardInstance.sendStdinAndWaitForOutput([utils_1.KEYS.ENTER],
|
|
89
|
+
// "Do you want to enable Tracing", sometimes doesn't work as `Tracing` can be printed in bold.
|
|
90
|
+
'to track the performance of your application?'));
|
|
91
|
+
tracingOptionPrompted &&
|
|
92
|
+
(await wizardInstance.sendStdinAndWaitForOutput([utils_1.KEYS.ENTER], 'Successfully installed the Sentry Flutter SDK!'));
|
|
93
|
+
wizardInstance.kill();
|
|
94
|
+
});
|
|
95
|
+
afterAll(() => {
|
|
181
96
|
(0, utils_1.revertLocalChanges)(projectDir);
|
|
182
97
|
(0, utils_1.cleanupGit)(projectDir);
|
|
183
98
|
});
|
|
184
|
-
test('lib/main.dart does not add profiling with missing ios and macos folder',
|
|
185
|
-
|
|
186
|
-
expect(fileContent).not.toContain(
|
|
99
|
+
test('lib/main.dart does not add profiling with missing ios and macos folder', () => {
|
|
100
|
+
const fileContent = fs.readFileSync(`${projectDir}/lib/main.dart`, 'utf-8');
|
|
101
|
+
expect(fileContent).not.toContain(`options.profilesSampleRate = 1.0;`);
|
|
187
102
|
});
|
|
188
103
|
});
|
|
189
104
|
});
|