@sentry/wizard 4.0.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -2
- package/dist/lib/Steps/Integrations/Electron.js +1 -1
- package/dist/lib/Steps/Integrations/Electron.js.map +1 -1
- package/package.json +5 -2
- 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/COPYING +0 -3575
- package/bin.ts +0 -143
- package/codecov.yml +0 -15
- package/e2e-tests/.env.example +0 -11
- package/e2e-tests/README.md +0 -63
- package/e2e-tests/jest.config.ts +0 -22
- package/e2e-tests/package.json +0 -14
- package/e2e-tests/run.sh +0 -15
- package/e2e-tests/test-applications/apple/damaged-missing-configuration-list/Project.xcodeproj/project.pbxproj +0 -52
- package/e2e-tests/test-applications/apple/damaged-missing-configuration-list/Project.xcodeproj/xcshareddata/xcschemes/Project1.xcscheme +0 -78
- package/e2e-tests/test-applications/apple/no-targets/Project.xcodeproj/project.pbxproj +0 -62
- package/e2e-tests/test-applications/apple/no-targets/Project.xcodeproj/xcshareddata/xcschemes/Project1.xcscheme +0 -78
- package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project.xcodeproj/project.pbxproj +0 -470
- package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project.xcodeproj/xcshareddata/xcschemes/Project1.xcscheme +0 -78
- package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project1/ContentView.swift +0 -7
- package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project1/Project1App.swift +0 -10
- package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project2/ContentView.swift +0 -7
- package/e2e-tests/test-applications/apple/spm-swiftui-multi-targets/Project2/Project2App.swift +0 -10
- package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Project.xcodeproj/project.pbxproj +0 -382
- package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Project.xcodeproj/xcshareddata/xcschemes/Project.xcscheme +0 -78
- package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Sources/ContentView.swift +0 -7
- package/e2e-tests/test-applications/apple/spm-swiftui-single-target/Sources/MainApp.swift +0 -10
- package/e2e-tests/test-applications/flutter-test-app/.metadata +0 -45
- package/e2e-tests/test-applications/flutter-test-app/README.md +0 -16
- package/e2e-tests/test-applications/flutter-test-app/analysis_options.yaml +0 -28
- package/e2e-tests/test-applications/flutter-test-app/android/app/build.gradle +0 -44
- package/e2e-tests/test-applications/flutter-test-app/android/app/src/debug/AndroidManifest.xml +0 -7
- package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/AndroidManifest.xml +0 -45
- package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/kotlin/com/example/flutter_magic/MainActivity.kt +0 -5
- package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/drawable/launch_background.xml +0 -12
- package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/drawable-v21/launch_background.xml +0 -12
- package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/values/styles.xml +0 -18
- package/e2e-tests/test-applications/flutter-test-app/android/app/src/main/res/values-night/styles.xml +0 -18
- package/e2e-tests/test-applications/flutter-test-app/android/app/src/profile/AndroidManifest.xml +0 -7
- package/e2e-tests/test-applications/flutter-test-app/android/build.gradle +0 -18
- package/e2e-tests/test-applications/flutter-test-app/android/gradle/wrapper/gradle-wrapper.properties +0 -5
- package/e2e-tests/test-applications/flutter-test-app/android/gradle.properties +0 -3
- package/e2e-tests/test-applications/flutter-test-app/android/settings.gradle +0 -25
- package/e2e-tests/test-applications/flutter-test-app/lib/main.dart +0 -125
- package/e2e-tests/test-applications/flutter-test-app/linux/CMakeLists.txt +0 -145
- package/e2e-tests/test-applications/flutter-test-app/linux/flutter/CMakeLists.txt +0 -88
- package/e2e-tests/test-applications/flutter-test-app/linux/flutter/generated_plugin_registrant.cc +0 -11
- package/e2e-tests/test-applications/flutter-test-app/linux/flutter/generated_plugin_registrant.h +0 -15
- package/e2e-tests/test-applications/flutter-test-app/linux/flutter/generated_plugins.cmake +0 -23
- package/e2e-tests/test-applications/flutter-test-app/linux/main.cc +0 -6
- package/e2e-tests/test-applications/flutter-test-app/linux/my_application.cc +0 -124
- package/e2e-tests/test-applications/flutter-test-app/linux/my_application.h +0 -18
- package/e2e-tests/test-applications/flutter-test-app/macos/Flutter/Flutter-Debug.xcconfig +0 -2
- package/e2e-tests/test-applications/flutter-test-app/macos/Flutter/Flutter-Release.xcconfig +0 -2
- package/e2e-tests/test-applications/flutter-test-app/macos/Flutter/GeneratedPluginRegistrant.swift +0 -10
- package/e2e-tests/test-applications/flutter-test-app/macos/Podfile +0 -43
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/AppDelegate.swift +0 -9
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -68
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Base.lproj/MainMenu.xib +0 -343
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/AppInfo.xcconfig +0 -14
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/Debug.xcconfig +0 -2
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/Release.xcconfig +0 -2
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Configs/Warnings.xcconfig +0 -13
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/DebugProfile.entitlements +0 -12
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Info.plist +0 -32
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/MainFlutterWindow.swift +0 -15
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner/Release.entitlements +0 -8
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcodeproj/project.pbxproj +0 -705
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +0 -98
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcworkspace/contents.xcworkspacedata +0 -7
- package/e2e-tests/test-applications/flutter-test-app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/e2e-tests/test-applications/flutter-test-app/macos/RunnerTests/RunnerTests.swift +0 -12
- package/e2e-tests/test-applications/flutter-test-app/pubspec.lock +0 -213
- package/e2e-tests/test-applications/flutter-test-app/pubspec.yaml +0 -89
- package/e2e-tests/test-applications/flutter-test-app/test/widget_test.dart +0 -30
- package/e2e-tests/test-applications/flutter-test-app/web/favicon.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-192.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-512.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-maskable-192.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/web/icons/Icon-maskable-512.png +0 -0
- package/e2e-tests/test-applications/flutter-test-app/web/index.html +0 -38
- package/e2e-tests/test-applications/flutter-test-app/web/manifest.json +0 -35
- package/e2e-tests/test-applications/flutter-test-app/windows/CMakeLists.txt +0 -108
- package/e2e-tests/test-applications/flutter-test-app/windows/flutter/CMakeLists.txt +0 -109
- package/e2e-tests/test-applications/flutter-test-app/windows/flutter/generated_plugin_registrant.cc +0 -11
- package/e2e-tests/test-applications/flutter-test-app/windows/flutter/generated_plugin_registrant.h +0 -15
- package/e2e-tests/test-applications/flutter-test-app/windows/flutter/generated_plugins.cmake +0 -23
- package/e2e-tests/test-applications/flutter-test-app/windows/runner/CMakeLists.txt +0 -40
- package/e2e-tests/test-applications/flutter-test-app/windows/runner/Runner.rc +0 -121
- package/e2e-tests/test-applications/flutter-test-app/windows/runner/flutter_window.cpp +0 -71
- package/e2e-tests/test-applications/flutter-test-app/windows/runner/flutter_window.h +0 -33
- package/e2e-tests/test-applications/flutter-test-app/windows/runner/main.cpp +0 -43
- package/e2e-tests/test-applications/flutter-test-app/windows/runner/resource.h +0 -16
- package/e2e-tests/test-applications/flutter-test-app/windows/runner/resources/app_icon.ico +0 -0
- package/e2e-tests/test-applications/flutter-test-app/windows/runner/runner.exe.manifest +0 -14
- package/e2e-tests/test-applications/flutter-test-app/windows/runner/utils.cpp +0 -65
- package/e2e-tests/test-applications/flutter-test-app/windows/runner/utils.h +0 -19
- package/e2e-tests/test-applications/flutter-test-app/windows/runner/win32_window.cpp +0 -288
- package/e2e-tests/test-applications/flutter-test-app/windows/runner/win32_window.h +0 -102
- package/e2e-tests/test-applications/nextjs-test-app/next.config.mjs +0 -4
- package/e2e-tests/test-applications/nextjs-test-app/package.json +0 -22
- package/e2e-tests/test-applications/nextjs-test-app/src/app/layout.tsx +0 -20
- package/e2e-tests/test-applications/nextjs-test-app/src/app/page.tsx +0 -90
- package/e2e-tests/test-applications/nuxt-3-test-app/README.md +0 -75
- package/e2e-tests/test-applications/nuxt-3-test-app/nuxt.config.ts +0 -5
- package/e2e-tests/test-applications/nuxt-3-test-app/package.json +0 -18
- package/e2e-tests/test-applications/nuxt-3-test-app/public/favicon.ico +0 -0
- package/e2e-tests/test-applications/nuxt-3-test-app/public/robots.txt +0 -1
- package/e2e-tests/test-applications/nuxt-4-test-app/README.md +0 -75
- package/e2e-tests/test-applications/nuxt-4-test-app/nuxt.config.ts +0 -6
- package/e2e-tests/test-applications/nuxt-4-test-app/package.json +0 -18
- package/e2e-tests/test-applications/nuxt-4-test-app/public/favicon.ico +0 -0
- package/e2e-tests/test-applications/nuxt-4-test-app/public/robots.txt +0 -1
- package/e2e-tests/test-applications/remix-test-app/app/entry.client.tsx +0 -18
- package/e2e-tests/test-applications/remix-test-app/app/entry.server.tsx +0 -140
- package/e2e-tests/test-applications/remix-test-app/app/root.tsx +0 -30
- package/e2e-tests/test-applications/remix-test-app/app/routes/_index.tsx +0 -48
- package/e2e-tests/test-applications/remix-test-app/app/tailwind.css +0 -3
- package/e2e-tests/test-applications/remix-test-app/package.json +0 -37
- package/e2e-tests/test-applications/remix-test-app/postcss.config.js +0 -6
- package/e2e-tests/test-applications/remix-test-app/tailwind.config.ts +0 -9
- package/e2e-tests/test-applications/remix-test-app/vite.config.ts +0 -16
- package/e2e-tests/test-applications/sveltekit-test-app/package.json +0 -21
- package/e2e-tests/test-applications/sveltekit-test-app/src/app.d.ts +0 -13
- package/e2e-tests/test-applications/sveltekit-test-app/src/app.html +0 -11
- package/e2e-tests/test-applications/sveltekit-test-app/src/lib/index.ts +0 -1
- package/e2e-tests/test-applications/sveltekit-test-app/src/routes/+page.svelte +0 -2
- package/e2e-tests/test-applications/sveltekit-test-app/svelte.config.js +0 -18
- package/e2e-tests/test-applications/sveltekit-test-app/vite.config.ts +0 -6
- package/e2e-tests/tests/flutter.test.ts +0 -127
- package/e2e-tests/tests/nextjs.test.ts +0 -161
- package/e2e-tests/tests/nuxt-3.test.ts +0 -189
- package/e2e-tests/tests/nuxt-4.test.ts +0 -188
- package/e2e-tests/tests/remix.test.ts +0 -277
- package/e2e-tests/tests/sveltekit.test.ts +0 -284
- package/e2e-tests/utils/index.ts +0 -456
- package/index.ts +0 -2
- package/lib/Constants.ts +0 -118
- package/lib/Helper/BottomBar.ts +0 -28
- package/lib/Helper/Env.ts +0 -7
- package/lib/Helper/File.ts +0 -65
- package/lib/Helper/Git.ts +0 -39
- package/lib/Helper/Logging.ts +0 -44
- package/lib/Helper/MergeConfig.ts +0 -19
- package/lib/Helper/Package.ts +0 -80
- package/lib/Helper/SentryCli.ts +0 -139
- package/lib/Helper/Wizard.ts +0 -58
- package/lib/Helper/__tests__/File.ts +0 -15
- package/lib/Helper/__tests__/MergeConfig.ts +0 -98
- package/lib/Helper/__tests__/SentryCli.ts +0 -86
- package/lib/Helper/test-fixtures/next.config.1-merged.js +0 -18
- package/lib/Helper/test-fixtures/next.config.1.js +0 -6
- package/lib/Helper/test-fixtures/next.config.2.js +0 -8
- package/lib/Helper/test-fixtures/next.config.3-merged.js +0 -21
- package/lib/Helper/test-fixtures/next.config.3.js +0 -9
- package/lib/Helper/test-fixtures/next.config.4-merged.js +0 -21
- package/lib/Helper/test-fixtures/next.config.4.js +0 -9
- package/lib/Setup.ts +0 -40
- package/lib/Steps/BaseStep.ts +0 -25
- package/lib/Steps/ChooseIntegration.ts +0 -144
- package/lib/Steps/ConfigureProject.ts +0 -10
- package/lib/Steps/Initial.ts +0 -35
- package/lib/Steps/Integrations/BaseIntegration.ts +0 -42
- package/lib/Steps/Integrations/Cordova.ts +0 -283
- package/lib/Steps/Integrations/Electron.ts +0 -164
- package/lib/Steps/Integrations/MobileProject.ts +0 -72
- package/lib/Steps/OpenSentry.ts +0 -80
- package/lib/Steps/PromptForParameters.ts +0 -200
- package/lib/Steps/Result.ts +0 -22
- package/lib/Steps/SentryProjectSelector.ts +0 -83
- package/lib/Steps/ShouldConfigure.ts +0 -10
- package/lib/Steps/WaitForSentry.ts +0 -56
- package/lib/Steps/Welcome.ts +0 -21
- package/lib/Steps/index.ts +0 -10
- package/lib/__tests__/Env.ts +0 -29
- package/scripts/NextJs/configs/_error.js +0 -39
- package/scripts/NextJs/configs/next.config.js +0 -36
- package/scripts/NextJs/configs/next.config.template.js +0 -12
- package/scripts/NextJs/configs/sentry.client.config.js +0 -17
- package/scripts/NextJs/configs/sentry.edge.config.js +0 -17
- package/scripts/NextJs/configs/sentry.server.config.js +0 -17
- package/scripts/NextJs/sentry_sample_error.js +0 -47
- package/scripts/craft-pre-release.sh +0 -10
- package/src/android/android-wizard.ts +0 -192
- package/src/android/code-tools.ts +0 -170
- package/src/android/gradle.ts +0 -250
- package/src/android/manifest.ts +0 -180
- package/src/android/templates.ts +0 -86
- package/src/apple/apple-wizard.ts +0 -269
- package/src/apple/cocoapod.ts +0 -73
- package/src/apple/code-tools.ts +0 -147
- package/src/apple/fastlane.ts +0 -170
- package/src/apple/templates.ts +0 -65
- package/src/apple/xcode-manager.ts +0 -404
- package/src/flutter/code-tools.ts +0 -284
- package/src/flutter/flutter-wizard.ts +0 -164
- package/src/flutter/templates.ts +0 -90
- package/src/nextjs/nextjs-wizard.ts +0 -1007
- package/src/nextjs/templates.ts +0 -525
- package/src/nextjs/utils.ts +0 -21
- package/src/nuxt/nuxt-wizard.ts +0 -188
- package/src/nuxt/sdk-example.ts +0 -135
- package/src/nuxt/sdk-setup.ts +0 -352
- package/src/nuxt/templates.ts +0 -303
- package/src/nuxt/types.ts +0 -8
- package/src/nuxt/utils.ts +0 -42
- package/src/react-native/expo-env-file.ts +0 -55
- package/src/react-native/expo-metro.ts +0 -212
- package/src/react-native/expo.ts +0 -175
- package/src/react-native/git.ts +0 -25
- package/src/react-native/glob.ts +0 -13
- package/src/react-native/gradle.ts +0 -26
- package/src/react-native/javascript.ts +0 -103
- package/src/react-native/metro.ts +0 -599
- package/src/react-native/options.ts +0 -5
- package/src/react-native/react-native-wizard.ts +0 -512
- package/src/react-native/uninstall.ts +0 -109
- package/src/react-native/xcode.ts +0 -302
- package/src/remix/codemods/express-server.ts +0 -44
- package/src/remix/codemods/handle-error.ts +0 -118
- package/src/remix/codemods/root-common.ts +0 -63
- package/src/remix/codemods/root-v1.ts +0 -41
- package/src/remix/codemods/root-v2.ts +0 -153
- package/src/remix/remix-wizard.ts +0 -261
- package/src/remix/sdk-example.ts +0 -120
- package/src/remix/sdk-setup.ts +0 -546
- package/src/remix/templates.ts +0 -11
- package/src/remix/utils.ts +0 -96
- package/src/run.ts +0 -211
- package/src/sourcemaps/sourcemaps-wizard.ts +0 -364
- package/src/sourcemaps/tools/angular.ts +0 -42
- package/src/sourcemaps/tools/create-react-app.ts +0 -19
- package/src/sourcemaps/tools/esbuild.ts +0 -65
- package/src/sourcemaps/tools/nextjs.ts +0 -114
- package/src/sourcemaps/tools/remix.ts +0 -90
- package/src/sourcemaps/tools/rollup.ts +0 -67
- package/src/sourcemaps/tools/sentry-cli.ts +0 -287
- package/src/sourcemaps/tools/tsc.ts +0 -144
- package/src/sourcemaps/tools/types.ts +0 -11
- package/src/sourcemaps/tools/vite.ts +0 -300
- package/src/sourcemaps/tools/webpack.ts +0 -383
- package/src/sourcemaps/utils/detect-tool.ts +0 -46
- package/src/sourcemaps/utils/other-wizards.ts +0 -167
- package/src/sourcemaps/utils/sdk-version.ts +0 -266
- package/src/sveltekit/sdk-example.ts +0 -56
- package/src/sveltekit/sdk-setup.ts +0 -667
- package/src/sveltekit/sveltekit-wizard.ts +0 -192
- package/src/sveltekit/templates.ts +0 -185
- package/src/sveltekit/utils.ts +0 -50
- package/src/telemetry.ts +0 -144
- package/src/utils/ast-utils.ts +0 -270
- package/src/utils/bash.ts +0 -57
- package/src/utils/clack-utils.ts +0 -1536
- package/src/utils/debug.ts +0 -20
- package/src/utils/package-json.ts +0 -51
- package/src/utils/package-manager.ts +0 -172
- package/src/utils/release-registry.ts +0 -19
- package/src/utils/semver.ts +0 -33
- package/src/utils/sentrycli-utils.ts +0 -24
- package/src/utils/string.ts +0 -7
- package/src/utils/types.ts +0 -77
- package/src/utils/url.ts +0 -27
- package/src/utils/vendor/is-unicorn-supported.ts +0 -29
- package/test/android/code-tools.test.ts +0 -49
- package/test/apple/cocoapod.test.ts +0 -310
- package/test/apple/code-tools.test.ts +0 -1042
- package/test/apple/fastfile.test.ts +0 -555
- package/test/apple/templates.test.ts +0 -191
- package/test/apple/xcode-manager.test.ts +0 -1068
- package/test/flutter/code-tools.test.ts +0 -212
- package/test/flutter/templates.test.ts +0 -100
- package/test/nextjs/templates.test.ts +0 -429
- package/test/nuxt/templates.test.ts +0 -255
- package/test/react-native/expo-metro.test.ts +0 -81
- package/test/react-native/expo.test.ts +0 -86
- package/test/react-native/gradle.test.ts +0 -310
- package/test/react-native/javascript.test.ts +0 -134
- package/test/react-native/metro.test.ts +0 -396
- package/test/react-native/xcode.test.ts +0 -401
- package/test/remix/client-entry.test.ts +0 -122
- package/test/remix/server-instrumentation.test.ts +0 -36
- package/test/sourcemaps/tools/sentry-cli.test.ts +0 -57
- package/test/sourcemaps/tools/tsc.test.ts +0 -181
- package/test/sourcemaps/tools/vite.test.ts +0 -149
- package/test/sourcemaps/tools/webpack.test.ts +0 -303
- package/test/sveltekit/templates.test.ts +0 -152
- package/test/utils/ast-utils.test.ts +0 -264
- package/test/utils/clack-utils.test.ts +0 -224
- package/types/read-env.d.ts +0 -3
- package/types/xcode.d.ts +0 -527
package/src/utils/debug.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// @ts-ignore - clack is ESM and TS complains about that. It works though
|
|
2
|
-
import * as clack from '@clack/prompts';
|
|
3
|
-
import chalk from 'chalk';
|
|
4
|
-
import { prepareMessage } from '../../lib/Helper/Logging';
|
|
5
|
-
|
|
6
|
-
let debugEnabled = false;
|
|
7
|
-
|
|
8
|
-
export function debug(...args: unknown[]) {
|
|
9
|
-
if (!debugEnabled) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
const msg = args.map((a) => prepareMessage(a)).join(' ');
|
|
14
|
-
|
|
15
|
-
clack.log.info(chalk.dim(msg));
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export function enableDebugLogs() {
|
|
19
|
-
debugEnabled = true;
|
|
20
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
export type PackageDotJson = {
|
|
2
|
-
version?: string;
|
|
3
|
-
scripts?: Record<string, string | undefined>;
|
|
4
|
-
dependencies?: Record<string, string>;
|
|
5
|
-
devDependencies?: Record<string, string>;
|
|
6
|
-
resolutions?: Record<string, string>;
|
|
7
|
-
overrides?: Record<string, string>;
|
|
8
|
-
pnpm?: {
|
|
9
|
-
overrides?: Record<string, string>;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
type NpmPackage = {
|
|
14
|
-
name: string;
|
|
15
|
-
version: string;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Checks if @param packageJson has any of the @param packageNamesList package names
|
|
20
|
-
* listed as a dependency or devDependency.
|
|
21
|
-
* If so, it returns the first package name that is found, including the
|
|
22
|
-
* version (range) specified in the package.json.
|
|
23
|
-
*/
|
|
24
|
-
export function findInstalledPackageFromList(
|
|
25
|
-
packageNamesList: string[],
|
|
26
|
-
packageJson: PackageDotJson,
|
|
27
|
-
): NpmPackage | undefined {
|
|
28
|
-
return packageNamesList
|
|
29
|
-
.map((packageName) => ({
|
|
30
|
-
name: packageName,
|
|
31
|
-
version: getPackageVersion(packageName, packageJson),
|
|
32
|
-
}))
|
|
33
|
-
.find((sdkPackage): sdkPackage is NpmPackage => !!sdkPackage.version);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export function hasPackageInstalled(
|
|
37
|
-
packageName: string,
|
|
38
|
-
packageJson: PackageDotJson,
|
|
39
|
-
): boolean {
|
|
40
|
-
return getPackageVersion(packageName, packageJson) !== undefined;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function getPackageVersion(
|
|
44
|
-
packageName: string,
|
|
45
|
-
packageJson: PackageDotJson,
|
|
46
|
-
): string | undefined {
|
|
47
|
-
return (
|
|
48
|
-
packageJson?.dependencies?.[packageName] ||
|
|
49
|
-
packageJson?.devDependencies?.[packageName]
|
|
50
|
-
);
|
|
51
|
-
}
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/typedef */
|
|
2
|
-
import * as fs from 'fs';
|
|
3
|
-
import * as path from 'path';
|
|
4
|
-
|
|
5
|
-
import * as Sentry from '@sentry/node';
|
|
6
|
-
import { traceStep } from '../telemetry';
|
|
7
|
-
import { getPackageDotJson, updatePackageDotJson } from './clack-utils';
|
|
8
|
-
|
|
9
|
-
export interface PackageManager {
|
|
10
|
-
name: string;
|
|
11
|
-
label: string;
|
|
12
|
-
installCommand: string;
|
|
13
|
-
buildCommand: string;
|
|
14
|
-
/* The command that the package manager uses to run a script from package.json */
|
|
15
|
-
runScriptCommand: string;
|
|
16
|
-
flags: string;
|
|
17
|
-
forceInstallFlag: string;
|
|
18
|
-
detect: () => boolean;
|
|
19
|
-
addOverride: (pkgName: string, pkgVersion: string) => Promise<void>;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export const BUN: PackageManager = {
|
|
23
|
-
name: 'bun',
|
|
24
|
-
label: 'Bun',
|
|
25
|
-
installCommand: 'bun add',
|
|
26
|
-
buildCommand: 'bun run build',
|
|
27
|
-
runScriptCommand: 'bun run',
|
|
28
|
-
flags: '',
|
|
29
|
-
forceInstallFlag: '--force',
|
|
30
|
-
detect: () =>
|
|
31
|
-
['bun.lockb', 'bun.lock'].some((lockFile) =>
|
|
32
|
-
fs.existsSync(path.join(process.cwd(), lockFile)),
|
|
33
|
-
),
|
|
34
|
-
addOverride: async (pkgName, pkgVersion): Promise<void> => {
|
|
35
|
-
const packageDotJson = await getPackageDotJson();
|
|
36
|
-
const overrides = packageDotJson.overrides || {};
|
|
37
|
-
|
|
38
|
-
await updatePackageDotJson({
|
|
39
|
-
...packageDotJson,
|
|
40
|
-
overrides: {
|
|
41
|
-
...overrides,
|
|
42
|
-
[pkgName]: pkgVersion,
|
|
43
|
-
},
|
|
44
|
-
});
|
|
45
|
-
},
|
|
46
|
-
};
|
|
47
|
-
export const YARN_V1: PackageManager = {
|
|
48
|
-
name: 'yarn',
|
|
49
|
-
label: 'Yarn V1',
|
|
50
|
-
installCommand: 'yarn add',
|
|
51
|
-
buildCommand: 'yarn build',
|
|
52
|
-
runScriptCommand: 'yarn',
|
|
53
|
-
flags: '--ignore-workspace-root-check',
|
|
54
|
-
forceInstallFlag: '--force',
|
|
55
|
-
detect: () => {
|
|
56
|
-
try {
|
|
57
|
-
return fs
|
|
58
|
-
.readFileSync(path.join(process.cwd(), 'yarn.lock'), 'utf-8')
|
|
59
|
-
.slice(0, 500)
|
|
60
|
-
.includes('yarn lockfile v1');
|
|
61
|
-
} catch (e) {
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
addOverride: async (pkgName, pkgVersion): Promise<void> => {
|
|
66
|
-
const packageDotJson = await getPackageDotJson();
|
|
67
|
-
const resolutions = packageDotJson.resolutions || {};
|
|
68
|
-
|
|
69
|
-
await updatePackageDotJson({
|
|
70
|
-
...packageDotJson,
|
|
71
|
-
resolutions: {
|
|
72
|
-
...resolutions,
|
|
73
|
-
[pkgName]: pkgVersion,
|
|
74
|
-
},
|
|
75
|
-
});
|
|
76
|
-
},
|
|
77
|
-
};
|
|
78
|
-
/** YARN V2/3/4 */
|
|
79
|
-
export const YARN_V2: PackageManager = {
|
|
80
|
-
name: 'yarn',
|
|
81
|
-
label: 'Yarn V2/3/4',
|
|
82
|
-
installCommand: 'yarn add',
|
|
83
|
-
buildCommand: 'yarn build',
|
|
84
|
-
runScriptCommand: 'yarn',
|
|
85
|
-
flags: '',
|
|
86
|
-
forceInstallFlag: '--force',
|
|
87
|
-
detect: () => {
|
|
88
|
-
try {
|
|
89
|
-
return fs
|
|
90
|
-
.readFileSync(path.join(process.cwd(), 'yarn.lock'), 'utf-8')
|
|
91
|
-
.slice(0, 500)
|
|
92
|
-
.includes('__metadata');
|
|
93
|
-
} catch (e) {
|
|
94
|
-
return false;
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
addOverride: async (pkgName, pkgVersion): Promise<void> => {
|
|
98
|
-
const packageDotJson = await getPackageDotJson();
|
|
99
|
-
const resolutions = packageDotJson.resolutions || {};
|
|
100
|
-
|
|
101
|
-
await updatePackageDotJson({
|
|
102
|
-
...packageDotJson,
|
|
103
|
-
resolutions: {
|
|
104
|
-
...resolutions,
|
|
105
|
-
[pkgName]: pkgVersion,
|
|
106
|
-
},
|
|
107
|
-
});
|
|
108
|
-
},
|
|
109
|
-
};
|
|
110
|
-
export const PNPM: PackageManager = {
|
|
111
|
-
name: 'pnpm',
|
|
112
|
-
label: 'PNPM',
|
|
113
|
-
installCommand: 'pnpm add',
|
|
114
|
-
buildCommand: 'pnpm build',
|
|
115
|
-
runScriptCommand: 'pnpm',
|
|
116
|
-
flags: '--ignore-workspace-root-check',
|
|
117
|
-
forceInstallFlag: '--force',
|
|
118
|
-
detect: () => fs.existsSync(path.join(process.cwd(), 'pnpm-lock.yaml')),
|
|
119
|
-
addOverride: async (pkgName, pkgVersion): Promise<void> => {
|
|
120
|
-
const packageDotJson = await getPackageDotJson();
|
|
121
|
-
const pnpm = packageDotJson.pnpm || {};
|
|
122
|
-
const overrides = pnpm.overrides || {};
|
|
123
|
-
|
|
124
|
-
await updatePackageDotJson({
|
|
125
|
-
...packageDotJson,
|
|
126
|
-
pnpm: {
|
|
127
|
-
...pnpm,
|
|
128
|
-
overrides: {
|
|
129
|
-
...overrides,
|
|
130
|
-
[pkgName]: pkgVersion,
|
|
131
|
-
},
|
|
132
|
-
},
|
|
133
|
-
});
|
|
134
|
-
},
|
|
135
|
-
};
|
|
136
|
-
export const NPM: PackageManager = {
|
|
137
|
-
name: 'npm',
|
|
138
|
-
label: 'NPM',
|
|
139
|
-
installCommand: 'npm add',
|
|
140
|
-
buildCommand: 'npm run build',
|
|
141
|
-
runScriptCommand: 'npm run',
|
|
142
|
-
flags: '',
|
|
143
|
-
forceInstallFlag: '--force',
|
|
144
|
-
detect: () => fs.existsSync(path.join(process.cwd(), 'package-lock.json')),
|
|
145
|
-
addOverride: async (pkgName, pkgVersion): Promise<void> => {
|
|
146
|
-
const packageDotJson = await getPackageDotJson();
|
|
147
|
-
const overrides = packageDotJson.overrides || {};
|
|
148
|
-
|
|
149
|
-
await updatePackageDotJson({
|
|
150
|
-
...packageDotJson,
|
|
151
|
-
overrides: {
|
|
152
|
-
...overrides,
|
|
153
|
-
[pkgName]: pkgVersion,
|
|
154
|
-
},
|
|
155
|
-
});
|
|
156
|
-
},
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
export const packageManagers = [BUN, YARN_V1, YARN_V2, PNPM, NPM];
|
|
160
|
-
|
|
161
|
-
export function detectPackageManger(): PackageManager | null {
|
|
162
|
-
return traceStep('detect-package-manager', () => {
|
|
163
|
-
for (const packageManager of packageManagers) {
|
|
164
|
-
if (packageManager.detect()) {
|
|
165
|
-
Sentry.setTag('package-manager', packageManager.name);
|
|
166
|
-
return packageManager;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
Sentry.setTag('package-manager', 'not-detected');
|
|
170
|
-
return null;
|
|
171
|
-
});
|
|
172
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import axios from 'axios';
|
|
2
|
-
import { debug } from './debug';
|
|
3
|
-
const registryUrl = 'https://release-registry.services.sentry.io/';
|
|
4
|
-
|
|
5
|
-
export async function fetchSdkVersion(
|
|
6
|
-
sdk: string,
|
|
7
|
-
): Promise<string | undefined> {
|
|
8
|
-
try {
|
|
9
|
-
const data = (
|
|
10
|
-
await axios.get<Record<string, { version: string }>>(
|
|
11
|
-
`${registryUrl}/sdks`,
|
|
12
|
-
)
|
|
13
|
-
).data;
|
|
14
|
-
return data[sdk]?.version;
|
|
15
|
-
} catch {
|
|
16
|
-
debug('Failed to fetch latest version from release registry.');
|
|
17
|
-
}
|
|
18
|
-
return undefined;
|
|
19
|
-
}
|
package/src/utils/semver.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { satisfies, subset, valid, validRange } from 'semver';
|
|
2
|
-
|
|
3
|
-
export function fulfillsVersionRange({
|
|
4
|
-
version,
|
|
5
|
-
acceptableVersions,
|
|
6
|
-
canBeLatest,
|
|
7
|
-
}: {
|
|
8
|
-
version: string;
|
|
9
|
-
acceptableVersions: string;
|
|
10
|
-
canBeLatest: boolean;
|
|
11
|
-
}): boolean {
|
|
12
|
-
if (version === 'latest') {
|
|
13
|
-
return canBeLatest;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
let cleanedUserVersion, isRange;
|
|
17
|
-
|
|
18
|
-
if (valid(version)) {
|
|
19
|
-
cleanedUserVersion = valid(version);
|
|
20
|
-
isRange = false;
|
|
21
|
-
} else if (validRange(version)) {
|
|
22
|
-
cleanedUserVersion = validRange(version);
|
|
23
|
-
isRange = true;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return (
|
|
27
|
-
// If the given version is a bogus format, this will still be undefined and we'll automatically reject it
|
|
28
|
-
!!cleanedUserVersion &&
|
|
29
|
-
(isRange
|
|
30
|
-
? subset(cleanedUserVersion, acceptableVersions)
|
|
31
|
-
: satisfies(cleanedUserVersion, acceptableVersions))
|
|
32
|
-
);
|
|
33
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
// @ts-ignore - clack is ESM and TS complains about that. It works though
|
|
2
|
-
import * as fs from 'fs';
|
|
3
|
-
import * as path from 'path';
|
|
4
|
-
|
|
5
|
-
export interface SentryCLIConfiguration {
|
|
6
|
-
auth_token: string;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export function createSentryCLIRC(
|
|
10
|
-
directory: string,
|
|
11
|
-
params: SentryCLIConfiguration,
|
|
12
|
-
) {
|
|
13
|
-
const rcPath = path.join(directory, '.sentryclirc');
|
|
14
|
-
fs.writeFileSync(rcPath, '[auth]\ntoken=' + params.auth_token);
|
|
15
|
-
|
|
16
|
-
if (!fs.existsSync('.gitignore')) {
|
|
17
|
-
fs.writeFileSync('.gitignore', '.sentryclirc');
|
|
18
|
-
} else {
|
|
19
|
-
const gitIgnore = fs.readFileSync('.gitignore').toString();
|
|
20
|
-
if (!gitIgnore.includes('.sentryclirc')) {
|
|
21
|
-
fs.appendFileSync('.gitignore', '\n.sentryclirc');
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
package/src/utils/string.ts
DELETED
package/src/utils/types.ts
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
export interface SentryProjectData {
|
|
2
|
-
id: string;
|
|
3
|
-
slug: string;
|
|
4
|
-
organization: {
|
|
5
|
-
id: string;
|
|
6
|
-
name: string;
|
|
7
|
-
slug: string;
|
|
8
|
-
};
|
|
9
|
-
keys: [{ dsn: { public: string } }];
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export type PreselectedProject = {
|
|
13
|
-
project: SentryProjectData;
|
|
14
|
-
authToken: string;
|
|
15
|
-
selfHosted: boolean;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export type WizardOptions = {
|
|
19
|
-
/**
|
|
20
|
-
* Controls whether the wizard should send telemetry data to Sentry.
|
|
21
|
-
*/
|
|
22
|
-
telemetryEnabled: boolean;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* The promo code to use while signing up for Sentry.
|
|
26
|
-
* This can be passed via the --promo-code arg.
|
|
27
|
-
*/
|
|
28
|
-
promoCode?: string;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* The url of the Sentry instance to use.
|
|
32
|
-
* This can be passed via the `-u` or `--url` arg.
|
|
33
|
-
*/
|
|
34
|
-
url?: string;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* The org to pre-select in the wizard.
|
|
38
|
-
* This can be passed via the `--org` arg.
|
|
39
|
-
* Example: `--org my-org`
|
|
40
|
-
*/
|
|
41
|
-
orgSlug?: string;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Project slug to pre-select in the wizard.
|
|
45
|
-
* This can be passed via the `--project` arg.
|
|
46
|
-
* Example: `--project my-project`
|
|
47
|
-
*/
|
|
48
|
-
projectSlug?: string;
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* If this option is set, the wizard will skip the self-hosted or SaaS
|
|
52
|
-
* selection step and directly assume that the wizard is used for Sentry SaaS.
|
|
53
|
-
*/
|
|
54
|
-
saas?: boolean;
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* If this is set, the wizard will skip the login and project selection step.
|
|
58
|
-
*/
|
|
59
|
-
preSelectedProject?: PreselectedProject;
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Force-install the SDK package to continue with the installation in case
|
|
63
|
-
* any package manager checks are failing (e.g. peer dependency versions).
|
|
64
|
-
*
|
|
65
|
-
* Use with caution and only if you know what you're doing.
|
|
66
|
-
*
|
|
67
|
-
* Does not apply to all wizard flows (currently NPM only)
|
|
68
|
-
*/
|
|
69
|
-
forceInstall?: boolean;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
export interface Feature {
|
|
73
|
-
id: string;
|
|
74
|
-
prompt: string;
|
|
75
|
-
enabledHint?: string;
|
|
76
|
-
disabledHint?: string;
|
|
77
|
-
}
|
package/src/utils/url.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { URL } from 'url';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Returns the url to the Sentry project stream.
|
|
5
|
-
*
|
|
6
|
-
* Example: https://org-slug.sentry.io/issues/?project=1234567
|
|
7
|
-
*/
|
|
8
|
-
export function getIssueStreamUrl({
|
|
9
|
-
url,
|
|
10
|
-
orgSlug,
|
|
11
|
-
projectId,
|
|
12
|
-
}: {
|
|
13
|
-
url: string;
|
|
14
|
-
orgSlug: string;
|
|
15
|
-
projectId: string;
|
|
16
|
-
}): string {
|
|
17
|
-
const urlObject = new URL(url);
|
|
18
|
-
if (urlObject.host === 'sentry.io') {
|
|
19
|
-
urlObject.host = `${orgSlug}.${urlObject.host}`;
|
|
20
|
-
urlObject.pathname = '/issues/';
|
|
21
|
-
} else {
|
|
22
|
-
urlObject.pathname = `/organizations/${orgSlug}/issues/`;
|
|
23
|
-
}
|
|
24
|
-
urlObject.searchParams.set('project', projectId);
|
|
25
|
-
|
|
26
|
-
return urlObject.toString();
|
|
27
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
// Vendored from: https://github.com/sindresorhus/is-unicode-supported/blob/c80c691dde9e2fcfe3996810858c6672c8f35ad9/index.js#L3
|
|
2
|
-
|
|
3
|
-
// MIT License
|
|
4
|
-
|
|
5
|
-
// Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
|
6
|
-
|
|
7
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
8
|
-
|
|
9
|
-
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
10
|
-
|
|
11
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
12
|
-
|
|
13
|
-
export function isUnicodeSupported() {
|
|
14
|
-
if (process.platform !== 'win32') {
|
|
15
|
-
return process.env.TERM !== 'linux'; // Linux console (kernel)
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return (
|
|
19
|
-
Boolean(process.env.CI) ||
|
|
20
|
-
Boolean(process.env.WT_SESSION) || // Windows Terminal
|
|
21
|
-
Boolean(process.env.TERMINUS_SUBLIME) || // Terminus (<0.2.27)
|
|
22
|
-
process.env.ConEmuTask === '{cmd::Cmder}' || // ConEmu and cmder
|
|
23
|
-
process.env.TERM_PROGRAM === 'Terminus-Sublime' ||
|
|
24
|
-
process.env.TERM_PROGRAM === 'vscode' ||
|
|
25
|
-
process.env.TERM === 'xterm-256color' ||
|
|
26
|
-
process.env.TERM === 'alacritty' ||
|
|
27
|
-
process.env.TERMINAL_EMULATOR === 'JetBrains-JediTerm'
|
|
28
|
-
);
|
|
29
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
//@ts-ignore
|
|
2
|
-
import { getLastImportLineLocation } from '../../src/android/code-tools';
|
|
3
|
-
|
|
4
|
-
describe('code-tools', () => {
|
|
5
|
-
describe('getLastImportLineLocation', () => {
|
|
6
|
-
it('returns proper line index', () => {
|
|
7
|
-
const code = `import a.b.c;\n` + `//<insert-location>\n` + `class X {}`;
|
|
8
|
-
expect(getLastImportLineLocation(code)).toBe(
|
|
9
|
-
code.indexOf('//<insert-location>'),
|
|
10
|
-
);
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
it('returns proper line index when static import is used', () => {
|
|
14
|
-
const code =
|
|
15
|
-
`import static a.b.c;\n` + `//<insert-location>\n` + `class X {}`;
|
|
16
|
-
expect(getLastImportLineLocation(code)).toBe(
|
|
17
|
-
code.indexOf('//<insert-location>'),
|
|
18
|
-
);
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('returns proper line index when wildcard import is used', () => {
|
|
22
|
-
const code = `import a.b.*\n` + `//<insert-location>\n` + `class X {}`;
|
|
23
|
-
expect(getLastImportLineLocation(code)).toBe(
|
|
24
|
-
code.indexOf('//<insert-location>'),
|
|
25
|
-
);
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
it('returns proper line index when alias import is used', () => {
|
|
29
|
-
const code =
|
|
30
|
-
`import static a.b.c as d\n` + `//<insert-location>\n` + `class X {}`;
|
|
31
|
-
expect(getLastImportLineLocation(code)).toBe(
|
|
32
|
-
code.indexOf('//<insert-location>'),
|
|
33
|
-
);
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
it('returns proper line index when multiple imports are present', () => {
|
|
37
|
-
const code =
|
|
38
|
-
`import static a.b.c as d\n` +
|
|
39
|
-
`import a.b.*\n` +
|
|
40
|
-
`import static a.b.c;\n` +
|
|
41
|
-
`import a.b.c;\n` +
|
|
42
|
-
`//<insert-location>\n` +
|
|
43
|
-
`class X {}`;
|
|
44
|
-
expect(getLastImportLineLocation(code)).toBe(
|
|
45
|
-
code.indexOf('//<insert-location>'),
|
|
46
|
-
);
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
});
|