@sentry/wizard 4.6.0 → 4.7.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 (137) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/bin.js +9 -0
  3. package/dist/bin.js.map +1 -1
  4. package/dist/e2e-tests/tests/flutter.test.js +16 -16
  5. package/dist/e2e-tests/tests/flutter.test.js.map +1 -1
  6. package/dist/e2e-tests/tests/help-message.test.d.ts +1 -0
  7. package/dist/e2e-tests/tests/help-message.test.js +56 -0
  8. package/dist/e2e-tests/tests/help-message.test.js.map +1 -0
  9. package/dist/e2e-tests/tests/nextjs-14.test.js +15 -15
  10. package/dist/e2e-tests/tests/nextjs-14.test.js.map +1 -1
  11. package/dist/e2e-tests/tests/nextjs-15.test.js +15 -15
  12. package/dist/e2e-tests/tests/nextjs-15.test.js.map +1 -1
  13. package/dist/e2e-tests/tests/nuxt-3.test.js +13 -12
  14. package/dist/e2e-tests/tests/nuxt-3.test.js.map +1 -1
  15. package/dist/e2e-tests/tests/nuxt-4.test.js +13 -12
  16. package/dist/e2e-tests/tests/nuxt-4.test.js.map +1 -1
  17. package/dist/e2e-tests/tests/remix.test.js +20 -20
  18. package/dist/e2e-tests/tests/remix.test.js.map +1 -1
  19. package/dist/e2e-tests/tests/sveltekit.test.js +20 -20
  20. package/dist/e2e-tests/tests/sveltekit.test.js.map +1 -1
  21. package/dist/e2e-tests/utils/index.js +15 -11
  22. package/dist/e2e-tests/utils/index.js.map +1 -1
  23. package/dist/lib/Constants.d.ts +5 -1
  24. package/dist/lib/Constants.js.map +1 -1
  25. package/dist/lib/Helper/Logging.d.ts +1 -1
  26. package/dist/lib/Helper/Logging.js.map +1 -1
  27. package/dist/lib/Helper/__tests__/File.js +9 -9
  28. package/dist/lib/Helper/__tests__/File.js.map +1 -1
  29. package/dist/lib/Helper/__tests__/MergeConfig.js +17 -17
  30. package/dist/lib/Helper/__tests__/MergeConfig.js.map +1 -1
  31. package/dist/lib/Helper/__tests__/SentryCli.js +23 -22
  32. package/dist/lib/Helper/__tests__/SentryCli.js.map +1 -1
  33. package/dist/lib/Setup.d.ts +2 -1
  34. package/dist/lib/Setup.js +12 -2
  35. package/dist/lib/Setup.js.map +1 -1
  36. package/dist/lib/Steps/BaseStep.d.ts +1 -1
  37. package/dist/lib/Steps/BaseStep.js.map +1 -1
  38. package/dist/lib/Steps/Integrations/Cordova.js.map +1 -1
  39. package/dist/lib/Steps/Welcome.js +5 -0
  40. package/dist/lib/Steps/Welcome.js.map +1 -1
  41. package/dist/lib/__tests__/Env.js +4 -3
  42. package/dist/lib/__tests__/Env.js.map +1 -1
  43. package/dist/src/apple/apple-wizard.js +24 -64
  44. package/dist/src/apple/apple-wizard.js.map +1 -1
  45. package/dist/src/apple/configure-package-manager.d.ts +5 -0
  46. package/dist/src/apple/configure-package-manager.js +68 -0
  47. package/dist/src/apple/configure-package-manager.js.map +1 -0
  48. package/dist/src/apple/configure-sentry-cli.d.ts +4 -0
  49. package/dist/src/apple/configure-sentry-cli.js +47 -0
  50. package/dist/src/apple/configure-sentry-cli.js.map +1 -0
  51. package/dist/src/apple/configure-xcode-project.d.ts +8 -0
  52. package/dist/src/apple/configure-xcode-project.js +11 -0
  53. package/dist/src/apple/configure-xcode-project.js.map +1 -0
  54. package/dist/src/apple/inject-code-snippet.d.ts +6 -0
  55. package/dist/src/apple/inject-code-snippet.js +54 -0
  56. package/dist/src/apple/inject-code-snippet.js.map +1 -0
  57. package/dist/src/apple/templates.js +11 -7
  58. package/dist/src/apple/templates.js.map +1 -1
  59. package/dist/src/apple/xcode-manager.js +3 -6
  60. package/dist/src/apple/xcode-manager.js.map +1 -1
  61. package/dist/src/nextjs/templates.js +3 -1
  62. package/dist/src/nextjs/templates.js.map +1 -1
  63. package/dist/src/react-native/javascript.d.ts +6 -4
  64. package/dist/src/react-native/javascript.js +25 -9
  65. package/dist/src/react-native/javascript.js.map +1 -1
  66. package/dist/src/react-native/react-native-wizard.d.ts +4 -0
  67. package/dist/src/react-native/react-native-wizard.js +30 -5
  68. package/dist/src/react-native/react-native-wizard.js.map +1 -1
  69. package/dist/src/react-native/xcode.d.ts +7 -3
  70. package/dist/src/react-native/xcode.js +64 -20
  71. package/dist/src/react-native/xcode.js.map +1 -1
  72. package/dist/src/run.js +2 -2
  73. package/dist/src/run.js.map +1 -1
  74. package/dist/src/utils/clack/index.js +3 -1
  75. package/dist/src/utils/clack/index.js.map +1 -1
  76. package/dist/src/utils/package-manager.d.ts +2 -0
  77. package/dist/src/utils/package-manager.js +55 -5
  78. package/dist/src/utils/package-manager.js.map +1 -1
  79. package/dist/src/version.d.ts +1 -1
  80. package/dist/src/version.js +1 -1
  81. package/dist/src/version.js.map +1 -1
  82. package/dist/test/android/code-tools.test.js +13 -12
  83. package/dist/test/android/code-tools.test.js.map +1 -1
  84. package/dist/test/apple/cocoapod.test.js +77 -72
  85. package/dist/test/apple/cocoapod.test.js.map +1 -1
  86. package/dist/test/apple/code-tools.test.js +173 -166
  87. package/dist/test/apple/code-tools.test.js.map +1 -1
  88. package/dist/test/apple/fastfile.test.js +86 -83
  89. package/dist/test/apple/fastfile.test.js.map +1 -1
  90. package/dist/test/apple/templates.test.js +32 -27
  91. package/dist/test/apple/templates.test.js.map +1 -1
  92. package/dist/test/apple/xcode-manager.test.js +182 -183
  93. package/dist/test/apple/xcode-manager.test.js.map +1 -1
  94. package/dist/test/flutter/code-tools.test.js +29 -28
  95. package/dist/test/flutter/code-tools.test.js.map +1 -1
  96. package/dist/test/flutter/templates.test.js +15 -14
  97. package/dist/test/flutter/templates.test.js.map +1 -1
  98. package/dist/test/nextjs/templates.test.js +43 -36
  99. package/dist/test/nextjs/templates.test.js.map +1 -1
  100. package/dist/test/nuxt/templates.test.js +25 -24
  101. package/dist/test/nuxt/templates.test.js.map +1 -1
  102. package/dist/test/react-native/expo-metro.test.js +11 -10
  103. package/dist/test/react-native/expo-metro.test.js.map +1 -1
  104. package/dist/test/react-native/expo.test.js +11 -10
  105. package/dist/test/react-native/expo.test.js.map +1 -1
  106. package/dist/test/react-native/gradle.test.js +27 -26
  107. package/dist/test/react-native/gradle.test.js.map +1 -1
  108. package/dist/test/react-native/javascript.test.js +108 -58
  109. package/dist/test/react-native/javascript.test.js.map +1 -1
  110. package/dist/test/react-native/metro.test.js +65 -64
  111. package/dist/test/react-native/metro.test.js.map +1 -1
  112. package/dist/test/react-native/xcode.test.js +138 -37
  113. package/dist/test/react-native/xcode.test.js.map +1 -1
  114. package/dist/test/remix/client-entry.test.js +8 -7
  115. package/dist/test/remix/client-entry.test.js.map +1 -1
  116. package/dist/test/remix/server-instrumentation.test.js +6 -5
  117. package/dist/test/remix/server-instrumentation.test.js.map +1 -1
  118. package/dist/test/sourcemaps/tools/sentry-cli.test.js +20 -20
  119. package/dist/test/sourcemaps/tools/sentry-cli.test.js.map +1 -1
  120. package/dist/test/sourcemaps/tools/tsc.test.js +13 -14
  121. package/dist/test/sourcemaps/tools/tsc.test.js.map +1 -1
  122. package/dist/test/sourcemaps/tools/vite.test.js +13 -14
  123. package/dist/test/sourcemaps/tools/vite.test.js.map +1 -1
  124. package/dist/test/sourcemaps/tools/webpack.test.js +19 -20
  125. package/dist/test/sourcemaps/tools/webpack.test.js.map +1 -1
  126. package/dist/test/sveltekit/templates.test.js +13 -12
  127. package/dist/test/sveltekit/templates.test.js.map +1 -1
  128. package/dist/test/utils/ast-utils.test.js +45 -44
  129. package/dist/test/utils/ast-utils.test.js.map +1 -1
  130. package/dist/test/utils/clack/index.test.js +140 -144
  131. package/dist/test/utils/clack/index.test.js.map +1 -1
  132. package/dist/test/utils/package-manager.test.js +8 -7
  133. package/dist/test/utils/package-manager.test.js.map +1 -1
  134. package/package.json +10 -38
  135. package/dist/e2e-tests/jest.config.d.ts +0 -17
  136. package/dist/e2e-tests/jest.config.js +0 -23
  137. package/dist/e2e-tests/jest.config.js.map +0 -1
@@ -1,31 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
3
4
  const expo_1 = require("../../src/react-native/expo");
4
- describe('expo', () => {
5
+ (0, vitest_1.describe)('expo', () => {
5
6
  const MOCK_CONFIG = {
6
7
  url: 'https://sentry.mock/',
7
8
  org: 'sentry-mock',
8
9
  project: 'project-mock',
9
10
  authToken: 'authToken-mock',
10
11
  };
11
- describe('addWithSentryToAppConfigJson', () => {
12
- test('do not add if sentry-expo present', () => {
12
+ (0, vitest_1.describe)('addWithSentryToAppConfigJson', () => {
13
+ (0, vitest_1.test)('do not add if sentry-expo present', () => {
13
14
  const appConfigJson = `{
14
15
  "expo": {
15
16
  "plugins": ["sentry-expo"]
16
17
  }
17
18
  }`;
18
- expect((0, expo_1.addWithSentryToAppConfigJson)(appConfigJson, MOCK_CONFIG)).toBeNull();
19
+ (0, vitest_1.expect)((0, expo_1.addWithSentryToAppConfigJson)(appConfigJson, MOCK_CONFIG)).toBeNull();
19
20
  });
20
- test('do not add if sentry-react-native/expo present', () => {
21
+ (0, vitest_1.test)('do not add if sentry-react-native/expo present', () => {
21
22
  const appConfigJson = `{
22
23
  "expo": {
23
24
  "plugins": ["@sentry/react-native/expo"]
24
25
  }
25
26
  }`;
26
- expect((0, expo_1.addWithSentryToAppConfigJson)(appConfigJson, MOCK_CONFIG)).toBeNull();
27
+ (0, vitest_1.expect)((0, expo_1.addWithSentryToAppConfigJson)(appConfigJson, MOCK_CONFIG)).toBeNull();
27
28
  });
28
- test.each([
29
+ vitest_1.test.each([
29
30
  [
30
31
  `{
31
32
  "expo": {
@@ -39,9 +40,9 @@ describe('expo', () => {
39
40
  }`,
40
41
  ],
41
42
  ])('do not add if plugins is not an array', (appConfigJson) => {
42
- expect((0, expo_1.addWithSentryToAppConfigJson)(appConfigJson, MOCK_CONFIG)).toBeNull();
43
+ (0, vitest_1.expect)((0, expo_1.addWithSentryToAppConfigJson)(appConfigJson, MOCK_CONFIG)).toBeNull();
43
44
  });
44
- test.each([
45
+ vitest_1.test.each([
45
46
  [
46
47
  `{
47
48
  "expo": {
@@ -57,7 +58,7 @@ describe('expo', () => {
57
58
  ],
58
59
  ])('add sentry react native expo plugin configuration', (appConfigJson) => {
59
60
  const result = (0, expo_1.addWithSentryToAppConfigJson)(appConfigJson, MOCK_CONFIG);
60
- expect(JSON.parse(result ?? '{}')).toStrictEqual({
61
+ (0, vitest_1.expect)(JSON.parse(result ?? '{}')).toStrictEqual({
61
62
  expo: {
62
63
  plugins: [
63
64
  [
@@ -1 +1 @@
1
- {"version":3,"file":"expo.test.js","sourceRoot":"","sources":["../../../test/react-native/expo.test.ts"],"names":[],"mappings":";;AAAA,sDAA2E;AAG3E,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,MAAM,WAAW,GAA4B;QAC3C,GAAG,EAAE,sBAAsB;QAC3B,GAAG,EAAE,aAAa;QAClB,OAAO,EAAE,cAAc;QACvB,SAAS,EAAE,gBAAgB;KAC5B,CAAC;IAEF,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC7C,MAAM,aAAa,GAAG;;;;QAIpB,CAAC;YACH,MAAM,CACJ,IAAA,mCAA4B,EAAC,aAAa,EAAE,WAAW,CAAC,CACzD,CAAC,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;YAC1D,MAAM,aAAa,GAAG;;;;QAIpB,CAAC;YACH,MAAM,CACJ,IAAA,mCAA4B,EAAC,aAAa,EAAE,WAAW,CAAC,CACzD,CAAC,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC;YACR;gBACE;;;;UAIE;aACH;YACD;gBACE;;UAEE;aACH;SACF,CAAC,CAAC,uCAAuC,EAAE,CAAC,aAAa,EAAE,EAAE;YAC5D,MAAM,CACJ,IAAA,mCAA4B,EAAC,aAAa,EAAE,WAAW,CAAC,CACzD,CAAC,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC;YACR;gBACE;;;;UAIE;aACH;YACD,CAAC,IAAI,CAAC;YACN;gBACE;;UAEE;aACH;SACF,CAAC,CAAC,mDAAmD,EAAE,CAAC,aAAa,EAAE,EAAE;YACxE,MAAM,MAAM,GAAG,IAAA,mCAA4B,EAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YACxE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC/C,IAAI,EAAE;oBACJ,OAAO,EAAE;wBACP;4BACE,2BAA2B;4BAC3B;gCACE,GAAG,EAAE,sBAAsB;gCAC3B,YAAY,EAAE,aAAa;gCAC3B,OAAO,EAAE,cAAc;6BACxB;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { addWithSentryToAppConfigJson } from '../../src/react-native/expo';\nimport { RNCliSetupConfigContent } from '../../src/react-native/react-native-wizard';\n\ndescribe('expo', () => {\n const MOCK_CONFIG: RNCliSetupConfigContent = {\n url: 'https://sentry.mock/',\n org: 'sentry-mock',\n project: 'project-mock',\n authToken: 'authToken-mock',\n };\n\n describe('addWithSentryToAppConfigJson', () => {\n test('do not add if sentry-expo present', () => {\n const appConfigJson = `{\n \"expo\": {\n \"plugins\": [\"sentry-expo\"]\n }\n }`;\n expect(\n addWithSentryToAppConfigJson(appConfigJson, MOCK_CONFIG),\n ).toBeNull();\n });\n\n test('do not add if sentry-react-native/expo present', () => {\n const appConfigJson = `{\n \"expo\": {\n \"plugins\": [\"@sentry/react-native/expo\"]\n }\n }`;\n expect(\n addWithSentryToAppConfigJson(appConfigJson, MOCK_CONFIG),\n ).toBeNull();\n });\n\n test.each([\n [\n `{\n \"expo\": {\n \"plugins\": \"should be an array, but it is not\"\n }\n }`,\n ],\n [\n `{\n \"expo\": [\"should be an object, but it is not\"]\n }`,\n ],\n ])('do not add if plugins is not an array', (appConfigJson) => {\n expect(\n addWithSentryToAppConfigJson(appConfigJson, MOCK_CONFIG),\n ).toBeNull();\n });\n\n test.each([\n [\n `{\n \"expo\": {\n \"plugins\": []\n }\n }`,\n ],\n [`{}`],\n [\n `{\n \"expo\": {}\n }`,\n ],\n ])('add sentry react native expo plugin configuration', (appConfigJson) => {\n const result = addWithSentryToAppConfigJson(appConfigJson, MOCK_CONFIG);\n expect(JSON.parse(result ?? '{}')).toStrictEqual({\n expo: {\n plugins: [\n [\n '@sentry/react-native/expo',\n {\n url: 'https://sentry.mock/',\n organization: 'sentry-mock',\n project: 'project-mock',\n },\n ],\n ],\n },\n });\n });\n });\n});\n"]}
1
+ {"version":3,"file":"expo.test.js","sourceRoot":"","sources":["../../../test/react-native/expo.test.ts"],"names":[],"mappings":";;AAAA,mCAAgD;AAChD,sDAA2E;AAG3E,IAAA,iBAAQ,EAAC,MAAM,EAAE,GAAG,EAAE;IACpB,MAAM,WAAW,GAA4B;QAC3C,GAAG,EAAE,sBAAsB;QAC3B,GAAG,EAAE,aAAa;QAClB,OAAO,EAAE,cAAc;QACvB,SAAS,EAAE,gBAAgB;KAC5B,CAAC;IAEF,IAAA,iBAAQ,EAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,IAAA,aAAI,EAAC,mCAAmC,EAAE,GAAG,EAAE;YAC7C,MAAM,aAAa,GAAG;;;;QAIpB,CAAC;YACH,IAAA,eAAM,EACJ,IAAA,mCAA4B,EAAC,aAAa,EAAE,WAAW,CAAC,CACzD,CAAC,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAA,aAAI,EAAC,gDAAgD,EAAE,GAAG,EAAE;YAC1D,MAAM,aAAa,GAAG;;;;QAIpB,CAAC;YACH,IAAA,eAAM,EACJ,IAAA,mCAA4B,EAAC,aAAa,EAAE,WAAW,CAAC,CACzD,CAAC,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,aAAI,CAAC,IAAI,CAAC;YACR;gBACE;;;;UAIE;aACH;YACD;gBACE;;UAEE;aACH;SACF,CAAC,CAAC,uCAAuC,EAAE,CAAC,aAAa,EAAE,EAAE;YAC5D,IAAA,eAAM,EACJ,IAAA,mCAA4B,EAAC,aAAa,EAAE,WAAW,CAAC,CACzD,CAAC,QAAQ,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,aAAI,CAAC,IAAI,CAAC;YACR;gBACE;;;;UAIE;aACH;YACD,CAAC,IAAI,CAAC;YACN;gBACE;;UAEE;aACH;SACF,CAAC,CAAC,mDAAmD,EAAE,CAAC,aAAa,EAAE,EAAE;YACxE,MAAM,MAAM,GAAG,IAAA,mCAA4B,EAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YACxE,IAAA,eAAM,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC/C,IAAI,EAAE;oBACJ,OAAO,EAAE;wBACP;4BACE,2BAA2B;4BAC3B;gCACE,GAAG,EAAE,sBAAsB;gCAC3B,YAAY,EAAE,aAAa;gCAC3B,OAAO,EAAE,cAAc;6BACxB;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe, expect, test } from 'vitest';\nimport { addWithSentryToAppConfigJson } from '../../src/react-native/expo';\nimport { RNCliSetupConfigContent } from '../../src/react-native/react-native-wizard';\n\ndescribe('expo', () => {\n const MOCK_CONFIG: RNCliSetupConfigContent = {\n url: 'https://sentry.mock/',\n org: 'sentry-mock',\n project: 'project-mock',\n authToken: 'authToken-mock',\n };\n\n describe('addWithSentryToAppConfigJson', () => {\n test('do not add if sentry-expo present', () => {\n const appConfigJson = `{\n \"expo\": {\n \"plugins\": [\"sentry-expo\"]\n }\n }`;\n expect(\n addWithSentryToAppConfigJson(appConfigJson, MOCK_CONFIG),\n ).toBeNull();\n });\n\n test('do not add if sentry-react-native/expo present', () => {\n const appConfigJson = `{\n \"expo\": {\n \"plugins\": [\"@sentry/react-native/expo\"]\n }\n }`;\n expect(\n addWithSentryToAppConfigJson(appConfigJson, MOCK_CONFIG),\n ).toBeNull();\n });\n\n test.each([\n [\n `{\n \"expo\": {\n \"plugins\": \"should be an array, but it is not\"\n }\n }`,\n ],\n [\n `{\n \"expo\": [\"should be an object, but it is not\"]\n }`,\n ],\n ])('do not add if plugins is not an array', (appConfigJson) => {\n expect(\n addWithSentryToAppConfigJson(appConfigJson, MOCK_CONFIG),\n ).toBeNull();\n });\n\n test.each([\n [\n `{\n \"expo\": {\n \"plugins\": []\n }\n }`,\n ],\n [`{}`],\n [\n `{\n \"expo\": {}\n }`,\n ],\n ])('add sentry react native expo plugin configuration', (appConfigJson) => {\n const result = addWithSentryToAppConfigJson(appConfigJson, MOCK_CONFIG);\n expect(JSON.parse(result ?? '{}')).toStrictEqual({\n expo: {\n plugins: [\n [\n '@sentry/react-native/expo',\n {\n url: 'https://sentry.mock/',\n organization: 'sentry-mock',\n project: 'project-mock',\n },\n ],\n ],\n },\n });\n });\n });\n});\n"]}
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
3
4
  const gradle_1 = require("../../src/react-native/gradle");
4
- describe('react-native gradle', () => {
5
- describe('doesAppBuildGradleIncludeSentry', () => {
6
- it('returns false for empty file', () => {
7
- expect((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)('')).toBe(false);
5
+ (0, vitest_1.describe)('react-native gradle', () => {
6
+ (0, vitest_1.describe)('doesAppBuildGradleIncludeSentry', () => {
7
+ (0, vitest_1.it)('returns false for empty file', () => {
8
+ (0, vitest_1.expect)((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)('')).toBe(false);
8
9
  });
9
- it('returns false for minimal app/build.gradle', () => {
10
+ (0, vitest_1.it)('returns false for minimal app/build.gradle', () => {
10
11
  const appBuildGradle = `apply plugin: "com.android.application"
11
12
 
12
13
  android {
@@ -24,9 +25,9 @@ android {
24
25
  }
25
26
  }
26
27
  `;
27
- expect((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)(appBuildGradle)).toBe(false);
28
+ (0, vitest_1.expect)((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)(appBuildGradle)).toBe(false);
28
29
  });
29
- it('returns false for app/build.gradle with SAGP', () => {
30
+ (0, vitest_1.it)('returns false for app/build.gradle with SAGP', () => {
30
31
  const appBuildGradle = `apply plugin: "com.android.application"
31
32
  apply plugin: "io.sentry.android.gradle"
32
33
 
@@ -48,9 +49,9 @@ android {
48
49
  }
49
50
  }
50
51
  `;
51
- expect((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)(appBuildGradle)).toBe(false);
52
+ (0, vitest_1.expect)((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)(appBuildGradle)).toBe(false);
52
53
  });
53
- it('returns true for app/build.gradle with RN SAGP', () => {
54
+ (0, vitest_1.it)('returns true for app/build.gradle with RN SAGP', () => {
54
55
  const appBuildGradle = `apply plugin: "com.android.application"
55
56
  apply plugin: "io.sentry.android.gradle"
56
57
 
@@ -74,14 +75,14 @@ android {
74
75
  }
75
76
  }
76
77
  `;
77
- expect((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)(appBuildGradle)).toBe(true);
78
+ (0, vitest_1.expect)((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)(appBuildGradle)).toBe(true);
78
79
  });
79
80
  });
80
- describe('addRNSentryGradlePlugin', () => {
81
- it('does not add nothing to empty file', () => {
82
- expect((0, gradle_1.addRNSentryGradlePlugin)('')).toBe('');
81
+ (0, vitest_1.describe)('addRNSentryGradlePlugin', () => {
82
+ (0, vitest_1.it)('does not add nothing to empty file', () => {
83
+ (0, vitest_1.expect)((0, gradle_1.addRNSentryGradlePlugin)('')).toBe('');
83
84
  });
84
- it('does add RN SAGP', () => {
85
+ (0, vitest_1.it)('does add RN SAGP', () => {
85
86
  const input = `apply plugin: "com.android.application"
86
87
 
87
88
  android {
@@ -117,9 +118,9 @@ android {
117
118
  }
118
119
  }
119
120
  `;
120
- expect((0, gradle_1.addRNSentryGradlePlugin)(input)).toBe(expectedOutput);
121
+ (0, vitest_1.expect)((0, gradle_1.addRNSentryGradlePlugin)(input)).toBe(expectedOutput);
121
122
  });
122
- it('does add RN SAGP to build gradle with SAGP', () => {
123
+ (0, vitest_1.it)('does add RN SAGP to build gradle with SAGP', () => {
123
124
  const input = `apply plugin: "com.android.application"
124
125
  apply plugin: "io.sentry.android.gradle"
125
126
 
@@ -163,14 +164,14 @@ android {
163
164
  }
164
165
  }
165
166
  `;
166
- expect((0, gradle_1.addRNSentryGradlePlugin)(input)).toBe(expectedOutput);
167
+ (0, vitest_1.expect)((0, gradle_1.addRNSentryGradlePlugin)(input)).toBe(expectedOutput);
167
168
  });
168
169
  });
169
- describe('removeRNSentryGradlePlugin', () => {
170
- it('does not add nothing to empty file', () => {
171
- expect((0, gradle_1.removeRNSentryGradlePlugin)('')).toBe('');
170
+ (0, vitest_1.describe)('removeRNSentryGradlePlugin', () => {
171
+ (0, vitest_1.it)('does not add nothing to empty file', () => {
172
+ (0, vitest_1.expect)((0, gradle_1.removeRNSentryGradlePlugin)('')).toBe('');
172
173
  });
173
- it('does not change build gradle without RN SAGP', () => {
174
+ (0, vitest_1.it)('does not change build gradle without RN SAGP', () => {
174
175
  const input = `apply plugin: "com.android.application"
175
176
  apply plugin: "io.sentry.android.gradle"
176
177
 
@@ -192,9 +193,9 @@ android {
192
193
  }
193
194
  }
194
195
  `;
195
- expect((0, gradle_1.removeRNSentryGradlePlugin)(input)).toBe(input);
196
+ (0, vitest_1.expect)((0, gradle_1.removeRNSentryGradlePlugin)(input)).toBe(input);
196
197
  });
197
- it('does remove RN SAGP referenced by node resolved path', () => {
198
+ (0, vitest_1.it)('does remove RN SAGP referenced by node resolved path', () => {
198
199
  const input = `apply plugin: "com.android.application"
199
200
  apply plugin: "io.sentry.android.gradle"
200
201
 
@@ -237,9 +238,9 @@ android {
237
238
  }
238
239
  }
239
240
  `;
240
- expect((0, gradle_1.removeRNSentryGradlePlugin)(input)).toBe(output);
241
+ (0, vitest_1.expect)((0, gradle_1.removeRNSentryGradlePlugin)(input)).toBe(output);
241
242
  });
242
- it('does remove RN SAGP reference by relative path', () => {
243
+ (0, vitest_1.it)('does remove RN SAGP reference by relative path', () => {
243
244
  const input = `apply plugin: "com.android.application"
244
245
  apply plugin: "io.sentry.android.gradle"
245
246
 
@@ -282,7 +283,7 @@ android {
282
283
  }
283
284
  }
284
285
  `;
285
- expect((0, gradle_1.removeRNSentryGradlePlugin)(input)).toBe(output);
286
+ (0, vitest_1.expect)((0, gradle_1.removeRNSentryGradlePlugin)(input)).toBe(output);
286
287
  });
287
288
  });
288
289
  });
@@ -1 +1 @@
1
- {"version":3,"file":"gradle.test.js","sourceRoot":"","sources":["../../../test/react-native/gradle.test.ts"],"names":[],"mappings":";;AAAA,0DAIuC;AAEvC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,IAAA,sDAA6C,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;CAgB5B,CAAC;YACI,MAAM,CACJ,IAAA,sDAA6C,EAAC,cAAc,CAAC,CAC9D,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;CAoB5B,CAAC;YACI,MAAM,CACJ,IAAA,sDAA6C,EAAC,cAAc,CAAC,CAC9D,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsB5B,CAAC;YACI,MAAM,CACJ,IAAA,sDAA6C,EAAC,cAAc,CAAC,CAC9D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,CAAC,IAAA,gCAAuB,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC1B,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;CAgBnB,CAAC;YACI,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;CAiB5B,CAAC;YACI,MAAM,CAAC,IAAA,gCAAuB,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;CAoBnB,CAAC;YACI,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;CAqB5B,CAAC;YACI,MAAM,CAAC,IAAA,gCAAuB,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,CAAC,IAAA,mCAA0B,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;CAoBnB,CAAC;YAEI,MAAM,CAAC,IAAA,mCAA0B,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBnB,CAAC;YACI,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;CAmBpB,CAAC;YAEI,MAAM,CAAC,IAAA,mCAA0B,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBnB,CAAC;YACI,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;CAmBpB,CAAC;YAEI,MAAM,CAAC,IAAA,mCAA0B,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import {\n addRNSentryGradlePlugin,\n doesAppBuildGradleIncludeRNSentryGradlePlugin,\n removeRNSentryGradlePlugin,\n} from '../../src/react-native/gradle';\n\ndescribe('react-native gradle', () => {\n describe('doesAppBuildGradleIncludeSentry', () => {\n it('returns false for empty file', () => {\n expect(doesAppBuildGradleIncludeRNSentryGradlePlugin('')).toBe(false);\n });\n\n it('returns false for minimal app/build.gradle', () => {\n const appBuildGradle = `apply plugin: \"com.android.application\"\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n expect(\n doesAppBuildGradleIncludeRNSentryGradlePlugin(appBuildGradle),\n ).toBe(false);\n });\n\n it('returns false for app/build.gradle with SAGP', () => {\n const appBuildGradle = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n expect(\n doesAppBuildGradleIncludeRNSentryGradlePlugin(appBuildGradle),\n ).toBe(false);\n });\n\n it('returns true for app/build.gradle with RN SAGP', () => {\n const appBuildGradle = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\napply from: new File([\"node\", \"--print\", \"require.resolve('@sentry/react-native/package.json')\"].execute().text.trim(), \"../sentry.gradle\")\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n expect(\n doesAppBuildGradleIncludeRNSentryGradlePlugin(appBuildGradle),\n ).toBe(true);\n });\n });\n\n describe('addRNSentryGradlePlugin', () => {\n it('does not add nothing to empty file', () => {\n expect(addRNSentryGradlePlugin('')).toBe('');\n });\n\n it('does add RN SAGP', () => {\n const input = `apply plugin: \"com.android.application\"\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n const expectedOutput = `apply plugin: \"com.android.application\"\n\napply from: new File([\"node\", \"--print\", \"require.resolve('@sentry/react-native/package.json')\"].execute().text.trim(), \"../sentry.gradle\")\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n expect(addRNSentryGradlePlugin(input)).toBe(expectedOutput);\n });\n\n it('does add RN SAGP to build gradle with SAGP', () => {\n const input = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n const expectedOutput = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\napply from: new File([\"node\", \"--print\", \"require.resolve('@sentry/react-native/package.json')\"].execute().text.trim(), \"../sentry.gradle\")\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n expect(addRNSentryGradlePlugin(input)).toBe(expectedOutput);\n });\n });\n\n describe('removeRNSentryGradlePlugin', () => {\n it('does not add nothing to empty file', () => {\n expect(removeRNSentryGradlePlugin('')).toBe('');\n });\n\n it('does not change build gradle without RN SAGP', () => {\n const input = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n\n expect(removeRNSentryGradlePlugin(input)).toBe(input);\n });\n\n it('does remove RN SAGP referenced by node resolved path', () => {\n const input = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\napply from: new File([\"node\", \"--print\", \"require.resolve('@sentry/react-native/package.json')\"].execute().text.trim(), \"../sentry.gradle\")\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n const output = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n\n expect(removeRNSentryGradlePlugin(input)).toBe(output);\n });\n\n it('does remove RN SAGP reference by relative path', () => {\n const input = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\napply from: \"../../node_modules/@sentry/react-native/sentry.gradle\"\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n const output = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n\n expect(removeRNSentryGradlePlugin(input)).toBe(output);\n });\n });\n});\n"]}
1
+ {"version":3,"file":"gradle.test.js","sourceRoot":"","sources":["../../../test/react-native/gradle.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, expect, it } from 'vitest';\nimport {\n addRNSentryGradlePlugin,\n doesAppBuildGradleIncludeRNSentryGradlePlugin,\n removeRNSentryGradlePlugin,\n} from '../../src/react-native/gradle';\n\ndescribe('react-native gradle', () => {\n describe('doesAppBuildGradleIncludeSentry', () => {\n it('returns false for empty file', () => {\n expect(doesAppBuildGradleIncludeRNSentryGradlePlugin('')).toBe(false);\n });\n\n it('returns false for minimal app/build.gradle', () => {\n const appBuildGradle = `apply plugin: \"com.android.application\"\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n expect(\n doesAppBuildGradleIncludeRNSentryGradlePlugin(appBuildGradle),\n ).toBe(false);\n });\n\n it('returns false for app/build.gradle with SAGP', () => {\n const appBuildGradle = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n expect(\n doesAppBuildGradleIncludeRNSentryGradlePlugin(appBuildGradle),\n ).toBe(false);\n });\n\n it('returns true for app/build.gradle with RN SAGP', () => {\n const appBuildGradle = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\napply from: new File([\"node\", \"--print\", \"require.resolve('@sentry/react-native/package.json')\"].execute().text.trim(), \"../sentry.gradle\")\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n expect(\n doesAppBuildGradleIncludeRNSentryGradlePlugin(appBuildGradle),\n ).toBe(true);\n });\n });\n\n describe('addRNSentryGradlePlugin', () => {\n it('does not add nothing to empty file', () => {\n expect(addRNSentryGradlePlugin('')).toBe('');\n });\n\n it('does add RN SAGP', () => {\n const input = `apply plugin: \"com.android.application\"\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n const expectedOutput = `apply plugin: \"com.android.application\"\n\napply from: new File([\"node\", \"--print\", \"require.resolve('@sentry/react-native/package.json')\"].execute().text.trim(), \"../sentry.gradle\")\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n expect(addRNSentryGradlePlugin(input)).toBe(expectedOutput);\n });\n\n it('does add RN SAGP to build gradle with SAGP', () => {\n const input = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n const expectedOutput = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\napply from: new File([\"node\", \"--print\", \"require.resolve('@sentry/react-native/package.json')\"].execute().text.trim(), \"../sentry.gradle\")\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n expect(addRNSentryGradlePlugin(input)).toBe(expectedOutput);\n });\n });\n\n describe('removeRNSentryGradlePlugin', () => {\n it('does not add nothing to empty file', () => {\n expect(removeRNSentryGradlePlugin('')).toBe('');\n });\n\n it('does not change build gradle without RN SAGP', () => {\n const input = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n\n expect(removeRNSentryGradlePlugin(input)).toBe(input);\n });\n\n it('does remove RN SAGP referenced by node resolved path', () => {\n const input = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\napply from: new File([\"node\", \"--print\", \"require.resolve('@sentry/react-native/package.json')\"].execute().text.trim(), \"../sentry.gradle\")\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n const output = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n\n expect(removeRNSentryGradlePlugin(input)).toBe(output);\n });\n\n it('does remove RN SAGP reference by relative path', () => {\n const input = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\n\napply from: \"../../node_modules/@sentry/react-native/sentry.gradle\"\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n const output = `apply plugin: \"com.android.application\"\napply plugin: \"io.sentry.android.gradle\"\n\nsentry {\n}\nandroid {\n ndkVersion rootProject.ext.ndkVersion\n\n compileSdkVersion rootProject.ext.compileSdkVersion\n\n namespace \"com.samplenewarchitecture\"\n defaultConfig {\n applicationId \"com.samplenewarchitecture\"\n minSdkVersion rootProject.ext.minSdkVersion\n targetSdkVersion rootProject.ext.targetSdkVersion\n versionCode 1\n versionName \"1.0\"\n }\n}\n`;\n\n expect(removeRNSentryGradlePlugin(input)).toBe(output);\n });\n });\n});\n"]}
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const javascript_1 = require("../../src/react-native/javascript");
4
4
  // @ts-expect-error - magicast is ESM and TS complains about that. It works though
5
5
  const magicast_1 = require("magicast");
6
- describe('react-native javascript', () => {
7
- describe('addSentryInitWithSdkImport', () => {
8
- it('adds sdk import and sentry init under last import in the file', () => {
6
+ const vitest_1 = require("vitest");
7
+ (0, vitest_1.describe)('react-native javascript', () => {
8
+ (0, vitest_1.describe)('addSentryInitWithSdkImport', () => {
9
+ (0, vitest_1.it)('adds sdk import and sentry init under last import in the file', () => {
9
10
  const input = `import * as React from 'react';
10
11
 
11
12
  const test = 'test';
@@ -44,19 +45,68 @@ const App = () => {
44
45
  };
45
46
 
46
47
  export default App;`;
47
- expect((0, javascript_1.addSentryInitWithSdkImport)(input, { dsn: 'dsn' })).toBe(expectedOutput);
48
+ (0, vitest_1.expect)((0, javascript_1.addSentryInitWithSdkImport)(input, { dsn: 'dsn' })).toBe(expectedOutput);
48
49
  });
49
- it('does not add sdk import and sentry init in the file without imports', () => {
50
+ (0, vitest_1.it)('adds sdk import and sentry init under last import in the file and enables session replay', () => {
51
+ const input = `import * as React from 'react';
52
+
53
+ const test = 'test';
54
+
55
+ import { View } from 'react-native';
56
+
57
+ const App = () => {
58
+ return (
59
+ <View>
60
+ Test App
61
+ </View>
62
+ );
63
+ };
64
+
65
+ export default App;`;
66
+ const expectedOutput = `import * as React from 'react';
67
+
68
+ const test = 'test';
69
+
70
+ import { View } from 'react-native';
71
+ import * as Sentry from '@sentry/react-native';
72
+
73
+ Sentry.init({
74
+ dsn: 'dsn',
75
+
76
+ // Configure Session Replay
77
+ replaysSessionSampleRate: 0.1,
78
+ replaysOnErrorSampleRate: 1,
79
+ integrations: [Sentry.mobileReplayIntegration()],
80
+
81
+ // uncomment the line below to enable Spotlight (https://spotlightjs.com)
82
+ // spotlight: __DEV__,
83
+ });
84
+
85
+ const App = () => {
86
+ return (
87
+ <View>
88
+ Test App
89
+ </View>
90
+ );
91
+ };
92
+
93
+ export default App;`;
94
+ (0, vitest_1.expect)((0, javascript_1.addSentryInitWithSdkImport)(input, {
95
+ dsn: 'dsn',
96
+ enableSessionReplay: true,
97
+ })).toBe(expectedOutput);
98
+ });
99
+ (0, vitest_1.it)('does not add sdk import and sentry init in the file without imports', () => {
50
100
  const input = `export const test = 'test';`;
51
- expect((0, javascript_1.addSentryInitWithSdkImport)(input, { dsn: 'dsn' })).toBe(input);
101
+ (0, vitest_1.expect)((0, javascript_1.addSentryInitWithSdkImport)(input, { dsn: 'dsn' })).toBe(input);
52
102
  });
53
- it('does not add sdk import and sentry init in the empty file', () => {
103
+ (0, vitest_1.it)('does not add sdk import and sentry init in the empty file', () => {
54
104
  const input = '';
55
- expect((0, javascript_1.addSentryInitWithSdkImport)(input, { dsn: 'dsn' })).toBe(input);
105
+ (0, vitest_1.expect)((0, javascript_1.addSentryInitWithSdkImport)(input, { dsn: 'dsn' })).toBe(input);
56
106
  });
57
107
  });
58
- describe('doesJsCodeIncludeSdkSentryImport', () => {
59
- it('returns true if code has sdk import', () => {
108
+ (0, vitest_1.describe)('doesJsCodeIncludeSdkSentryImport', () => {
109
+ (0, vitest_1.it)('returns true if code has sdk import', () => {
60
110
  const input = `import * as React from 'react';
61
111
 
62
112
  const test = 'test';
@@ -73,11 +123,11 @@ const App = () => {
73
123
  };
74
124
 
75
125
  export default App;`;
76
- expect((0, javascript_1.doesJsCodeIncludeSdkSentryImport)(input, {
126
+ (0, vitest_1.expect)((0, javascript_1.doesJsCodeIncludeSdkSentryImport)(input, {
77
127
  sdkPackageName: '@sentry/react-native',
78
128
  })).toBe(true);
79
129
  });
80
- it('returns true if code has sdk require', () => {
130
+ (0, vitest_1.it)('returns true if code has sdk require', () => {
81
131
  const input = `import * as React from 'react';
82
132
 
83
133
  const test = 'test';
@@ -94,25 +144,25 @@ const App = () => {
94
144
  };
95
145
 
96
146
  export default App;`;
97
- expect((0, javascript_1.doesJsCodeIncludeSdkSentryImport)(input, {
147
+ (0, vitest_1.expect)((0, javascript_1.doesJsCodeIncludeSdkSentryImport)(input, {
98
148
  sdkPackageName: '@sentry/react-native',
99
149
  })).toBe(true);
100
150
  });
101
- it('returns false if code does not have sdk import', () => {
151
+ (0, vitest_1.it)('returns false if code does not have sdk import', () => {
102
152
  const input = `export const test = 'test';`;
103
- expect((0, javascript_1.doesJsCodeIncludeSdkSentryImport)(input, {
153
+ (0, vitest_1.expect)((0, javascript_1.doesJsCodeIncludeSdkSentryImport)(input, {
104
154
  sdkPackageName: '@sentry/react-native',
105
155
  })).toBe(false);
106
156
  });
107
- it('returns false for empty file', () => {
157
+ (0, vitest_1.it)('returns false for empty file', () => {
108
158
  const input = '';
109
- expect((0, javascript_1.doesJsCodeIncludeSdkSentryImport)(input, {
159
+ (0, vitest_1.expect)((0, javascript_1.doesJsCodeIncludeSdkSentryImport)(input, {
110
160
  sdkPackageName: '@sentry/react-native',
111
161
  })).toBe(false);
112
162
  });
113
163
  });
114
- describe('addSentryWrap', () => {
115
- it('wraps the root app component', () => {
164
+ (0, vitest_1.describe)('addSentryWrap', () => {
165
+ (0, vitest_1.it)('wraps the root app component', () => {
116
166
  const mod = (0, magicast_1.parseModule)(`import * as React from 'react';
117
167
  import * as Sentry from '@sentry/react-native';
118
168
 
@@ -142,10 +192,10 @@ const App = () => {
142
192
 
143
193
  export default Sentry.wrap(App);`;
144
194
  const result = (0, javascript_1.checkAndWrapRootComponent)(mod);
145
- expect(result).toBe(javascript_1.SentryWrapResult.Success);
146
- expect((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
195
+ (0, vitest_1.expect)(result).toBe(javascript_1.SentryWrapResult.Success);
196
+ (0, vitest_1.expect)((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
147
197
  });
148
- it('wraps a wrapped root app component', () => {
198
+ (0, vitest_1.it)('wraps a wrapped root app component', () => {
149
199
  const mod = (0, magicast_1.parseModule)(`import * as React from 'react';
150
200
  import * as Sentry from '@sentry/react-native';
151
201
 
@@ -175,10 +225,10 @@ const App = () => {
175
225
 
176
226
  export default Sentry.wrap(AnotheWrapper.wrap(App));`;
177
227
  const result = (0, javascript_1.checkAndWrapRootComponent)(mod);
178
- expect(result).toBe(javascript_1.SentryWrapResult.Success);
179
- expect((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
228
+ (0, vitest_1.expect)(result).toBe(javascript_1.SentryWrapResult.Success);
229
+ (0, vitest_1.expect)((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
180
230
  });
181
- it('wraps a root app named function', () => {
231
+ (0, vitest_1.it)('wraps a root app named function', () => {
182
232
  const mod = (0, magicast_1.parseModule)(`import * as Sentry from '@sentry/react-native';
183
233
 
184
234
  export default function RootLayout() {
@@ -198,10 +248,10 @@ export default Sentry.wrap(function RootLayout() {
198
248
  );
199
249
  });`;
200
250
  const result = (0, javascript_1.checkAndWrapRootComponent)(mod);
201
- expect(result).toBe(javascript_1.SentryWrapResult.Success);
202
- expect((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
251
+ (0, vitest_1.expect)(result).toBe(javascript_1.SentryWrapResult.Success);
252
+ (0, vitest_1.expect)((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
203
253
  });
204
- it('wraps a wrapped root app named function', () => {
254
+ (0, vitest_1.it)('wraps a wrapped root app named function', () => {
205
255
  const mod = (0, magicast_1.parseModule)(`import * as Sentry from '@sentry/react-native';
206
256
 
207
257
  export default Another.wrapper(function RootLayout() {
@@ -221,10 +271,10 @@ export default Sentry.wrap(Another.wrapper(function RootLayout() {
221
271
  );
222
272
  }));`;
223
273
  const result = (0, javascript_1.checkAndWrapRootComponent)(mod);
224
- expect(result).toBe(javascript_1.SentryWrapResult.Success);
225
- expect((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
274
+ (0, vitest_1.expect)(result).toBe(javascript_1.SentryWrapResult.Success);
275
+ (0, vitest_1.expect)((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
226
276
  });
227
- it('wraps a root app anonymous function', () => {
277
+ (0, vitest_1.it)('wraps a root app anonymous function', () => {
228
278
  const mod = (0, magicast_1.parseModule)(`import * as Sentry from '@sentry/react-native';
229
279
 
230
280
  export default () => {
@@ -244,10 +294,10 @@ export default Sentry.wrap(() => {
244
294
  );
245
295
  });`;
246
296
  const result = (0, javascript_1.checkAndWrapRootComponent)(mod);
247
- expect(result).toBe(javascript_1.SentryWrapResult.Success);
248
- expect((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
297
+ (0, vitest_1.expect)(result).toBe(javascript_1.SentryWrapResult.Success);
298
+ (0, vitest_1.expect)((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
249
299
  });
250
- it('wraps a wrapped root app anonymous function', () => {
300
+ (0, vitest_1.it)('wraps a wrapped root app anonymous function', () => {
251
301
  const mod = (0, magicast_1.parseModule)(`import * as Sentry from '@sentry/react-native';
252
302
 
253
303
  export default Another.wrap(() => {
@@ -267,10 +317,10 @@ export default Sentry.wrap(Another.wrap(() => {
267
317
  );
268
318
  }));`;
269
319
  const result = (0, javascript_1.checkAndWrapRootComponent)(mod);
270
- expect(result).toBe(javascript_1.SentryWrapResult.Success);
271
- expect((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
320
+ (0, vitest_1.expect)(result).toBe(javascript_1.SentryWrapResult.Success);
321
+ (0, vitest_1.expect)((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
272
322
  });
273
- it('wraps a complex root function', () => {
323
+ (0, vitest_1.it)('wraps a complex root function', () => {
274
324
  // This is the default export for a new Expo 52 project
275
325
  const mod = (0, magicast_1.parseModule)(`import { DarkTheme, DefaultTheme, ThemeProvider } from '@react-navigation/native';
276
326
  import { useFonts } from 'expo-font';
@@ -368,10 +418,10 @@ export default Sentry.wrap(function RootLayout() {
368
418
  );
369
419
  });`;
370
420
  const result = (0, javascript_1.checkAndWrapRootComponent)(mod);
371
- expect(result).toBe(javascript_1.SentryWrapResult.Success);
372
- expect((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
421
+ (0, vitest_1.expect)(result).toBe(javascript_1.SentryWrapResult.Success);
422
+ (0, vitest_1.expect)((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
373
423
  });
374
- it('wraps a root app anonymous complex function', () => {
424
+ (0, vitest_1.it)('wraps a root app anonymous complex function', () => {
375
425
  const mod = (0, magicast_1.parseModule)(`import * as Sentry from '@sentry/react-native';
376
426
 
377
427
  export default () => {
@@ -429,10 +479,10 @@ export default Sentry.wrap(() => {
429
479
  );
430
480
  });`;
431
481
  const result = (0, javascript_1.checkAndWrapRootComponent)(mod);
432
- expect(result).toBe(javascript_1.SentryWrapResult.Success);
433
- expect((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
482
+ (0, vitest_1.expect)(result).toBe(javascript_1.SentryWrapResult.Success);
483
+ (0, vitest_1.expect)((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
434
484
  });
435
- it('wraps a default class export', () => {
485
+ (0, vitest_1.it)('wraps a default class export', () => {
436
486
  const mod = (0, magicast_1.parseModule)(`import * as Sentry from '@sentry/react-native';
437
487
 
438
488
  export default class RootLayout extends React.Component {
@@ -456,10 +506,10 @@ export default Sentry.wrap(class RootLayout extends React.Component {
456
506
  }
457
507
  });`;
458
508
  const result = (0, javascript_1.checkAndWrapRootComponent)(mod);
459
- expect(result).toBe(javascript_1.SentryWrapResult.Success);
460
- expect((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
509
+ (0, vitest_1.expect)(result).toBe(javascript_1.SentryWrapResult.Success);
510
+ (0, vitest_1.expect)((0, magicast_1.generateCode)(mod.$ast).code).toBe(expectedOutput);
461
511
  });
462
- it('does not wrap a root app component if not found', () => {
512
+ (0, vitest_1.it)('does not wrap a root app component if not found', () => {
463
513
  const input = `import * as React from 'react';
464
514
 
465
515
  import { View } from 'react-native';
@@ -475,10 +525,10 @@ const App = () => {
475
525
  export { App };`;
476
526
  const mod = (0, magicast_1.parseModule)(input);
477
527
  const result = (0, javascript_1.checkAndWrapRootComponent)(mod);
478
- expect(result).toBe(javascript_1.SentryWrapResult.NotFound);
479
- expect((0, magicast_1.generateCode)(mod.$ast).code).toBe(input);
528
+ (0, vitest_1.expect)(result).toBe(javascript_1.SentryWrapResult.NotFound);
529
+ (0, vitest_1.expect)((0, magicast_1.generateCode)(mod.$ast).code).toBe(input);
480
530
  });
481
- it('does not wrap a root app component if already wrapped', () => {
531
+ (0, vitest_1.it)('does not wrap a root app component if already wrapped', () => {
482
532
  const input = `import * as React from 'react';
483
533
  import * as Sentry from '@sentry/react-native';
484
534
 
@@ -495,25 +545,25 @@ const App = () => {
495
545
  export default Sentry.wrap(App);`;
496
546
  const mod = (0, magicast_1.parseModule)(input);
497
547
  const result = (0, javascript_1.checkAndWrapRootComponent)(mod);
498
- expect(result).toBe(javascript_1.SentryWrapResult.AlreadyWrapped);
499
- expect((0, magicast_1.generateCode)(mod.$ast).code).toBe(input);
548
+ (0, vitest_1.expect)(result).toBe(javascript_1.SentryWrapResult.AlreadyWrapped);
549
+ (0, vitest_1.expect)((0, magicast_1.generateCode)(mod.$ast).code).toBe(input);
500
550
  });
501
- it('does not wrap the root app component in an empty file', () => {
551
+ (0, vitest_1.it)('does not wrap the root app component in an empty file', () => {
502
552
  const mod = (0, magicast_1.parseModule)(``);
503
553
  const result = (0, javascript_1.checkAndWrapRootComponent)(mod);
504
- expect(result).toBe(javascript_1.SentryWrapResult.NotFound);
505
- expect((0, magicast_1.generateCode)(mod.$ast).code).toBe(``);
554
+ (0, vitest_1.expect)(result).toBe(javascript_1.SentryWrapResult.NotFound);
555
+ (0, vitest_1.expect)((0, magicast_1.generateCode)(mod.$ast).code).toBe(``);
506
556
  });
507
557
  });
508
- it('does detect Sentry.wrap if exists', () => {
558
+ (0, vitest_1.it)('does detect Sentry.wrap if exists', () => {
509
559
  const mod = (0, magicast_1.parseModule)(`export default Sentry.wrap(App);`);
510
560
  const result = (0, javascript_1.doesContainSentryWrap)(mod.$ast);
511
- expect(result).toBeTruthy();
561
+ (0, vitest_1.expect)(result).toBeTruthy();
512
562
  });
513
- it('does not detect Sentry.wrap if not present', () => {
563
+ (0, vitest_1.it)('does not detect Sentry.wrap if not present', () => {
514
564
  const mod = (0, magicast_1.parseModule)(`export default App;`);
515
565
  const result = (0, javascript_1.doesContainSentryWrap)(mod.$ast);
516
- expect(result).toBeFalsy();
566
+ (0, vitest_1.expect)(result).toBeFalsy();
517
567
  });
518
568
  });
519
569
  //# sourceMappingURL=javascript.test.js.map