@sanity/cli 6.0.0-alpha.5 → 6.0.0-alpha.7

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 (527) hide show
  1. package/README.md +2907 -109
  2. package/dist/actions/dataset/create.d.ts +49 -0
  3. package/dist/actions/dataset/create.js +48 -0
  4. package/dist/actions/dataset/create.js.map +1 -0
  5. package/dist/actions/dataset/determineDatasetAclMode.d.ts +37 -0
  6. package/dist/actions/dataset/determineDatasetAclMode.js +36 -0
  7. package/dist/actions/dataset/determineDatasetAclMode.js.map +1 -0
  8. package/dist/actions/debug/gatherDebugInfo.js +15 -21
  9. package/dist/actions/debug/gatherDebugInfo.js.map +1 -1
  10. package/dist/actions/debug/types.d.ts +0 -2
  11. package/dist/actions/debug/types.js.map +1 -1
  12. package/dist/actions/deploy/deployApp.js +13 -0
  13. package/dist/actions/deploy/deployApp.js.map +1 -1
  14. package/dist/actions/init/remoteTemplate.js +1 -1
  15. package/dist/actions/init/remoteTemplate.js.map +1 -1
  16. package/dist/actions/manifest/extractAppManifest.d.ts +20 -0
  17. package/dist/actions/manifest/extractAppManifest.js +51 -0
  18. package/dist/actions/manifest/extractAppManifest.js.map +1 -0
  19. package/dist/actions/manifest/extractManifest.js +1 -1
  20. package/dist/actions/manifest/extractManifest.js.map +1 -1
  21. package/dist/actions/manifest/types.d.ts +6 -1
  22. package/dist/actions/manifest/types.js.map +1 -1
  23. package/dist/actions/media/importAspects.js +2 -1
  24. package/dist/actions/media/importAspects.js.map +1 -1
  25. package/dist/actions/schema/utils/uniqByProjectIdDataset.d.ts +1 -1
  26. package/dist/actions/telemetry/resolveConsent.d.ts +1 -9
  27. package/dist/actions/telemetry/resolveConsent.js +2 -2
  28. package/dist/actions/telemetry/resolveConsent.js.map +1 -1
  29. package/dist/actions/telemetry/setConsent.d.ts +1 -4
  30. package/dist/actions/telemetry/setConsent.js +4 -8
  31. package/dist/actions/telemetry/setConsent.js.map +1 -1
  32. package/dist/commands/dataset/create.d.ts +0 -2
  33. package/dist/commands/dataset/create.js +8 -54
  34. package/dist/commands/dataset/create.js.map +1 -1
  35. package/dist/commands/debug.js +5 -9
  36. package/dist/commands/debug.js.map +1 -1
  37. package/dist/commands/init.d.ts +6 -1
  38. package/dist/commands/init.js +358 -20
  39. package/dist/commands/init.js.map +1 -1
  40. package/dist/commands/manifest/extract.js +7 -8
  41. package/dist/commands/manifest/extract.js.map +1 -1
  42. package/dist/commands/telemetry/disable.js +0 -1
  43. package/dist/commands/telemetry/disable.js.map +1 -1
  44. package/dist/commands/telemetry/enable.js +0 -1
  45. package/dist/commands/telemetry/enable.js.map +1 -1
  46. package/dist/commands/telemetry/status.js +1 -3
  47. package/dist/commands/telemetry/status.js.map +1 -1
  48. package/dist/config/createCliConfig.d.ts +9 -0
  49. package/dist/hooks/prerun/flushTelemetry.worker.d.ts +2 -0
  50. package/dist/hooks/prerun/flushTelemetry.worker.js +22 -0
  51. package/dist/hooks/prerun/flushTelemetry.worker.js.map +1 -0
  52. package/dist/hooks/prerun/setupTelemetry.js +65 -1
  53. package/dist/hooks/prerun/setupTelemetry.js.map +1 -1
  54. package/dist/prompts/init/promptForTypescript.d.ts +2 -0
  55. package/dist/prompts/init/promptForTypescript.js +15 -0
  56. package/dist/prompts/init/promptForTypescript.js.map +1 -0
  57. package/dist/prompts/promptForDatasetAclMode.d.ts +9 -0
  58. package/dist/prompts/promptForDatasetAclMode.js +27 -0
  59. package/dist/prompts/promptForDatasetAclMode.js.map +1 -0
  60. package/dist/prompts/promptForDatasetName.d.ts +1 -1
  61. package/dist/prompts/promptForDatasetName.js +4 -1
  62. package/dist/prompts/promptForDatasetName.js.map +1 -1
  63. package/dist/services/organizations.d.ts +3 -1
  64. package/dist/services/organizations.js +2 -1
  65. package/dist/services/organizations.js.map +1 -1
  66. package/dist/services/telemetry.d.ts +2 -0
  67. package/dist/services/telemetry.js +20 -0
  68. package/dist/services/telemetry.js.map +1 -0
  69. package/dist/services/user.d.ts +5 -0
  70. package/dist/services/user.js +12 -1
  71. package/dist/services/user.js.map +1 -1
  72. package/dist/services/userApplications.d.ts +3 -1
  73. package/dist/services/userApplications.js +5 -1
  74. package/dist/services/userApplications.js.map +1 -1
  75. package/dist/telemetry/cli.telemetry.d.ts +20 -0
  76. package/dist/telemetry/cli.telemetry.js +8 -0
  77. package/dist/telemetry/cli.telemetry.js.map +1 -0
  78. package/dist/telemetry/store/cleanupOldTelemetryFiles.d.ts +5 -0
  79. package/dist/telemetry/store/cleanupOldTelemetryFiles.js +30 -0
  80. package/dist/telemetry/store/cleanupOldTelemetryFiles.js.map +1 -0
  81. package/dist/telemetry/store/createTelemetryStore.d.ts +39 -0
  82. package/dist/telemetry/store/createTelemetryStore.js +95 -0
  83. package/dist/telemetry/store/createTelemetryStore.js.map +1 -0
  84. package/dist/telemetry/store/createTraceId.d.ts +10 -0
  85. package/dist/telemetry/store/createTraceId.js +10 -0
  86. package/dist/telemetry/store/createTraceId.js.map +1 -0
  87. package/dist/telemetry/store/debug.d.ts +5 -0
  88. package/dist/telemetry/store/debug.js +7 -0
  89. package/dist/telemetry/store/debug.js.map +1 -0
  90. package/dist/telemetry/store/findTelemetryFiles.d.ts +13 -0
  91. package/dist/telemetry/store/findTelemetryFiles.js +34 -0
  92. package/dist/telemetry/store/findTelemetryFiles.js.map +1 -0
  93. package/dist/telemetry/store/flushTelemetryFiles.d.ts +20 -0
  94. package/dist/telemetry/store/flushTelemetryFiles.js +107 -0
  95. package/dist/telemetry/store/flushTelemetryFiles.js.map +1 -0
  96. package/dist/telemetry/store/generateTelemetryFilePath.d.ts +17 -0
  97. package/dist/telemetry/store/generateTelemetryFilePath.js +30 -0
  98. package/dist/telemetry/store/generateTelemetryFilePath.js.map +1 -0
  99. package/dist/telemetry/store/getTelemetryBaseInfo.d.ts +27 -0
  100. package/dist/telemetry/store/getTelemetryBaseInfo.js +34 -0
  101. package/dist/telemetry/store/getTelemetryBaseInfo.js.map +1 -0
  102. package/dist/telemetry/store/logger.d.ts +6 -0
  103. package/dist/telemetry/store/logger.js +54 -0
  104. package/dist/telemetry/store/logger.js.map +1 -0
  105. package/dist/telemetry/store/trace.d.ts +6 -0
  106. package/dist/telemetry/store/trace.js +150 -0
  107. package/dist/telemetry/store/trace.js.map +1 -0
  108. package/dist/telemetry/utils/readNDJSON.d.ts +10 -0
  109. package/dist/telemetry/utils/readNDJSON.js +18 -0
  110. package/dist/telemetry/utils/readNDJSON.js.map +1 -0
  111. package/dist/util/detectRuntime.d.ts +8 -0
  112. package/dist/util/detectRuntime.js +20 -0
  113. package/dist/util/detectRuntime.js.map +1 -0
  114. package/dist/util/isStaging.d.ts +7 -0
  115. package/dist/util/isStaging.js +10 -0
  116. package/dist/util/isStaging.js.map +1 -0
  117. package/dist/util/parseArguments.d.ts +35 -0
  118. package/dist/util/parseArguments.js +42 -0
  119. package/dist/util/parseArguments.js.map +1 -0
  120. package/oclif.manifest.json +7 -1
  121. package/package.json +25 -18
  122. package/templates/app-quickstart/src/App.css +20 -0
  123. package/templates/app-quickstart/src/App.tsx +25 -0
  124. package/templates/app-quickstart/src/ExampleComponent.css +90 -0
  125. package/templates/app-quickstart/src/ExampleComponent.tsx +37 -0
  126. package/templates/app-sanity-ui/src/App.tsx +34 -0
  127. package/templates/app-sanity-ui/src/ExampleComponent.tsx +34 -0
  128. package/templates/app-sanity-ui/src/SanityUI.tsx +23 -0
  129. package/templates/blog/README.md +11 -0
  130. package/templates/blog/schemaTypes/author.js +50 -0
  131. package/templates/blog/schemaTypes/blockContent.js +67 -0
  132. package/templates/blog/schemaTypes/category.js +19 -0
  133. package/templates/blog/schemaTypes/index.js +6 -0
  134. package/templates/blog/schemaTypes/post.js +65 -0
  135. package/templates/blog/static/.gitkeep +1 -0
  136. package/templates/clean/README.md +9 -0
  137. package/templates/clean/schemaTypes/index.js +1 -0
  138. package/templates/clean/static/.gitkeep +1 -0
  139. package/templates/ecommerce/README.md +11 -0
  140. package/templates/ecommerce/plugins/.gitkeep +1 -0
  141. package/templates/ecommerce/plugins/barcode-input/BarcodeInput.js +62 -0
  142. package/templates/ecommerce/plugins/barcode-input/index.js +9 -0
  143. package/templates/ecommerce/plugins/barcode-input/schemaType.js +60 -0
  144. package/templates/ecommerce/schemaTypes/blockContent.js +67 -0
  145. package/templates/ecommerce/schemaTypes/category.js +39 -0
  146. package/templates/ecommerce/schemaTypes/index.js +23 -0
  147. package/templates/ecommerce/schemaTypes/locale/localeBlockContent.js +19 -0
  148. package/templates/ecommerce/schemaTypes/locale/localeString.js +19 -0
  149. package/templates/ecommerce/schemaTypes/locale/localeText.js +19 -0
  150. package/templates/ecommerce/schemaTypes/locale/supportedLanguages.js +5 -0
  151. package/templates/ecommerce/schemaTypes/product.js +83 -0
  152. package/templates/ecommerce/schemaTypes/productVariant.js +52 -0
  153. package/templates/ecommerce/schemaTypes/vendor.js +39 -0
  154. package/templates/ecommerce/static/.gitkeep +1 -0
  155. package/templates/get-started/README.md +9 -0
  156. package/templates/get-started/plugins/.gitkeep +1 -0
  157. package/templates/get-started/plugins/sanity-plugin-tutorial/CustomDefaultLayout.tsx +16 -0
  158. package/templates/get-started/plugins/sanity-plugin-tutorial/GetStartedTutorial.tsx +104 -0
  159. package/templates/get-started/plugins/sanity-plugin-tutorial/index.ts +11 -0
  160. package/templates/get-started/schemaTypes/index.ts +1 -0
  161. package/templates/get-started/static/.gitkeep +1 -0
  162. package/templates/moviedb/README.md +10 -0
  163. package/templates/moviedb/schemaTypes/blockContent.js +67 -0
  164. package/templates/moviedb/schemaTypes/castMember.js +37 -0
  165. package/templates/moviedb/schemaTypes/crewMember.js +52 -0
  166. package/templates/moviedb/schemaTypes/index.js +22 -0
  167. package/templates/moviedb/schemaTypes/movie.js +85 -0
  168. package/templates/moviedb/schemaTypes/person.js +37 -0
  169. package/templates/moviedb/schemaTypes/plotSummaries.js +20 -0
  170. package/templates/moviedb/schemaTypes/plotSummary.js +24 -0
  171. package/templates/moviedb/schemaTypes/screening.js +81 -0
  172. package/templates/moviedb/static/.gitkeep +1 -0
  173. package/templates/quickstart/README.md +9 -0
  174. package/templates/quickstart/schemaTypes/index.js +1 -0
  175. package/templates/quickstart/static/.gitkeep +1 -0
  176. package/templates/shared/gitignore.txt +29 -0
  177. package/templates/shared/tsconfig.json +17 -0
  178. package/templates/shopify/README.md +85 -0
  179. package/templates/shopify/components/hotspots/ProductTooltip.tsx +38 -0
  180. package/templates/shopify/components/icons/Shopify.tsx +20 -0
  181. package/templates/shopify/components/inputs/CollectionHidden.tsx +23 -0
  182. package/templates/shopify/components/inputs/PlaceholderString.tsx +20 -0
  183. package/templates/shopify/components/inputs/ProductHidden.tsx +64 -0
  184. package/templates/shopify/components/inputs/ProductVariantHidden.tsx +24 -0
  185. package/templates/shopify/components/inputs/ProxyString.tsx +32 -0
  186. package/templates/shopify/components/media/ColorTheme.tsx +38 -0
  187. package/templates/shopify/components/media/ShopifyDocumentStatus.tsx +82 -0
  188. package/templates/shopify/components/studio/Navbar.tsx +29 -0
  189. package/templates/shopify/constants.ts +61 -0
  190. package/templates/shopify/docs/features.md +158 -0
  191. package/templates/shopify/plugins/customDocumentActions/index.ts +55 -0
  192. package/templates/shopify/plugins/customDocumentActions/shopifyDelete.tsx +144 -0
  193. package/templates/shopify/plugins/customDocumentActions/shopifyLink.ts +39 -0
  194. package/templates/shopify/plugins/customDocumentActions/types.ts +14 -0
  195. package/templates/shopify/schemaTypes/documents/collection.tsx +142 -0
  196. package/templates/shopify/schemaTypes/documents/colorTheme.tsx +44 -0
  197. package/templates/shopify/schemaTypes/documents/page.ts +70 -0
  198. package/templates/shopify/schemaTypes/documents/product.tsx +132 -0
  199. package/templates/shopify/schemaTypes/documents/productVariant.tsx +67 -0
  200. package/templates/shopify/schemaTypes/index.ts +108 -0
  201. package/templates/shopify/schemaTypes/objects/collection/collectionGroupType.ts +27 -0
  202. package/templates/shopify/schemaTypes/objects/collection/collectionLinksType.ts +16 -0
  203. package/templates/shopify/schemaTypes/objects/customProductOption/customProductOptionColorObjectType.tsx +48 -0
  204. package/templates/shopify/schemaTypes/objects/customProductOption/customProductOptionColorType.tsx +50 -0
  205. package/templates/shopify/schemaTypes/objects/customProductOption/customProductOptionSizeObjectType.ts +40 -0
  206. package/templates/shopify/schemaTypes/objects/customProductOption/customProductOptionSizeType.ts +49 -0
  207. package/templates/shopify/schemaTypes/objects/global/footerType.ts +22 -0
  208. package/templates/shopify/schemaTypes/objects/global/menuLinksType.ts +21 -0
  209. package/templates/shopify/schemaTypes/objects/global/menuType.ts +17 -0
  210. package/templates/shopify/schemaTypes/objects/global/notFoundPageType.ts +37 -0
  211. package/templates/shopify/schemaTypes/objects/hotspot/imageWithProductHotspotsType.ts +48 -0
  212. package/templates/shopify/schemaTypes/objects/hotspot/productHotspotsType.tsx +17 -0
  213. package/templates/shopify/schemaTypes/objects/hotspot/spotType.tsx +60 -0
  214. package/templates/shopify/schemaTypes/objects/link/linkEmailType.tsx +34 -0
  215. package/templates/shopify/schemaTypes/objects/link/linkExternalType.tsx +37 -0
  216. package/templates/shopify/schemaTypes/objects/link/linkInternalType.tsx +33 -0
  217. package/templates/shopify/schemaTypes/objects/link/linkProductType.tsx +60 -0
  218. package/templates/shopify/schemaTypes/objects/module/accordionGroupType.ts +33 -0
  219. package/templates/shopify/schemaTypes/objects/module/accordionType.ts +28 -0
  220. package/templates/shopify/schemaTypes/objects/module/callToActionType.tsx +85 -0
  221. package/templates/shopify/schemaTypes/objects/module/calloutType.ts +38 -0
  222. package/templates/shopify/schemaTypes/objects/module/collectionReferenceType.tsx +47 -0
  223. package/templates/shopify/schemaTypes/objects/module/gridItemType.ts +41 -0
  224. package/templates/shopify/schemaTypes/objects/module/gridType.ts +28 -0
  225. package/templates/shopify/schemaTypes/objects/module/heroType.tsx +40 -0
  226. package/templates/shopify/schemaTypes/objects/module/imageCallToActionType.tsx +19 -0
  227. package/templates/shopify/schemaTypes/objects/module/imageFeatureType.ts +80 -0
  228. package/templates/shopify/schemaTypes/objects/module/imageFeaturesType.tsx +51 -0
  229. package/templates/shopify/schemaTypes/objects/module/instagramType.ts +35 -0
  230. package/templates/shopify/schemaTypes/objects/module/productFeaturesType.tsx +50 -0
  231. package/templates/shopify/schemaTypes/objects/module/productReferenceType.tsx +42 -0
  232. package/templates/shopify/schemaTypes/objects/seoType.ts +31 -0
  233. package/templates/shopify/schemaTypes/objects/shopify/collectionRuleType.tsx +37 -0
  234. package/templates/shopify/schemaTypes/objects/shopify/inventoryType.ts +25 -0
  235. package/templates/shopify/schemaTypes/objects/shopify/optionType.tsx +31 -0
  236. package/templates/shopify/schemaTypes/objects/shopify/placeholderStringType.ts +11 -0
  237. package/templates/shopify/schemaTypes/objects/shopify/priceRangeType.ts +20 -0
  238. package/templates/shopify/schemaTypes/objects/shopify/productWithVariantType.tsx +142 -0
  239. package/templates/shopify/schemaTypes/objects/shopify/proxyStringType.ts +12 -0
  240. package/templates/shopify/schemaTypes/objects/shopify/shopType.ts +15 -0
  241. package/templates/shopify/schemaTypes/objects/shopify/shopifyCollectionType.ts +84 -0
  242. package/templates/shopify/schemaTypes/objects/shopify/shopifyProductType.ts +131 -0
  243. package/templates/shopify/schemaTypes/objects/shopify/shopifyProductVariantType.ts +121 -0
  244. package/templates/shopify/schemaTypes/portableText/portableTextSimpleType.tsx +45 -0
  245. package/templates/shopify/schemaTypes/portableText/portableTextType.tsx +52 -0
  246. package/templates/shopify/schemaTypes/singletons/homeType.ts +49 -0
  247. package/templates/shopify/schemaTypes/singletons/settingsType.ts +96 -0
  248. package/templates/shopify/static/.gitkeep +1 -0
  249. package/templates/shopify/structure/collectionStructure.ts +9 -0
  250. package/templates/shopify/structure/colorThemeStructure.ts +9 -0
  251. package/templates/shopify/structure/homeStructure.ts +9 -0
  252. package/templates/shopify/structure/index.ts +57 -0
  253. package/templates/shopify/structure/pageStructure.ts +11 -0
  254. package/templates/shopify/structure/productStructure.ts +51 -0
  255. package/templates/shopify/structure/settingStructure.ts +9 -0
  256. package/templates/shopify/utils/blocksToText.ts +20 -0
  257. package/templates/shopify/utils/defineStructure.ts +11 -0
  258. package/templates/shopify/utils/getPriceRange.ts +24 -0
  259. package/templates/shopify/utils/shopifyUrls.ts +22 -0
  260. package/templates/shopify/utils/validateSlug.ts +18 -0
  261. package/templates/shopify-online-storefront/README.md +54 -0
  262. package/templates/shopify-online-storefront/components/icons/Shopify.tsx +22 -0
  263. package/templates/shopify-online-storefront/components/inputs/CollectionHidden.tsx +23 -0
  264. package/templates/shopify-online-storefront/components/inputs/PlaceholderString.tsx +25 -0
  265. package/templates/shopify-online-storefront/components/inputs/ProductHidden.tsx +66 -0
  266. package/templates/shopify-online-storefront/components/inputs/ProductVariantHidden.tsx +25 -0
  267. package/templates/shopify-online-storefront/components/inputs/ProxyString.tsx +38 -0
  268. package/templates/shopify-online-storefront/components/media/ShopifyDocumentStatus.tsx +83 -0
  269. package/templates/shopify-online-storefront/constants.ts +18 -0
  270. package/templates/shopify-online-storefront/plugins/shopifyDocumentActions/index.ts +45 -0
  271. package/templates/shopify-online-storefront/plugins/shopifyDocumentActions/shopifyDelete.tsx +144 -0
  272. package/templates/shopify-online-storefront/plugins/shopifyDocumentActions/shopifyLink.ts +39 -0
  273. package/templates/shopify-online-storefront/plugins/shopifyDocumentActions/types.ts +14 -0
  274. package/templates/shopify-online-storefront/schemaTypes/blocks/blockContent.ts +32 -0
  275. package/templates/shopify-online-storefront/schemaTypes/documents/collection.tsx +83 -0
  276. package/templates/shopify-online-storefront/schemaTypes/documents/product.tsx +102 -0
  277. package/templates/shopify-online-storefront/schemaTypes/documents/productVariant.tsx +82 -0
  278. package/templates/shopify-online-storefront/schemaTypes/index.ts +43 -0
  279. package/templates/shopify-online-storefront/schemaTypes/objects/accordion.ts +31 -0
  280. package/templates/shopify-online-storefront/schemaTypes/objects/accordionGroup.ts +35 -0
  281. package/templates/shopify-online-storefront/schemaTypes/objects/callout.ts +40 -0
  282. package/templates/shopify-online-storefront/schemaTypes/objects/inventory.ts +30 -0
  283. package/templates/shopify-online-storefront/schemaTypes/objects/option.ts +30 -0
  284. package/templates/shopify-online-storefront/schemaTypes/objects/priceRange.ts +22 -0
  285. package/templates/shopify-online-storefront/schemaTypes/objects/proxyString.ts +11 -0
  286. package/templates/shopify-online-storefront/schemaTypes/objects/shopifyCollection.ts +109 -0
  287. package/templates/shopify-online-storefront/schemaTypes/objects/shopifyCollectionRule.tsx +45 -0
  288. package/templates/shopify-online-storefront/schemaTypes/objects/shopifyProduct.ts +165 -0
  289. package/templates/shopify-online-storefront/schemaTypes/objects/shopifyProductVariant.ts +151 -0
  290. package/templates/shopify-online-storefront/structure/collectionStructure.ts +9 -0
  291. package/templates/shopify-online-storefront/structure/index.ts +37 -0
  292. package/templates/shopify-online-storefront/structure/productStructure.ts +35 -0
  293. package/templates/shopify-online-storefront/utils/defineStructure.ts +11 -0
  294. package/templates/shopify-online-storefront/utils/getPriceRange.ts +24 -0
  295. package/templates/shopify-online-storefront/utils/shopifyUrls.ts +22 -0
  296. package/dist/actions/build/__tests__/buildApp.test.js +0 -367
  297. package/dist/actions/build/__tests__/buildApp.test.js.map +0 -1
  298. package/dist/actions/build/__tests__/buildStudio.test.js +0 -561
  299. package/dist/actions/build/__tests__/buildStudio.test.js.map +0 -1
  300. package/dist/actions/build/__tests__/checkRequiredDependencies.test.js +0 -233
  301. package/dist/actions/build/__tests__/checkRequiredDependencies.test.js.map +0 -1
  302. package/dist/actions/build/__tests__/checkStudioDependencyVersions.test.js +0 -414
  303. package/dist/actions/build/__tests__/checkStudioDependencyVersions.test.js.map +0 -1
  304. package/dist/actions/build/__tests__/determineBasePath.test.js +0 -24
  305. package/dist/actions/build/__tests__/determineBasePath.test.js.map +0 -1
  306. package/dist/actions/build/__tests__/getAutoUpdatesImportMap.test.js +0 -109
  307. package/dist/actions/build/__tests__/getAutoUpdatesImportMap.test.js.map +0 -1
  308. package/dist/actions/build/__tests__/getViteConfig.test.js +0 -493
  309. package/dist/actions/build/__tests__/getViteConfig.test.js.map +0 -1
  310. package/dist/actions/build/__tests__/renderDocument.test.js +0 -278
  311. package/dist/actions/build/__tests__/renderDocument.test.js.map +0 -1
  312. package/dist/actions/build/__tests__/shouldAutoUpdate.test.js +0 -153
  313. package/dist/actions/build/__tests__/shouldAutoUpdate.test.js.map +0 -1
  314. package/dist/actions/build/renderDocumentWorker/__tests__/renderDocumentWorker.test.js +0 -657
  315. package/dist/actions/build/renderDocumentWorker/__tests__/renderDocumentWorker.test.js.map +0 -1
  316. package/dist/actions/dataset/__tests__/validateDatasetName.test.js +0 -182
  317. package/dist/actions/dataset/__tests__/validateDatasetName.test.js.map +0 -1
  318. package/dist/actions/deploy/__tests__/checkDir.test.js +0 -120
  319. package/dist/actions/deploy/__tests__/checkDir.test.js.map +0 -1
  320. package/dist/actions/docs/__tests__/normalizeDocsPath.test.js +0 -16
  321. package/dist/actions/docs/__tests__/normalizeDocsPath.test.js.map +0 -1
  322. package/dist/actions/documents/validation/reporters/prettyReporter/__tests__/formatDocumentValidation.test.js +0 -124
  323. package/dist/actions/documents/validation/reporters/prettyReporter/__tests__/formatDocumentValidation.test.js.map +0 -1
  324. package/dist/actions/graphql/__tests__/getGraphQLAPIs.test.js +0 -274
  325. package/dist/actions/graphql/__tests__/getGraphQLAPIs.test.js.map +0 -1
  326. package/dist/actions/media/__tests__/importMedia.test.js +0 -182
  327. package/dist/actions/media/__tests__/importMedia.test.js.map +0 -1
  328. package/dist/actions/schema/__tests__/formatSchemaValidation.test.js +0 -174
  329. package/dist/actions/schema/__tests__/formatSchemaValidation.test.js.map +0 -1
  330. package/dist/actions/schema/__tests__/validateAction.test.js +0 -281
  331. package/dist/actions/schema/__tests__/validateAction.test.js.map +0 -1
  332. package/dist/actions/telemetry/__tests__/fetchTelemetryConsent.test.js +0 -27
  333. package/dist/actions/telemetry/__tests__/fetchTelemetryConsent.test.js.map +0 -1
  334. package/dist/actions/users/__tests__/validateEmail.test.js +0 -16
  335. package/dist/actions/users/__tests__/validateEmail.test.js.map +0 -1
  336. package/dist/commands/__tests__/blueprints.test.js +0 -54
  337. package/dist/commands/__tests__/blueprints.test.js.map +0 -1
  338. package/dist/commands/__tests__/build.test.js +0 -132
  339. package/dist/commands/__tests__/build.test.js.map +0 -1
  340. package/dist/commands/__tests__/codemod.test.js +0 -271
  341. package/dist/commands/__tests__/codemod.test.js.map +0 -1
  342. package/dist/commands/__tests__/debug.test.js +0 -590
  343. package/dist/commands/__tests__/debug.test.js.map +0 -1
  344. package/dist/commands/__tests__/deploy.test.js +0 -1945
  345. package/dist/commands/__tests__/deploy.test.js.map +0 -1
  346. package/dist/commands/__tests__/dev.test.js +0 -453
  347. package/dist/commands/__tests__/dev.test.js.map +0 -1
  348. package/dist/commands/__tests__/exec.test.js +0 -207
  349. package/dist/commands/__tests__/exec.test.js.map +0 -1
  350. package/dist/commands/__tests__/init/init.authentication.test.js +0 -73
  351. package/dist/commands/__tests__/init/init.authentication.test.js.map +0 -1
  352. package/dist/commands/__tests__/init/init.create-new-project.test.js +0 -195
  353. package/dist/commands/__tests__/init/init.create-new-project.test.js.map +0 -1
  354. package/dist/commands/__tests__/init/init.plan.test.js +0 -279
  355. package/dist/commands/__tests__/init/init.plan.test.js.map +0 -1
  356. package/dist/commands/__tests__/init/init.setup.test.js +0 -335
  357. package/dist/commands/__tests__/init/init.setup.test.js.map +0 -1
  358. package/dist/commands/__tests__/install.test.js +0 -282
  359. package/dist/commands/__tests__/install.test.js.map +0 -1
  360. package/dist/commands/__tests__/learn.test.js +0 -29
  361. package/dist/commands/__tests__/learn.test.js.map +0 -1
  362. package/dist/commands/__tests__/logout.test.js +0 -91
  363. package/dist/commands/__tests__/logout.test.js.map +0 -1
  364. package/dist/commands/__tests__/manage.test.js +0 -110
  365. package/dist/commands/__tests__/manage.test.js.map +0 -1
  366. package/dist/commands/__tests__/migration.test.js +0 -119
  367. package/dist/commands/__tests__/migration.test.js.map +0 -1
  368. package/dist/commands/__tests__/preview.test.js +0 -261
  369. package/dist/commands/__tests__/preview.test.js.map +0 -1
  370. package/dist/commands/__tests__/start.test.js +0 -253
  371. package/dist/commands/__tests__/start.test.js.map +0 -1
  372. package/dist/commands/__tests__/undeploy.test.js +0 -382
  373. package/dist/commands/__tests__/undeploy.test.js.map +0 -1
  374. package/dist/commands/__tests__/versions.test.js +0 -142
  375. package/dist/commands/__tests__/versions.test.js.map +0 -1
  376. package/dist/commands/backup/__tests__/disable.test.js +0 -204
  377. package/dist/commands/backup/__tests__/disable.test.js.map +0 -1
  378. package/dist/commands/backup/__tests__/download.test.js +0 -768
  379. package/dist/commands/backup/__tests__/download.test.js.map +0 -1
  380. package/dist/commands/backup/__tests__/enable.test.js +0 -286
  381. package/dist/commands/backup/__tests__/enable.test.js.map +0 -1
  382. package/dist/commands/backup/__tests__/list.test.js +0 -330
  383. package/dist/commands/backup/__tests__/list.test.js.map +0 -1
  384. package/dist/commands/cors/__tests__/add.test.js +0 -376
  385. package/dist/commands/cors/__tests__/add.test.js.map +0 -1
  386. package/dist/commands/cors/__tests__/delete.test.js +0 -308
  387. package/dist/commands/cors/__tests__/delete.test.js.map +0 -1
  388. package/dist/commands/cors/__tests__/list.test.js +0 -241
  389. package/dist/commands/cors/__tests__/list.test.js.map +0 -1
  390. package/dist/commands/dataset/__tests__/copy.test.js +0 -628
  391. package/dist/commands/dataset/__tests__/copy.test.js.map +0 -1
  392. package/dist/commands/dataset/__tests__/create.test.js +0 -342
  393. package/dist/commands/dataset/__tests__/create.test.js.map +0 -1
  394. package/dist/commands/dataset/__tests__/delete.test.js +0 -231
  395. package/dist/commands/dataset/__tests__/delete.test.js.map +0 -1
  396. package/dist/commands/dataset/__tests__/export.test.js +0 -601
  397. package/dist/commands/dataset/__tests__/export.test.js.map +0 -1
  398. package/dist/commands/dataset/__tests__/import.test.js +0 -53
  399. package/dist/commands/dataset/__tests__/import.test.js.map +0 -1
  400. package/dist/commands/dataset/__tests__/list.test.js +0 -216
  401. package/dist/commands/dataset/__tests__/list.test.js.map +0 -1
  402. package/dist/commands/dataset/alias/__tests__/create.test.js +0 -339
  403. package/dist/commands/dataset/alias/__tests__/create.test.js.map +0 -1
  404. package/dist/commands/dataset/alias/__tests__/delete.test.js +0 -247
  405. package/dist/commands/dataset/alias/__tests__/delete.test.js.map +0 -1
  406. package/dist/commands/dataset/alias/__tests__/link.test.js +0 -376
  407. package/dist/commands/dataset/alias/__tests__/link.test.js.map +0 -1
  408. package/dist/commands/dataset/alias/__tests__/unlink.test.js +0 -313
  409. package/dist/commands/dataset/alias/__tests__/unlink.test.js.map +0 -1
  410. package/dist/commands/dataset/visibility/__tests__/get.test.js +0 -128
  411. package/dist/commands/dataset/visibility/__tests__/get.test.js.map +0 -1
  412. package/dist/commands/dataset/visibility/__tests__/set.test.js +0 -198
  413. package/dist/commands/dataset/visibility/__tests__/set.test.js.map +0 -1
  414. package/dist/commands/docs/__tests__/browse.test.js +0 -29
  415. package/dist/commands/docs/__tests__/browse.test.js.map +0 -1
  416. package/dist/commands/docs/__tests__/read.test.js +0 -78
  417. package/dist/commands/docs/__tests__/read.test.js.map +0 -1
  418. package/dist/commands/docs/__tests__/search.test.js +0 -255
  419. package/dist/commands/docs/__tests__/search.test.js.map +0 -1
  420. package/dist/commands/documents/__tests__/create.test.js +0 -1030
  421. package/dist/commands/documents/__tests__/create.test.js.map +0 -1
  422. package/dist/commands/documents/__tests__/delete.test.js +0 -300
  423. package/dist/commands/documents/__tests__/delete.test.js.map +0 -1
  424. package/dist/commands/documents/__tests__/get.test.js +0 -182
  425. package/dist/commands/documents/__tests__/get.test.js.map +0 -1
  426. package/dist/commands/documents/__tests__/query.test.js +0 -300
  427. package/dist/commands/documents/__tests__/query.test.js.map +0 -1
  428. package/dist/commands/documents/__tests__/validate.test.js +0 -249
  429. package/dist/commands/documents/__tests__/validate.test.js.map +0 -1
  430. package/dist/commands/graphql/__tests__/list.test.js +0 -240
  431. package/dist/commands/graphql/__tests__/list.test.js.map +0 -1
  432. package/dist/commands/graphql/__tests__/undeploy.test.js +0 -410
  433. package/dist/commands/graphql/__tests__/undeploy.test.js.map +0 -1
  434. package/dist/commands/hook/__tests__/attempt.test.js +0 -275
  435. package/dist/commands/hook/__tests__/attempt.test.js.map +0 -1
  436. package/dist/commands/hook/__tests__/create.test.js +0 -119
  437. package/dist/commands/hook/__tests__/create.test.js.map +0 -1
  438. package/dist/commands/hook/__tests__/delete.test.js +0 -233
  439. package/dist/commands/hook/__tests__/delete.test.js.map +0 -1
  440. package/dist/commands/hook/__tests__/list.test.js +0 -145
  441. package/dist/commands/hook/__tests__/list.test.js.map +0 -1
  442. package/dist/commands/hook/__tests__/logs.test.js +0 -798
  443. package/dist/commands/hook/__tests__/logs.test.js.map +0 -1
  444. package/dist/commands/manifest/__tests__/extract.test.js +0 -132
  445. package/dist/commands/manifest/__tests__/extract.test.js.map +0 -1
  446. package/dist/commands/mcp/__tests__/configure.test.js +0 -397
  447. package/dist/commands/mcp/__tests__/configure.test.js.map +0 -1
  448. package/dist/commands/media/__tests__/create-aspect.test.js +0 -173
  449. package/dist/commands/media/__tests__/create-aspect.test.js.map +0 -1
  450. package/dist/commands/media/__tests__/delete-aspect.test.js +0 -342
  451. package/dist/commands/media/__tests__/delete-aspect.test.js.map +0 -1
  452. package/dist/commands/media/__tests__/deploy-aspect.test.js +0 -619
  453. package/dist/commands/media/__tests__/deploy-aspect.test.js.map +0 -1
  454. package/dist/commands/media/__tests__/export.test.js +0 -697
  455. package/dist/commands/media/__tests__/export.test.js.map +0 -1
  456. package/dist/commands/media/__tests__/import.test.js +0 -347
  457. package/dist/commands/media/__tests__/import.test.js.map +0 -1
  458. package/dist/commands/openapi/__tests__/get.test.js +0 -149
  459. package/dist/commands/openapi/__tests__/get.test.js.map +0 -1
  460. package/dist/commands/openapi/__tests__/list.test.js +0 -113
  461. package/dist/commands/openapi/__tests__/list.test.js.map +0 -1
  462. package/dist/commands/projects/__tests__/list.test.js +0 -154
  463. package/dist/commands/projects/__tests__/list.test.js.map +0 -1
  464. package/dist/commands/schema/__tests__/delete.test.js +0 -454
  465. package/dist/commands/schema/__tests__/delete.test.js.map +0 -1
  466. package/dist/commands/schema/__tests__/deploy.test.js +0 -348
  467. package/dist/commands/schema/__tests__/deploy.test.js.map +0 -1
  468. package/dist/commands/schema/__tests__/extract.test.js +0 -121
  469. package/dist/commands/schema/__tests__/extract.test.js.map +0 -1
  470. package/dist/commands/schema/__tests__/list.test.js +0 -399
  471. package/dist/commands/schema/__tests__/list.test.js.map +0 -1
  472. package/dist/commands/schema/__tests__/validate.test.js +0 -121
  473. package/dist/commands/schema/__tests__/validate.test.js.map +0 -1
  474. package/dist/commands/telemetry/__tests__/disable.test.js +0 -147
  475. package/dist/commands/telemetry/__tests__/disable.test.js.map +0 -1
  476. package/dist/commands/telemetry/__tests__/enable.test.js +0 -133
  477. package/dist/commands/telemetry/__tests__/enable.test.js.map +0 -1
  478. package/dist/commands/telemetry/__tests__/status.test.js +0 -155
  479. package/dist/commands/telemetry/__tests__/status.test.js.map +0 -1
  480. package/dist/commands/tokens/__tests__/add.test.js +0 -435
  481. package/dist/commands/tokens/__tests__/add.test.js.map +0 -1
  482. package/dist/commands/tokens/__tests__/delete.test.js +0 -405
  483. package/dist/commands/tokens/__tests__/delete.test.js.map +0 -1
  484. package/dist/commands/tokens/__tests__/list.test.js +0 -395
  485. package/dist/commands/tokens/__tests__/list.test.js.map +0 -1
  486. package/dist/commands/users/__tests__/invite.test.js +0 -362
  487. package/dist/commands/users/__tests__/invite.test.js.map +0 -1
  488. package/dist/commands/users/__tests__/list.test.js +0 -407
  489. package/dist/commands/users/__tests__/list.test.js.map +0 -1
  490. package/dist/hooks/prerun/__tests__/setupTelemetry.test.js +0 -77
  491. package/dist/hooks/prerun/__tests__/setupTelemetry.test.js.map +0 -1
  492. package/dist/services/__tests__/datasetAliases.test.js +0 -131
  493. package/dist/services/__tests__/datasetAliases.test.js.map +0 -1
  494. package/dist/services/__tests__/datasets.test.js +0 -436
  495. package/dist/services/__tests__/datasets.test.js.map +0 -1
  496. package/dist/services/__tests__/graphql.test.js +0 -43
  497. package/dist/services/__tests__/graphql.test.js.map +0 -1
  498. package/dist/services/__tests__/mediaLibraries.test.js +0 -88
  499. package/dist/services/__tests__/mediaLibraries.test.js.map +0 -1
  500. package/dist/services/__tests__/projects.test.js +0 -41
  501. package/dist/services/__tests__/projects.test.js.map +0 -1
  502. package/dist/services/__tests__/userApplications.test.js +0 -113
  503. package/dist/services/__tests__/userApplications.test.js.map +0 -1
  504. package/dist/util/__tests__/appId.test.js +0 -31
  505. package/dist/util/__tests__/appId.test.js.map +0 -1
  506. package/dist/util/__tests__/cliClient.test.js +0 -184
  507. package/dist/util/__tests__/cliClient.test.js.map +0 -1
  508. package/dist/util/__tests__/compareDependencyVersions.test.js +0 -426
  509. package/dist/util/__tests__/compareDependencyVersions.test.js.map +0 -1
  510. package/dist/util/__tests__/extractDocumentsFromNdjsonOrTarball.test.js +0 -74
  511. package/dist/util/__tests__/extractDocumentsFromNdjsonOrTarball.test.js.map +0 -1
  512. package/dist/util/__tests__/findNdjsonEntry.test.js +0 -54
  513. package/dist/util/__tests__/findNdjsonEntry.test.js.map +0 -1
  514. package/dist/util/__tests__/getCliVersion.test.js +0 -28
  515. package/dist/util/__tests__/getCliVersion.test.js.map +0 -1
  516. package/dist/util/__tests__/getLocalPackageVersion.test.js +0 -84
  517. package/dist/util/__tests__/getLocalPackageVersion.test.js.map +0 -1
  518. package/dist/util/__tests__/getWorkspace.test.js +0 -37
  519. package/dist/util/__tests__/getWorkspace.test.js.map +0 -1
  520. package/dist/util/__tests__/readPackageJson.test.js +0 -69
  521. package/dist/util/__tests__/readPackageJson.test.js.map +0 -1
  522. package/dist/util/__tests__/warnAboutMissingAppId.test.js +0 -28
  523. package/dist/util/__tests__/warnAboutMissingAppId.test.js.map +0 -1
  524. package/dist/util/packageManager/__tests__/installPackages.test.js +0 -388
  525. package/dist/util/packageManager/__tests__/installPackages.test.js.map +0 -1
  526. package/dist/util/validation/ __tests__/validateDocuments.test.js +0 -274
  527. package/dist/util/validation/ __tests__/validateDocuments.test.js.map +0 -1
@@ -1,493 +0,0 @@
1
- import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest';
2
- import { extendViteConfigWithUserConfig, finalizeViteConfig, getViteConfig } from '../getViteConfig.js';
3
- // Mock all external dependencies
4
- vi.mock('read-package-up', ()=>({
5
- readPackageUp: vi.fn()
6
- }));
7
- vi.mock('@vitejs/plugin-react', ()=>({
8
- default: vi.fn(()=>({
9
- name: 'react-plugin'
10
- }))
11
- }));
12
- vi.mock('vite', ()=>({
13
- mergeConfig: vi.fn((base, override)=>({
14
- ...base,
15
- ...override
16
- }))
17
- }));
18
- vi.mock('../createExternalFromImportMap.js', ()=>({
19
- createExternalFromImportMap: vi.fn(()=>[
20
- 'external1',
21
- 'external2'
22
- ])
23
- }));
24
- vi.mock('../getBrowserAliases.js', ()=>({
25
- getSanityPkgExportAliases: vi.fn(()=>Promise.resolve({
26
- alias1: 'path1',
27
- alias2: 'path2'
28
- }))
29
- }));
30
- vi.mock('../getStudioEnvironmentVariables.js', ()=>({
31
- getAppEnvironmentVariables: vi.fn(()=>({
32
- 'process.env.APP_VAR': '"app-value"'
33
- })),
34
- getStudioEnvironmentVariables: vi.fn(()=>({
35
- 'process.env.STUDIO_VAR': '"studio-value"'
36
- }))
37
- }));
38
- vi.mock('../normalizeBasePath.js', ()=>({
39
- normalizeBasePath: vi.fn((path)=>`/${path}/`.replace(/^\/+/, '/').replace(/\/+$/, '/'))
40
- }));
41
- vi.mock('../../../server/vite/plugin-sanity-build-entries.js', ()=>({
42
- sanityBuildEntries: vi.fn(()=>({
43
- name: 'sanity-build-entries'
44
- }))
45
- }));
46
- vi.mock('../../../server/vite/plugin-sanity-favicons.js', ()=>({
47
- sanityFaviconsPlugin: vi.fn(()=>({
48
- name: 'sanity-favicons'
49
- }))
50
- }));
51
- vi.mock('../../../server/vite/plugin-sanity-runtime-rewrite.js', ()=>({
52
- sanityRuntimeRewritePlugin: vi.fn(()=>({
53
- name: 'sanity-runtime-rewrite'
54
- }))
55
- }));
56
- describe('#getViteConfig', ()=>{
57
- beforeEach(async ()=>{
58
- vi.clearAllMocks();
59
- // Setup default mock for readPackageUp
60
- const { readPackageUp } = await import('read-package-up');
61
- vi.mocked(readPackageUp).mockResolvedValue({
62
- packageJson: {
63
- name: 'sanity'
64
- },
65
- path: '/mock/path/to/sanity/package.json'
66
- });
67
- });
68
- afterEach(()=>{
69
- vi.unstubAllEnvs();
70
- });
71
- test('should create basic vite config with default options', async ()=>{
72
- const options = {
73
- cwd: '/test/cwd',
74
- mode: 'development',
75
- reactCompiler: undefined
76
- };
77
- const config = await getViteConfig(options);
78
- expect(config).toMatchObject({
79
- base: '/',
80
- build: {
81
- outDir: '/test/cwd/dist',
82
- sourcemap: true
83
- },
84
- cacheDir: 'node_modules/.sanity/vite',
85
- configFile: false,
86
- envPrefix: 'SANITY_STUDIO_',
87
- logLevel: 'info',
88
- mode: 'development',
89
- root: '/test/cwd',
90
- server: {
91
- host: undefined,
92
- port: 3333,
93
- strictPort: true
94
- }
95
- });
96
- expect(config.define).toMatchObject({
97
- __SANITY_STAGING__: false,
98
- 'process.env.MODE': '"development"',
99
- 'process.env.SC_DISABLE_SPEEDY': '"false"',
100
- 'process.env.STUDIO_VAR': '"studio-value"'
101
- });
102
- expect(config.plugins).toHaveLength(4);
103
- expect(config.resolve?.dedupe).toEqual([
104
- 'styled-components'
105
- ]);
106
- });
107
- test('should create vite config for app mode', async ()=>{
108
- const options = {
109
- cwd: '/test/cwd',
110
- isApp: true,
111
- mode: 'development',
112
- reactCompiler: undefined
113
- };
114
- const config = await getViteConfig(options);
115
- expect(config.envPrefix).toBe('SANITY_APP_');
116
- expect(config.define).toMatchObject({
117
- 'process.env.APP_VAR': '"app-value"'
118
- });
119
- });
120
- test('should create production config with minification', async ()=>{
121
- const options = {
122
- cwd: '/test/cwd',
123
- minify: true,
124
- mode: 'production',
125
- outputDir: '/custom/output',
126
- reactCompiler: undefined,
127
- sourceMap: false
128
- };
129
- const config = await getViteConfig(options);
130
- expect(config.mode).toBe('production');
131
- expect(config.logLevel).toBe('silent');
132
- expect(config.build).toMatchObject({
133
- assetsDir: 'static',
134
- emptyOutDir: false,
135
- minify: 'esbuild',
136
- outDir: '/custom/output',
137
- sourcemap: false
138
- });
139
- expect(config.build?.rollupOptions).toMatchObject({
140
- external: [
141
- 'external1',
142
- 'external2'
143
- ],
144
- input: {
145
- sanity: '/test/cwd/.sanity/runtime/app.js'
146
- }
147
- });
148
- });
149
- test('should create production config without minification', async ()=>{
150
- const options = {
151
- cwd: '/test/cwd',
152
- minify: false,
153
- mode: 'production',
154
- reactCompiler: undefined
155
- };
156
- const config = await getViteConfig(options);
157
- expect(config.build?.minify).toBe(false);
158
- });
159
- test('should normalize base path correctly', async ()=>{
160
- const { normalizeBasePath } = await import('../normalizeBasePath.js');
161
- const options = {
162
- basePath: 'custom/path',
163
- cwd: '/test/cwd',
164
- mode: 'development',
165
- reactCompiler: undefined
166
- };
167
- await getViteConfig(options);
168
- expect(normalizeBasePath).toHaveBeenCalledWith('custom/path');
169
- });
170
- test('should handle custom server options', async ()=>{
171
- const options = {
172
- cwd: '/test/cwd',
173
- mode: 'development',
174
- reactCompiler: undefined,
175
- server: {
176
- host: '0.0.0.0',
177
- port: 8080
178
- }
179
- };
180
- const config = await getViteConfig(options);
181
- expect(config.server).toMatchObject({
182
- host: '0.0.0.0',
183
- port: 8080,
184
- strictPort: true
185
- });
186
- });
187
- test('should handle react compiler configuration', async ()=>{
188
- const { default: viteReact } = await import('@vitejs/plugin-react');
189
- const reactCompilerConfig = {
190
- sources: [
191
- 'src/**/*.tsx'
192
- ],
193
- target: '18'
194
- };
195
- const options = {
196
- cwd: '/test/cwd',
197
- mode: 'development',
198
- reactCompiler: reactCompilerConfig
199
- };
200
- await getViteConfig(options);
201
- expect(viteReact).toHaveBeenCalledWith({
202
- babel: {
203
- plugins: [
204
- [
205
- 'babel-plugin-react-compiler',
206
- reactCompilerConfig
207
- ]
208
- ]
209
- }
210
- });
211
- });
212
- test('should set staging flag when SANITY_INTERNAL_ENV is staging', async ()=>{
213
- vi.stubEnv('SANITY_INTERNAL_ENV', 'staging');
214
- const options = {
215
- cwd: '/test/cwd',
216
- mode: 'development',
217
- reactCompiler: undefined
218
- };
219
- const config = await getViteConfig(options);
220
- expect(config.define?.__SANITY_STAGING__).toBe(true);
221
- });
222
- test('should handle import map for external dependencies', async ()=>{
223
- const importMap = {
224
- imports: {
225
- react: 'https://esm.sh/react@18',
226
- 'react-dom': 'https://esm.sh/react-dom@18'
227
- }
228
- };
229
- const options = {
230
- cwd: '/test/cwd',
231
- importMap,
232
- mode: 'production',
233
- reactCompiler: undefined
234
- };
235
- const { createExternalFromImportMap } = await import('../createExternalFromImportMap.js');
236
- const { sanityBuildEntries } = await import('../../../server/vite/plugin-sanity-build-entries.js');
237
- await getViteConfig(options);
238
- expect(createExternalFromImportMap).toHaveBeenCalledWith(importMap);
239
- expect(sanityBuildEntries).toHaveBeenCalledWith({
240
- basePath: '/',
241
- cwd: '/test/cwd',
242
- importMap,
243
- isApp: undefined
244
- });
245
- });
246
- test('should throw error when sanity package path cannot be resolved', async ()=>{
247
- const { readPackageUp } = await import('read-package-up');
248
- vi.mocked(readPackageUp).mockResolvedValue(undefined);
249
- const options = {
250
- cwd: '/test/cwd',
251
- mode: 'development',
252
- reactCompiler: undefined
253
- };
254
- await expect(getViteConfig(options)).rejects.toThrow('Unable to resolve `@sanity/cli` module root');
255
- });
256
- test('should configure favicon plugin with correct paths', async ()=>{
257
- const { sanityFaviconsPlugin } = await import('../../../server/vite/plugin-sanity-favicons.js');
258
- const options = {
259
- basePath: '/studio',
260
- cwd: '/test/cwd',
261
- mode: 'development',
262
- reactCompiler: undefined
263
- };
264
- await getViteConfig(options);
265
- expect(sanityFaviconsPlugin).toHaveBeenCalledWith({
266
- customFaviconsPath: '/test/cwd/static',
267
- defaultFaviconsPath: '/mock/path/to/sanity/static/favicons',
268
- staticUrlPath: '/studio/static'
269
- });
270
- });
271
- });
272
- describe('#finalizeViteConfig', ()=>{
273
- beforeEach(()=>{
274
- vi.clearAllMocks();
275
- });
276
- afterEach(()=>{
277
- vi.unstubAllEnvs();
278
- });
279
- test('should merge sanity entry into existing config', async ()=>{
280
- const { mergeConfig } = await import('vite');
281
- const inputConfig = {
282
- build: {
283
- rollupOptions: {
284
- input: {
285
- main: '/test/main.js'
286
- }
287
- }
288
- },
289
- root: '/test/root'
290
- };
291
- const expectedMerge = {
292
- build: {
293
- rollupOptions: {
294
- input: {
295
- sanity: '/test/root/.sanity/runtime/app.js'
296
- }
297
- }
298
- }
299
- };
300
- vi.mocked(mergeConfig).mockReturnValue({
301
- ...inputConfig,
302
- build: {
303
- rollupOptions: {
304
- input: {
305
- main: '/test/main.js',
306
- sanity: '/test/root/.sanity/runtime/app.js'
307
- }
308
- }
309
- }
310
- });
311
- await finalizeViteConfig(inputConfig);
312
- expect(mergeConfig).toHaveBeenCalledWith(inputConfig, expectedMerge);
313
- });
314
- test('should throw error when build.rollupOptions.input is not an object', async ()=>{
315
- const inputConfig = {
316
- build: {
317
- rollupOptions: {
318
- input: '/single/entry.js'
319
- }
320
- },
321
- root: '/test/root'
322
- };
323
- await expect(finalizeViteConfig(inputConfig)).rejects.toThrow('Vite config must contain `build.rollupOptions.input`, and it must be an object');
324
- });
325
- test('should throw error when root is missing', async ()=>{
326
- const inputConfig = {
327
- build: {
328
- rollupOptions: {
329
- input: {
330
- main: '/test/main.js'
331
- }
332
- }
333
- }
334
- };
335
- await expect(finalizeViteConfig(inputConfig)).rejects.toThrow('Vite config must contain `root` property, and must point to the Sanity root directory');
336
- });
337
- });
338
- describe('#extendViteConfigWithUserConfig', ()=>{
339
- beforeEach(()=>{
340
- vi.clearAllMocks();
341
- });
342
- afterEach(()=>{
343
- vi.unstubAllEnvs();
344
- });
345
- test('should return default config when user config is undefined', async ()=>{
346
- const defaultConfig = {
347
- mode: 'development',
348
- root: '/test'
349
- };
350
- const env = {
351
- command: 'build',
352
- mode: 'development'
353
- };
354
- const result = await extendViteConfigWithUserConfig(env, defaultConfig, undefined);
355
- expect(result).toBe(defaultConfig);
356
- });
357
- test('should merge user config object with default config', async ()=>{
358
- const { mergeConfig } = await import('vite');
359
- const defaultConfig = {
360
- mode: 'development',
361
- root: '/test'
362
- };
363
- const userConfig = {
364
- define: {
365
- custom: 'value'
366
- },
367
- server: {
368
- port: 4000
369
- }
370
- };
371
- const env = {
372
- command: 'build',
373
- mode: 'development'
374
- };
375
- const mergedConfig = {
376
- ...defaultConfig,
377
- ...userConfig
378
- };
379
- vi.mocked(mergeConfig).mockReturnValue(mergedConfig);
380
- const result = await extendViteConfigWithUserConfig(env, defaultConfig, userConfig);
381
- expect(mergeConfig).toHaveBeenCalledWith(defaultConfig, userConfig);
382
- expect(result).toBe(mergedConfig);
383
- });
384
- test('should call user config function with default config and env', async ()=>{
385
- const defaultConfig = {
386
- mode: 'development',
387
- root: '/test'
388
- };
389
- const modifiedConfig = {
390
- ...defaultConfig,
391
- server: {
392
- port: 5000
393
- }
394
- };
395
- const userConfigFn = vi.fn().mockResolvedValue(modifiedConfig);
396
- const env = {
397
- command: 'build',
398
- mode: 'development'
399
- };
400
- const result = await extendViteConfigWithUserConfig(env, defaultConfig, userConfigFn);
401
- expect(userConfigFn).toHaveBeenCalledWith(defaultConfig, env);
402
- expect(result).toBe(modifiedConfig);
403
- });
404
- });
405
- describe('#onRollupWarn and #suppressUnusedImport helper functions', ()=>{
406
- test('should suppress useDebugValue unused import warnings', async ()=>{
407
- // Test the internal suppressUnusedImport function by testing its behavior through onRollupWarn
408
- const mockWarn = vi.fn();
409
- // Create a warning that should be suppressed
410
- const warning = {
411
- code: 'UNUSED_EXTERNAL_IMPORT',
412
- message: 'useDebugValue is imported from external module "react"',
413
- names: [
414
- 'useDebugValue',
415
- 'useState'
416
- ]
417
- };
418
- // Access the onRollupWarn function by testing getViteConfig in production mode
419
- // which includes the onwarn callback
420
- const options = {
421
- cwd: '/test/cwd',
422
- mode: 'production',
423
- reactCompiler: undefined
424
- };
425
- const config = await getViteConfig(options);
426
- const onwarn = config.build?.rollupOptions?.onwarn;
427
- expect(onwarn).toBeDefined();
428
- // Test that useDebugValue warnings are suppressed
429
- onwarn?.(warning, mockWarn);
430
- // Should modify warning.names to remove useDebugValue
431
- expect(warning.names).toEqual([
432
- 'useState'
433
- ]);
434
- // Should still call warn since there are other names
435
- expect(mockWarn).toHaveBeenCalledWith(warning);
436
- });
437
- test('should completely suppress warning when only useDebugValue is present', async ()=>{
438
- const mockWarn = vi.fn();
439
- const warning = {
440
- code: 'UNUSED_EXTERNAL_IMPORT',
441
- message: 'useDebugValue is imported from external module "react"',
442
- names: [
443
- 'useDebugValue'
444
- ]
445
- };
446
- const config = await getViteConfig({
447
- cwd: '/test/cwd',
448
- mode: 'production',
449
- reactCompiler: undefined
450
- });
451
- const onwarn = config.build?.rollupOptions?.onwarn;
452
- onwarn?.(warning, mockWarn);
453
- // Should not call warn at all when only useDebugValue was present
454
- expect(mockWarn).not.toHaveBeenCalled();
455
- });
456
- test('should suppress warnings from node_modules', async ()=>{
457
- const mockWarn = vi.fn();
458
- const warning = {
459
- code: 'UNUSED_EXTERNAL_IMPORT',
460
- ids: [
461
- '/project/node_modules/some-lib/index.js'
462
- ],
463
- message: 'Some warning from node_modules'
464
- };
465
- const config = await getViteConfig({
466
- cwd: '/test/cwd',
467
- mode: 'production',
468
- reactCompiler: undefined
469
- });
470
- const onwarn = config.build?.rollupOptions?.onwarn;
471
- onwarn?.(warning, mockWarn);
472
- // Should not call warn for node_modules warnings
473
- expect(mockWarn).not.toHaveBeenCalled();
474
- });
475
- test('should not suppress other warning types', async ()=>{
476
- const mockWarn = vi.fn();
477
- const warning = {
478
- code: 'CIRCULAR_DEPENDENCY',
479
- message: 'Circular dependency detected'
480
- };
481
- const config = await getViteConfig({
482
- cwd: '/test/cwd',
483
- mode: 'production',
484
- reactCompiler: undefined
485
- });
486
- const onwarn = config.build?.rollupOptions?.onwarn;
487
- onwarn?.(warning, mockWarn);
488
- // Should call warn for other warning types
489
- expect(mockWarn).toHaveBeenCalledWith(warning);
490
- });
491
- });
492
-
493
- //# sourceMappingURL=getViteConfig.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/actions/build/__tests__/getViteConfig.test.ts"],"sourcesContent":["import {type ConfigEnv, type InlineConfig} from 'vite'\nimport {afterEach, beforeEach, describe, expect, test, vi} from 'vitest'\n\nimport {\n extendViteConfigWithUserConfig,\n finalizeViteConfig,\n getViteConfig,\n} from '../getViteConfig.js'\n\n// Mock all external dependencies\nvi.mock('read-package-up', () => ({\n readPackageUp: vi.fn(),\n}))\n\nvi.mock('@vitejs/plugin-react', () => ({\n default: vi.fn(() => ({name: 'react-plugin'})),\n}))\n\nvi.mock('vite', () => ({\n mergeConfig: vi.fn((base: InlineConfig, override: InlineConfig) => ({...base, ...override})),\n}))\n\nvi.mock('../createExternalFromImportMap.js', () => ({\n createExternalFromImportMap: vi.fn(() => ['external1', 'external2']),\n}))\n\nvi.mock('../getBrowserAliases.js', () => ({\n getSanityPkgExportAliases: vi.fn(() => Promise.resolve({alias1: 'path1', alias2: 'path2'})),\n}))\n\nvi.mock('../getStudioEnvironmentVariables.js', () => ({\n getAppEnvironmentVariables: vi.fn(() => ({\n 'process.env.APP_VAR': '\"app-value\"',\n })),\n getStudioEnvironmentVariables: vi.fn(() => ({\n 'process.env.STUDIO_VAR': '\"studio-value\"',\n })),\n}))\n\nvi.mock('../normalizeBasePath.js', () => ({\n normalizeBasePath: vi.fn((path: string) => `/${path}/`.replace(/^\\/+/, '/').replace(/\\/+$/, '/')),\n}))\n\nvi.mock('../../../server/vite/plugin-sanity-build-entries.js', () => ({\n sanityBuildEntries: vi.fn(() => ({name: 'sanity-build-entries'})),\n}))\n\nvi.mock('../../../server/vite/plugin-sanity-favicons.js', () => ({\n sanityFaviconsPlugin: vi.fn(() => ({name: 'sanity-favicons'})),\n}))\n\nvi.mock('../../../server/vite/plugin-sanity-runtime-rewrite.js', () => ({\n sanityRuntimeRewritePlugin: vi.fn(() => ({name: 'sanity-runtime-rewrite'})),\n}))\n\ndescribe('#getViteConfig', () => {\n beforeEach(async () => {\n vi.clearAllMocks()\n\n // Setup default mock for readPackageUp\n const {readPackageUp} = await import('read-package-up')\n vi.mocked(readPackageUp).mockResolvedValue({\n packageJson: {name: 'sanity'},\n path: '/mock/path/to/sanity/package.json',\n })\n })\n\n afterEach(() => {\n vi.unstubAllEnvs()\n })\n\n test('should create basic vite config with default options', async () => {\n const options = {\n cwd: '/test/cwd',\n mode: 'development' as const,\n reactCompiler: undefined,\n }\n\n const config = await getViteConfig(options)\n\n expect(config).toMatchObject({\n base: '/',\n build: {\n outDir: '/test/cwd/dist',\n sourcemap: true,\n },\n cacheDir: 'node_modules/.sanity/vite',\n configFile: false,\n envPrefix: 'SANITY_STUDIO_',\n logLevel: 'info',\n mode: 'development',\n root: '/test/cwd',\n server: {\n host: undefined,\n port: 3333,\n strictPort: true,\n },\n })\n\n expect(config.define).toMatchObject({\n __SANITY_STAGING__: false,\n 'process.env.MODE': '\"development\"',\n 'process.env.SC_DISABLE_SPEEDY': '\"false\"',\n 'process.env.STUDIO_VAR': '\"studio-value\"',\n })\n\n expect(config.plugins).toHaveLength(4)\n expect(config.resolve?.dedupe).toEqual(['styled-components'])\n })\n\n test('should create vite config for app mode', async () => {\n const options = {\n cwd: '/test/cwd',\n isApp: true,\n mode: 'development' as const,\n reactCompiler: undefined,\n }\n\n const config = await getViteConfig(options)\n\n expect(config.envPrefix).toBe('SANITY_APP_')\n expect(config.define).toMatchObject({\n 'process.env.APP_VAR': '\"app-value\"',\n })\n })\n\n test('should create production config with minification', async () => {\n const options = {\n cwd: '/test/cwd',\n minify: true,\n mode: 'production' as const,\n outputDir: '/custom/output',\n reactCompiler: undefined,\n sourceMap: false,\n }\n\n const config = await getViteConfig(options)\n\n expect(config.mode).toBe('production')\n expect(config.logLevel).toBe('silent')\n expect(config.build).toMatchObject({\n assetsDir: 'static',\n emptyOutDir: false,\n minify: 'esbuild',\n outDir: '/custom/output',\n sourcemap: false,\n })\n\n expect(config.build?.rollupOptions).toMatchObject({\n external: ['external1', 'external2'],\n input: {\n sanity: '/test/cwd/.sanity/runtime/app.js',\n },\n })\n })\n\n test('should create production config without minification', async () => {\n const options = {\n cwd: '/test/cwd',\n minify: false,\n mode: 'production' as const,\n reactCompiler: undefined,\n }\n\n const config = await getViteConfig(options)\n\n expect(config.build?.minify).toBe(false)\n })\n\n test('should normalize base path correctly', async () => {\n const {normalizeBasePath} = await import('../normalizeBasePath.js')\n\n const options = {\n basePath: 'custom/path',\n cwd: '/test/cwd',\n mode: 'development' as const,\n reactCompiler: undefined,\n }\n\n await getViteConfig(options)\n\n expect(normalizeBasePath).toHaveBeenCalledWith('custom/path')\n })\n\n test('should handle custom server options', async () => {\n const options = {\n cwd: '/test/cwd',\n mode: 'development' as const,\n reactCompiler: undefined,\n server: {\n host: '0.0.0.0',\n port: 8080,\n },\n }\n\n const config = await getViteConfig(options)\n\n expect(config.server).toMatchObject({\n host: '0.0.0.0',\n port: 8080,\n strictPort: true,\n })\n })\n\n test('should handle react compiler configuration', async () => {\n const {default: viteReact} = await import('@vitejs/plugin-react')\n\n const reactCompilerConfig = {\n sources: ['src/**/*.tsx'],\n target: '18' as const,\n }\n\n const options = {\n cwd: '/test/cwd',\n mode: 'development' as const,\n reactCompiler: reactCompilerConfig,\n }\n\n await getViteConfig(options)\n\n expect(viteReact).toHaveBeenCalledWith({\n babel: {\n plugins: [['babel-plugin-react-compiler', reactCompilerConfig]],\n },\n })\n })\n\n test('should set staging flag when SANITY_INTERNAL_ENV is staging', async () => {\n vi.stubEnv('SANITY_INTERNAL_ENV', 'staging')\n\n const options = {\n cwd: '/test/cwd',\n mode: 'development' as const,\n reactCompiler: undefined,\n }\n\n const config = await getViteConfig(options)\n\n expect(config.define?.__SANITY_STAGING__).toBe(true)\n })\n\n test('should handle import map for external dependencies', async () => {\n const importMap = {\n imports: {\n react: 'https://esm.sh/react@18',\n 'react-dom': 'https://esm.sh/react-dom@18',\n },\n }\n\n const options = {\n cwd: '/test/cwd',\n importMap,\n mode: 'production' as const,\n reactCompiler: undefined,\n }\n\n const {createExternalFromImportMap} = await import('../createExternalFromImportMap.js')\n const {sanityBuildEntries} = await import('../../../server/vite/plugin-sanity-build-entries.js')\n\n await getViteConfig(options)\n\n expect(createExternalFromImportMap).toHaveBeenCalledWith(importMap)\n expect(sanityBuildEntries).toHaveBeenCalledWith({\n basePath: '/',\n cwd: '/test/cwd',\n importMap,\n isApp: undefined,\n })\n })\n\n test('should throw error when sanity package path cannot be resolved', async () => {\n const {readPackageUp} = await import('read-package-up')\n vi.mocked(readPackageUp).mockResolvedValue(undefined)\n\n const options = {\n cwd: '/test/cwd',\n mode: 'development' as const,\n reactCompiler: undefined,\n }\n\n await expect(getViteConfig(options)).rejects.toThrow(\n 'Unable to resolve `@sanity/cli` module root',\n )\n })\n\n test('should configure favicon plugin with correct paths', async () => {\n const {sanityFaviconsPlugin} = await import('../../../server/vite/plugin-sanity-favicons.js')\n\n const options = {\n basePath: '/studio',\n cwd: '/test/cwd',\n mode: 'development' as const,\n reactCompiler: undefined,\n }\n\n await getViteConfig(options)\n\n expect(sanityFaviconsPlugin).toHaveBeenCalledWith({\n customFaviconsPath: '/test/cwd/static',\n defaultFaviconsPath: '/mock/path/to/sanity/static/favicons',\n staticUrlPath: '/studio/static',\n })\n })\n})\n\ndescribe('#finalizeViteConfig', () => {\n beforeEach(() => {\n vi.clearAllMocks()\n })\n\n afterEach(() => {\n vi.unstubAllEnvs()\n })\n\n test('should merge sanity entry into existing config', async () => {\n const {mergeConfig} = await import('vite')\n\n const inputConfig: InlineConfig = {\n build: {\n rollupOptions: {\n input: {\n main: '/test/main.js',\n },\n },\n },\n root: '/test/root',\n }\n\n const expectedMerge = {\n build: {\n rollupOptions: {\n input: {\n sanity: '/test/root/.sanity/runtime/app.js',\n },\n },\n },\n }\n\n vi.mocked(mergeConfig).mockReturnValue({\n ...inputConfig,\n build: {\n rollupOptions: {\n input: {\n main: '/test/main.js',\n sanity: '/test/root/.sanity/runtime/app.js',\n },\n },\n },\n })\n\n await finalizeViteConfig(inputConfig)\n\n expect(mergeConfig).toHaveBeenCalledWith(inputConfig, expectedMerge)\n })\n\n test('should throw error when build.rollupOptions.input is not an object', async () => {\n const inputConfig: InlineConfig = {\n build: {\n rollupOptions: {\n input: '/single/entry.js',\n },\n },\n root: '/test/root',\n }\n\n await expect(finalizeViteConfig(inputConfig)).rejects.toThrow(\n 'Vite config must contain `build.rollupOptions.input`, and it must be an object',\n )\n })\n\n test('should throw error when root is missing', async () => {\n const inputConfig: InlineConfig = {\n build: {\n rollupOptions: {\n input: {\n main: '/test/main.js',\n },\n },\n },\n }\n\n await expect(finalizeViteConfig(inputConfig)).rejects.toThrow(\n 'Vite config must contain `root` property, and must point to the Sanity root directory',\n )\n })\n})\n\ndescribe('#extendViteConfigWithUserConfig', () => {\n beforeEach(() => {\n vi.clearAllMocks()\n })\n\n afterEach(() => {\n vi.unstubAllEnvs()\n })\n\n test('should return default config when user config is undefined', async () => {\n const defaultConfig: InlineConfig = {\n mode: 'development',\n root: '/test',\n }\n const env: ConfigEnv = {command: 'build', mode: 'development'}\n\n const result = await extendViteConfigWithUserConfig(env, defaultConfig, undefined as never)\n\n expect(result).toBe(defaultConfig)\n })\n\n test('should merge user config object with default config', async () => {\n const {mergeConfig} = await import('vite')\n\n const defaultConfig: InlineConfig = {\n mode: 'development',\n root: '/test',\n }\n const userConfig = {\n define: {custom: 'value'},\n server: {port: 4000},\n }\n const env: ConfigEnv = {command: 'build', mode: 'development'}\n\n const mergedConfig = {\n ...defaultConfig,\n ...userConfig,\n }\n vi.mocked(mergeConfig).mockReturnValue(mergedConfig)\n\n const result = await extendViteConfigWithUserConfig(env, defaultConfig, userConfig)\n\n expect(mergeConfig).toHaveBeenCalledWith(defaultConfig, userConfig)\n expect(result).toBe(mergedConfig)\n })\n\n test('should call user config function with default config and env', async () => {\n const defaultConfig: InlineConfig = {\n mode: 'development',\n root: '/test',\n }\n const modifiedConfig = {\n ...defaultConfig,\n server: {port: 5000},\n }\n const userConfigFn = vi.fn().mockResolvedValue(modifiedConfig)\n const env: ConfigEnv = {command: 'build', mode: 'development'}\n\n const result = await extendViteConfigWithUserConfig(env, defaultConfig, userConfigFn)\n\n expect(userConfigFn).toHaveBeenCalledWith(defaultConfig, env)\n expect(result).toBe(modifiedConfig)\n })\n})\n\ndescribe('#onRollupWarn and #suppressUnusedImport helper functions', () => {\n test('should suppress useDebugValue unused import warnings', async () => {\n // Test the internal suppressUnusedImport function by testing its behavior through onRollupWarn\n const mockWarn = vi.fn()\n\n // Create a warning that should be suppressed\n const warning = {\n code: 'UNUSED_EXTERNAL_IMPORT' as const,\n message: 'useDebugValue is imported from external module \"react\"',\n names: ['useDebugValue', 'useState'],\n }\n\n // Access the onRollupWarn function by testing getViteConfig in production mode\n // which includes the onwarn callback\n const options = {\n cwd: '/test/cwd',\n mode: 'production' as const,\n reactCompiler: undefined,\n }\n\n const config = await getViteConfig(options)\n const onwarn = config.build?.rollupOptions?.onwarn\n\n expect(onwarn).toBeDefined()\n\n // Test that useDebugValue warnings are suppressed\n onwarn?.(warning, mockWarn)\n\n // Should modify warning.names to remove useDebugValue\n expect(warning.names).toEqual(['useState'])\n // Should still call warn since there are other names\n expect(mockWarn).toHaveBeenCalledWith(warning)\n })\n\n test('should completely suppress warning when only useDebugValue is present', async () => {\n const mockWarn = vi.fn()\n\n const warning = {\n code: 'UNUSED_EXTERNAL_IMPORT' as const,\n message: 'useDebugValue is imported from external module \"react\"',\n names: ['useDebugValue'],\n }\n\n const config = await getViteConfig({\n cwd: '/test/cwd',\n mode: 'production' as const,\n reactCompiler: undefined,\n })\n\n const onwarn = config.build?.rollupOptions?.onwarn\n onwarn?.(warning, mockWarn)\n\n // Should not call warn at all when only useDebugValue was present\n expect(mockWarn).not.toHaveBeenCalled()\n })\n\n test('should suppress warnings from node_modules', async () => {\n const mockWarn = vi.fn()\n\n const warning = {\n code: 'UNUSED_EXTERNAL_IMPORT' as const,\n ids: ['/project/node_modules/some-lib/index.js'],\n message: 'Some warning from node_modules',\n }\n\n const config = await getViteConfig({\n cwd: '/test/cwd',\n mode: 'production' as const,\n reactCompiler: undefined,\n })\n\n const onwarn = config.build?.rollupOptions?.onwarn\n onwarn?.(warning, mockWarn)\n\n // Should not call warn for node_modules warnings\n expect(mockWarn).not.toHaveBeenCalled()\n })\n\n test('should not suppress other warning types', async () => {\n const mockWarn = vi.fn()\n\n const warning = {\n code: 'CIRCULAR_DEPENDENCY' as const,\n message: 'Circular dependency detected',\n }\n\n const config = await getViteConfig({\n cwd: '/test/cwd',\n mode: 'production' as const,\n reactCompiler: undefined,\n })\n\n const onwarn = config.build?.rollupOptions?.onwarn\n onwarn?.(warning, mockWarn)\n\n // Should call warn for other warning types\n expect(mockWarn).toHaveBeenCalledWith(warning)\n })\n})\n"],"names":["afterEach","beforeEach","describe","expect","test","vi","extendViteConfigWithUserConfig","finalizeViteConfig","getViteConfig","mock","readPackageUp","fn","default","name","mergeConfig","base","override","createExternalFromImportMap","getSanityPkgExportAliases","Promise","resolve","alias1","alias2","getAppEnvironmentVariables","getStudioEnvironmentVariables","normalizeBasePath","path","replace","sanityBuildEntries","sanityFaviconsPlugin","sanityRuntimeRewritePlugin","clearAllMocks","mocked","mockResolvedValue","packageJson","unstubAllEnvs","options","cwd","mode","reactCompiler","undefined","config","toMatchObject","build","outDir","sourcemap","cacheDir","configFile","envPrefix","logLevel","root","server","host","port","strictPort","define","__SANITY_STAGING__","plugins","toHaveLength","dedupe","toEqual","isApp","toBe","minify","outputDir","sourceMap","assetsDir","emptyOutDir","rollupOptions","external","input","sanity","basePath","toHaveBeenCalledWith","viteReact","reactCompilerConfig","sources","target","babel","stubEnv","importMap","imports","react","rejects","toThrow","customFaviconsPath","defaultFaviconsPath","staticUrlPath","inputConfig","main","expectedMerge","mockReturnValue","defaultConfig","env","command","result","userConfig","custom","mergedConfig","modifiedConfig","userConfigFn","mockWarn","warning","code","message","names","onwarn","toBeDefined","not","toHaveBeenCalled","ids"],"mappings":"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"}