@sanity/cli 6.0.0-alpha.9 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +602 -258
- package/bin/run.js +2 -0
- package/dist/SanityHelp.js +51 -23
- package/dist/SanityHelp.js.map +1 -1
- package/dist/actions/auth/authServer.js +28 -22
- package/dist/actions/auth/authServer.js.map +1 -1
- package/dist/actions/auth/login/getProvider.js +49 -38
- package/dist/actions/auth/login/getProvider.js.map +1 -1
- package/dist/actions/auth/login/getSSOProvider.js +25 -19
- package/dist/actions/auth/login/getSSOProvider.js.map +1 -1
- package/dist/actions/auth/login/login.js +12 -33
- package/dist/actions/auth/login/login.js.map +1 -1
- package/dist/actions/auth/types.js.map +1 -1
- package/dist/actions/backup/downloadAsset.js +9 -9
- package/dist/actions/backup/downloadAsset.js.map +1 -1
- package/dist/actions/backup/downloadDocument.js +8 -8
- package/dist/actions/backup/downloadDocument.js.map +1 -1
- package/dist/actions/build/buildApp.js +55 -18
- package/dist/actions/build/buildApp.js.map +1 -1
- package/dist/actions/build/buildStaticFiles.js +3 -2
- package/dist/actions/build/buildStaticFiles.js.map +1 -1
- package/dist/actions/build/buildStudio.js +72 -44
- package/dist/actions/build/buildStudio.js.map +1 -1
- package/dist/actions/build/buildVendorDependencies.js +18 -52
- package/dist/actions/build/buildVendorDependencies.js.map +1 -1
- package/dist/actions/build/checkRequiredDependencies.js +13 -8
- package/dist/actions/build/checkRequiredDependencies.js.map +1 -1
- package/dist/actions/build/checkStudioDependencyVersions.js +19 -17
- package/dist/actions/build/checkStudioDependencyVersions.js.map +1 -1
- package/dist/actions/build/createExternalFromImportMap.js +1 -1
- package/dist/actions/build/createExternalFromImportMap.js.map +1 -1
- package/dist/actions/build/determineBasePath.js +5 -2
- package/dist/actions/build/determineBasePath.js.map +1 -1
- package/dist/actions/build/getViteConfig.js +47 -4
- package/dist/actions/build/getViteConfig.js.map +1 -1
- package/dist/actions/build/handlePrereleaseVersions.js +44 -0
- package/dist/actions/build/handlePrereleaseVersions.js.map +1 -0
- package/dist/actions/build/renderDocument.js +6 -10
- package/dist/actions/build/renderDocument.js.map +1 -1
- package/dist/actions/build/renderDocumentWorker/components/BasicDocument.js +4 -4
- package/dist/actions/build/renderDocumentWorker/components/BasicDocument.js.map +1 -1
- package/dist/actions/build/renderDocumentWorker/components/DefaultDocument.js +3 -3
- package/dist/actions/build/renderDocumentWorker/components/DefaultDocument.js.map +1 -1
- package/dist/actions/build/renderDocumentWorker/components/GlobalErrorHandler.js +1 -0
- package/dist/actions/build/renderDocumentWorker/components/GlobalErrorHandler.js.map +1 -1
- package/dist/actions/build/renderDocumentWorker/getDocumentComponent.js +2 -2
- package/dist/actions/build/renderDocumentWorker/getDocumentComponent.js.map +1 -1
- package/dist/actions/build/renderDocumentWorker/renderDocumentWorker.js +1 -1
- package/dist/actions/build/renderDocumentWorker/renderDocumentWorker.js.map +1 -1
- package/dist/actions/build/shouldAutoUpdate.js +2 -0
- package/dist/actions/build/shouldAutoUpdate.js.map +1 -1
- package/dist/actions/build/types.js.map +1 -1
- package/dist/actions/build/writeFavicons.js +3 -5
- package/dist/actions/build/writeFavicons.js.map +1 -1
- package/dist/actions/build/writeSanityRuntime.js +4 -3
- package/dist/actions/build/writeSanityRuntime.js.map +1 -1
- package/dist/actions/codemods/reactIconsV3.js +2 -2
- package/dist/actions/codemods/reactIconsV3.js.map +1 -1
- package/dist/actions/dataset/create.js +7 -1
- package/dist/actions/dataset/create.js.map +1 -1
- package/dist/actions/dataset/determineDatasetAclMode.js.map +1 -1
- package/dist/actions/dataset/resolveDataset.js +26 -0
- package/dist/actions/dataset/resolveDataset.js.map +1 -0
- package/dist/actions/debug/formatters.js +22 -0
- package/dist/actions/debug/formatters.js.map +1 -0
- package/dist/actions/deploy/createStudioUserApplication.js +17 -4
- package/dist/actions/deploy/createStudioUserApplication.js.map +1 -1
- package/dist/actions/deploy/deployApp.js +41 -15
- package/dist/actions/deploy/deployApp.js.map +1 -1
- package/dist/actions/deploy/deployStudio.js +92 -44
- package/dist/actions/deploy/deployStudio.js.map +1 -1
- package/dist/actions/deploy/deployStudioSchemasAndManifests.js +55 -0
- package/dist/actions/deploy/deployStudioSchemasAndManifests.js.map +1 -0
- package/dist/actions/deploy/deployStudioSchemasAndManifests.worker.js +120 -0
- package/dist/actions/deploy/deployStudioSchemasAndManifests.worker.js.map +1 -0
- package/dist/actions/deploy/findUserApplicationForStudio.js +35 -12
- package/dist/actions/deploy/findUserApplicationForStudio.js.map +1 -1
- package/dist/actions/deploy/types.js +10 -1
- package/dist/actions/deploy/types.js.map +1 -1
- package/dist/actions/deploy/urlUtils.js +21 -0
- package/dist/actions/deploy/urlUtils.js.map +1 -0
- package/dist/actions/dev/getDashboardAppUrl.js +48 -0
- package/dist/actions/dev/getDashboardAppUrl.js.map +1 -0
- package/dist/actions/dev/getDevServerConfig.js +7 -3
- package/dist/actions/dev/getDevServerConfig.js.map +1 -1
- package/dist/actions/dev/startAppDevServer.js +3 -3
- package/dist/actions/dev/startAppDevServer.js.map +1 -1
- package/dist/actions/dev/startStudioDevServer.js +14 -14
- package/dist/actions/dev/startStudioDevServer.js.map +1 -1
- package/dist/actions/doctor/checks/cliInstallation.js +56 -0
- package/dist/actions/doctor/checks/cliInstallation.js.map +1 -0
- package/dist/actions/doctor/checks/index.js +16 -0
- package/dist/actions/doctor/checks/index.js.map +1 -0
- package/dist/actions/doctor/runDoctorChecks.js +56 -0
- package/dist/actions/doctor/runDoctorChecks.js.map +1 -0
- package/dist/actions/doctor/types.js +3 -0
- package/dist/actions/doctor/types.js.map +1 -0
- package/dist/actions/documents/types.js.map +1 -1
- package/dist/actions/documents/validate.js +11 -2
- package/dist/actions/documents/validate.js.map +1 -1
- package/dist/actions/documents/validateDocuments.worker.js +4 -4
- package/dist/actions/documents/validateDocuments.worker.js.map +1 -1
- package/dist/actions/documents/validation/reporters/jsonReporter.js +1 -1
- package/dist/actions/documents/validation/reporters/jsonReporter.js.map +1 -1
- package/dist/actions/documents/validation/reporters/ndjsonReporter.js +1 -1
- package/dist/actions/documents/validation/reporters/ndjsonReporter.js.map +1 -1
- package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.js +1 -1
- package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.js.map +1 -1
- package/dist/actions/documents/validation/reporters/prettyReporter/tree.js +108 -0
- package/dist/actions/documents/validation/reporters/prettyReporter/tree.js.map +1 -0
- package/dist/actions/graphql/SchemaError.js +4 -26
- package/dist/actions/graphql/SchemaError.js.map +1 -1
- package/dist/actions/graphql/__tests__/fixtures/many-self-refs.js +540 -0
- package/dist/actions/graphql/__tests__/fixtures/many-self-refs.js.map +1 -0
- package/dist/actions/graphql/__tests__/fixtures/test-studio.js +1143 -0
- package/dist/actions/graphql/__tests__/fixtures/test-studio.js.map +1 -0
- package/dist/actions/graphql/__tests__/fixtures/union-refs.js +591 -0
- package/dist/actions/graphql/__tests__/fixtures/union-refs.js.map +1 -0
- package/dist/actions/graphql/__tests__/helpers.js +23 -0
- package/dist/actions/graphql/__tests__/helpers.js.map +1 -0
- package/dist/actions/graphql/extractFromSanitySchema.js +5 -5
- package/dist/actions/graphql/extractFromSanitySchema.js.map +1 -1
- package/dist/actions/graphql/extractGraphQLAPIs.js +150 -0
- package/dist/actions/graphql/extractGraphQLAPIs.js.map +1 -0
- package/dist/actions/graphql/extractGraphQLAPIs.worker.js +12 -0
- package/dist/actions/graphql/extractGraphQLAPIs.worker.js.map +1 -0
- package/dist/actions/graphql/gen1/generateTypeFilters.js +1 -1
- package/dist/actions/graphql/gen1/generateTypeFilters.js.map +1 -1
- package/dist/actions/graphql/gen1/generateTypeQueries.js +2 -1
- package/dist/actions/graphql/gen1/generateTypeQueries.js.map +1 -1
- package/dist/actions/graphql/gen1/index.js +5 -5
- package/dist/actions/graphql/gen1/index.js.map +1 -1
- package/dist/actions/graphql/gen2/generateTypeQueries.js +1 -1
- package/dist/actions/graphql/gen2/generateTypeQueries.js.map +1 -1
- package/dist/actions/graphql/gen2/index.js +6 -6
- package/dist/actions/graphql/gen2/index.js.map +1 -1
- package/dist/actions/graphql/gen3/generateTypeQueries.js +3 -4
- package/dist/actions/graphql/gen3/generateTypeQueries.js.map +1 -1
- package/dist/actions/graphql/gen3/index.js +6 -7
- package/dist/actions/graphql/gen3/index.js.map +1 -1
- package/dist/actions/graphql/getGraphQLAPIs.js +15 -57
- package/dist/actions/graphql/getGraphQLAPIs.js.map +1 -1
- package/dist/actions/graphql/getGraphQLAPIs.worker.js +75 -106
- package/dist/actions/graphql/getGraphQLAPIs.worker.js.map +1 -1
- package/dist/actions/graphql/helpers.js +13 -0
- package/dist/actions/graphql/helpers.js.map +1 -1
- package/dist/actions/graphql/resolveGraphQLApisFromWorkspaces.js +187 -0
- package/dist/actions/graphql/resolveGraphQLApisFromWorkspaces.js.map +1 -0
- package/dist/actions/graphql/types.js +1 -1
- package/dist/actions/graphql/types.js.map +1 -1
- package/dist/actions/init/bootstrapLocalTemplate.js +10 -8
- package/dist/actions/init/bootstrapLocalTemplate.js.map +1 -1
- package/dist/actions/init/bootstrapRemoteTemplate.js +6 -5
- package/dist/actions/init/bootstrapRemoteTemplate.js.map +1 -1
- package/dist/actions/init/bootstrapTemplate.js.map +1 -1
- package/dist/actions/init/checkNextJsReactCompatibility.js +1 -1
- package/dist/actions/init/checkNextJsReactCompatibility.js.map +1 -1
- package/dist/actions/init/createAppCliConfig.js.map +1 -1
- package/dist/actions/init/createCliConfig.js.map +1 -1
- package/dist/actions/init/createPackageManifest.js +21 -9
- package/dist/actions/init/createPackageManifest.js.map +1 -1
- package/dist/actions/init/remoteTemplate.js +1 -2
- package/dist/actions/init/remoteTemplate.js.map +1 -1
- package/dist/actions/init/sdkAppDependencies.js +19 -0
- package/dist/actions/init/sdkAppDependencies.js.map +1 -0
- package/dist/actions/init/studioDependencies.js.map +1 -0
- package/dist/actions/init/templates/appQuickstart.js +1 -22
- package/dist/actions/init/templates/appQuickstart.js.map +1 -1
- package/dist/actions/init/templates/appSanityUi.js +3 -22
- package/dist/actions/init/templates/appSanityUi.js.map +1 -1
- package/dist/actions/init/types.js.map +1 -1
- package/dist/actions/manifest/SchemaIcon.js +6 -4
- package/dist/actions/manifest/SchemaIcon.js.map +1 -1
- package/dist/actions/manifest/blockTypeTransformer.js +67 -0
- package/dist/actions/manifest/blockTypeTransformer.js.map +1 -0
- package/dist/actions/manifest/debug.js +4 -0
- package/dist/actions/manifest/debug.js.map +1 -0
- package/dist/actions/manifest/extractAppManifest.js +39 -22
- package/dist/actions/manifest/extractAppManifest.js.map +1 -1
- package/dist/actions/manifest/extractManifest.js +27 -78
- package/dist/actions/manifest/extractManifest.js.map +1 -1
- package/dist/actions/manifest/extractManifest.worker.js +30 -0
- package/dist/actions/manifest/extractManifest.worker.js.map +1 -0
- package/dist/actions/manifest/extractWorkspaceManifest.js +31 -372
- package/dist/actions/manifest/extractWorkspaceManifest.js.map +1 -1
- package/dist/actions/manifest/iconResolver.js +30 -0
- package/dist/actions/manifest/iconResolver.js.map +1 -0
- package/dist/actions/manifest/referenceTransformer.js +51 -0
- package/dist/actions/manifest/referenceTransformer.js.map +1 -0
- package/dist/actions/manifest/schemaTypeHelpers.js +2 -2
- package/dist/actions/manifest/schemaTypeHelpers.js.map +1 -1
- package/dist/actions/manifest/schemaTypeTransformer.js +168 -0
- package/dist/actions/manifest/schemaTypeTransformer.js.map +1 -0
- package/dist/actions/manifest/transformerUtils.js +40 -0
- package/dist/actions/manifest/transformerUtils.js.map +1 -0
- package/dist/actions/manifest/types.js +5 -0
- package/dist/actions/manifest/types.js.map +1 -1
- package/dist/actions/manifest/validationTransformer.js +84 -0
- package/dist/actions/manifest/validationTransformer.js.map +1 -0
- package/dist/actions/manifest/writeManifestFile.js +30 -0
- package/dist/actions/manifest/writeManifestFile.js.map +1 -0
- package/dist/actions/manifest/writeWorkspaceFiles.js +30 -0
- package/dist/actions/manifest/writeWorkspaceFiles.js.map +1 -0
- package/dist/actions/mcp/detectAvailableEditors.js +16 -4
- package/dist/actions/mcp/detectAvailableEditors.js.map +1 -1
- package/dist/actions/mcp/editorConfigs.js +64 -6
- package/dist/actions/mcp/editorConfigs.js.map +1 -1
- package/dist/actions/mcp/setupMCP.js.map +1 -1
- package/dist/actions/mcp/writeMCPConfig.js +27 -15
- package/dist/actions/mcp/writeMCPConfig.js.map +1 -1
- package/dist/actions/media/buildNdjsonIndex.js +32 -0
- package/dist/actions/media/buildNdjsonIndex.js.map +1 -0
- package/dist/actions/media/importAspects.js +2 -11
- package/dist/actions/media/importAspects.js.map +1 -1
- package/dist/actions/media/importMedia.js +22 -18
- package/dist/actions/media/importMedia.js.map +1 -1
- package/dist/actions/organizations/findOrganizationByUserName.js +5 -0
- package/dist/actions/organizations/findOrganizationByUserName.js.map +1 -0
- package/dist/actions/organizations/getOrganization.js +3 -2
- package/dist/actions/organizations/getOrganization.js.map +1 -1
- package/dist/actions/organizations/getOrganizationChoices.js +27 -19
- package/dist/actions/organizations/getOrganizationChoices.js.map +1 -1
- package/dist/actions/organizations/types.js +3 -0
- package/dist/actions/organizations/types.js.map +1 -0
- package/dist/actions/projects/getManageUrl.js +1 -2
- package/dist/actions/projects/getManageUrl.js.map +1 -1
- package/dist/actions/schema/deleteSchemaAction.js +14 -30
- package/dist/actions/schema/deleteSchemaAction.js.map +1 -1
- package/dist/actions/schema/deploySchemas.js +22 -91
- package/dist/actions/schema/deploySchemas.js.map +1 -1
- package/dist/actions/schema/extractSanitySchema.worker.js +0 -5
- package/dist/actions/schema/extractSanitySchema.worker.js.map +1 -1
- package/dist/actions/schema/extractSanityWorkspace.worker.js +24 -0
- package/dist/actions/schema/extractSanityWorkspace.worker.js.map +1 -0
- package/dist/actions/schema/extractSchema.js +8 -40
- package/dist/actions/schema/extractSchema.js.map +1 -1
- package/dist/actions/schema/extractSchemaWatcher.js +128 -0
- package/dist/actions/schema/extractSchemaWatcher.js.map +1 -0
- package/dist/actions/schema/formatSchemaValidation.js +5 -1
- package/dist/actions/schema/formatSchemaValidation.js.map +1 -1
- package/dist/actions/schema/getExtractOptions.js +16 -0
- package/dist/actions/schema/getExtractOptions.js.map +1 -0
- package/dist/actions/schema/listSchemas.js +53 -56
- package/dist/actions/schema/listSchemas.js.map +1 -1
- package/dist/actions/schema/matchSchemaPattern.js +22 -0
- package/dist/actions/schema/matchSchemaPattern.js.map +1 -0
- package/dist/actions/schema/runSchemaExtraction.js +39 -0
- package/dist/actions/schema/runSchemaExtraction.js.map +1 -0
- package/dist/actions/schema/types.js +8 -0
- package/dist/actions/schema/types.js.map +1 -1
- package/dist/actions/schema/uniqueWorkspaces.worker.js +24 -0
- package/dist/actions/schema/uniqueWorkspaces.worker.js.map +1 -0
- package/dist/actions/schema/updateWorkspaceSchema.js +63 -0
- package/dist/actions/schema/updateWorkspaceSchema.js.map +1 -0
- package/dist/actions/schema/uploadSchemaToLexicon.js +87 -0
- package/dist/actions/schema/uploadSchemaToLexicon.js.map +1 -0
- package/dist/actions/schema/utils/SchemaExtractionError.js +10 -0
- package/dist/actions/schema/utils/SchemaExtractionError.js.map +1 -0
- package/dist/actions/schema/utils/schemaStoreValidation.js +1 -15
- package/dist/actions/schema/utils/schemaStoreValidation.js.map +1 -1
- package/dist/actions/schema/utils/uniqByProjectIdDataset.js +1 -1
- package/dist/actions/schema/utils/uniqByProjectIdDataset.js.map +1 -1
- package/dist/actions/schema/validateSchema.worker.js +1 -8
- package/dist/actions/schema/validateSchema.worker.js.map +1 -1
- package/dist/actions/schema/watchExtractSchema.js +72 -0
- package/dist/actions/schema/watchExtractSchema.js.map +1 -0
- package/dist/actions/telemetry/isTrueish.js +10 -0
- package/dist/actions/telemetry/isTrueish.js.map +1 -0
- package/dist/actions/telemetry/resolveConsent.js +2 -1
- package/dist/actions/telemetry/resolveConsent.js.map +1 -1
- package/dist/actions/telemetry/setConsent.js +2 -1
- package/dist/actions/telemetry/setConsent.js.map +1 -1
- package/dist/actions/users/getMembersForProject.js.map +1 -1
- package/dist/actions/users/getPendingInvitations.js +1 -1
- package/dist/actions/users/getPendingInvitations.js.map +1 -1
- package/dist/actions/users/types.js.map +1 -1
- package/dist/actions/versions/filterSanityModules.js.map +1 -1
- package/dist/actions/versions/findSanityModulesVersions.js +2 -3
- package/dist/actions/versions/findSanityModulesVersions.js.map +1 -1
- package/dist/actions/versions/getFormatters.js +1 -1
- package/dist/actions/versions/getFormatters.js.map +1 -1
- package/dist/actions/versions/tryFindLatestVersion.js +1 -1
- package/dist/actions/versions/tryFindLatestVersion.js.map +1 -1
- package/dist/commands/backup/disable.js +22 -7
- package/dist/commands/backup/disable.js.map +1 -1
- package/dist/commands/backup/download.js +19 -10
- package/dist/commands/backup/download.js.map +1 -1
- package/dist/commands/backup/enable.js +22 -7
- package/dist/commands/backup/enable.js.map +1 -1
- package/dist/commands/backup/list.js +20 -8
- package/dist/commands/backup/list.js.map +1 -1
- package/dist/commands/build.js +2 -5
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/cors/add.js +20 -7
- package/dist/commands/cors/add.js.map +1 -1
- package/dist/commands/cors/delete.js +22 -7
- package/dist/commands/cors/delete.js.map +1 -1
- package/dist/commands/cors/list.js +22 -7
- package/dist/commands/cors/list.js.map +1 -1
- package/dist/commands/dataset/alias/create.js +26 -7
- package/dist/commands/dataset/alias/create.js.map +1 -1
- package/dist/commands/dataset/alias/delete.js +20 -7
- package/dist/commands/dataset/alias/delete.js.map +1 -1
- package/dist/commands/dataset/alias/link.js +20 -7
- package/dist/commands/dataset/alias/link.js.map +1 -1
- package/dist/commands/dataset/alias/unlink.js +20 -7
- package/dist/commands/dataset/alias/unlink.js.map +1 -1
- package/dist/commands/dataset/copy.js +45 -30
- package/dist/commands/dataset/copy.js.map +1 -1
- package/dist/commands/dataset/create.js +32 -7
- package/dist/commands/dataset/create.js.map +1 -1
- package/dist/commands/dataset/delete.js +16 -7
- package/dist/commands/dataset/delete.js.map +1 -1
- package/dist/commands/dataset/embeddings/disable.js +77 -0
- package/dist/commands/dataset/embeddings/disable.js.map +1 -0
- package/dist/commands/dataset/embeddings/enable.js +141 -0
- package/dist/commands/dataset/embeddings/enable.js.map +1 -0
- package/dist/commands/dataset/embeddings/status.js +72 -0
- package/dist/commands/dataset/embeddings/status.js.map +1 -0
- package/dist/commands/dataset/export.js +25 -16
- package/dist/commands/dataset/export.js.map +1 -1
- package/dist/commands/dataset/import.js +306 -1
- package/dist/commands/dataset/import.js.map +1 -1
- package/dist/commands/dataset/list.js +22 -7
- package/dist/commands/dataset/list.js.map +1 -1
- package/dist/commands/dataset/visibility/get.js +18 -7
- package/dist/commands/dataset/visibility/get.js.map +1 -1
- package/dist/commands/dataset/visibility/set.js +22 -7
- package/dist/commands/dataset/visibility/set.js.map +1 -1
- package/dist/commands/debug.js +4 -2
- package/dist/commands/debug.js.map +1 -1
- package/dist/commands/deploy.js +22 -11
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.js +2 -4
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/doctor.js +125 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/documents/create.js +19 -12
- package/dist/commands/documents/create.js.map +1 -1
- package/dist/commands/documents/delete.js +19 -12
- package/dist/commands/documents/delete.js.map +1 -1
- package/dist/commands/documents/get.js +17 -12
- package/dist/commands/documents/get.js.map +1 -1
- package/dist/commands/documents/query.js +26 -18
- package/dist/commands/documents/query.js.map +1 -1
- package/dist/commands/documents/validate.js +32 -10
- package/dist/commands/documents/validate.js.map +1 -1
- package/dist/commands/graphql/deploy.js +58 -30
- package/dist/commands/graphql/deploy.js.map +1 -1
- package/dist/commands/graphql/list.js +15 -7
- package/dist/commands/graphql/list.js.map +1 -1
- package/dist/commands/graphql/undeploy.js +37 -19
- package/dist/commands/graphql/undeploy.js.map +1 -1
- package/dist/commands/hook/attempt.js +22 -7
- package/dist/commands/hook/attempt.js.map +1 -1
- package/dist/commands/hook/create.js +23 -8
- package/dist/commands/hook/create.js.map +1 -1
- package/dist/commands/hook/delete.js +22 -7
- package/dist/commands/hook/delete.js.map +1 -1
- package/dist/commands/hook/list.js +22 -7
- package/dist/commands/hook/list.js.map +1 -1
- package/dist/commands/hook/logs.js +21 -8
- package/dist/commands/hook/logs.js.map +1 -1
- package/dist/commands/init.js +46 -28
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.js +19 -6
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.js +8 -6
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/manage.js +0 -1
- package/dist/commands/manage.js.map +1 -1
- package/dist/commands/manifest/extract.js +14 -10
- package/dist/commands/manifest/extract.js.map +1 -1
- package/dist/commands/mcp/configure.js +1 -1
- package/dist/commands/mcp/configure.js.map +1 -1
- package/dist/commands/media/create-aspect.js +4 -4
- package/dist/commands/media/create-aspect.js.map +1 -1
- package/dist/commands/media/delete-aspect.js +9 -7
- package/dist/commands/media/delete-aspect.js.map +1 -1
- package/dist/commands/media/deploy-aspect.js +22 -9
- package/dist/commands/media/deploy-aspect.js.map +1 -1
- package/dist/commands/media/export.js +9 -7
- package/dist/commands/media/export.js.map +1 -1
- package/dist/commands/media/import.js +10 -8
- package/dist/commands/media/import.js.map +1 -1
- package/dist/commands/preview.js +2 -4
- package/dist/commands/preview.js.map +1 -1
- package/dist/commands/projects/list.js +2 -1
- package/dist/commands/projects/list.js.map +1 -1
- package/dist/commands/schema/delete.js +33 -34
- package/dist/commands/schema/delete.js.map +1 -1
- package/dist/commands/schema/deploy.js +19 -30
- package/dist/commands/schema/deploy.js.map +1 -1
- package/dist/commands/schema/extract.js +32 -4
- package/dist/commands/schema/extract.js.map +1 -1
- package/dist/commands/schema/list.js +10 -31
- package/dist/commands/schema/list.js.map +1 -1
- package/dist/commands/tokens/add.js +24 -7
- package/dist/commands/tokens/add.js.map +1 -1
- package/dist/commands/tokens/delete.js +20 -7
- package/dist/commands/tokens/delete.js.map +1 -1
- package/dist/commands/tokens/list.js +20 -7
- package/dist/commands/tokens/list.js.map +1 -1
- package/dist/commands/users/invite.js +24 -7
- package/dist/commands/users/invite.js.map +1 -1
- package/dist/commands/users/list.js +76 -33
- package/dist/commands/users/list.js.map +1 -1
- package/dist/commands/versions.js +1 -1
- package/dist/commands/versions.js.map +1 -1
- package/dist/config/createCliConfig.js +1 -2
- package/dist/config/createCliConfig.js.map +1 -1
- package/dist/exports/_internal.d.ts +132 -0
- package/dist/exports/_internal.js +4 -0
- package/dist/exports/_internal.js.map +1 -0
- package/dist/exports/index.d.ts +113 -0
- package/dist/exports/index.js +6 -0
- package/dist/exports/index.js.map +1 -0
- package/dist/hooks/init/checkForUpdates.js +14 -0
- package/dist/hooks/init/checkForUpdates.js.map +1 -0
- package/dist/hooks/prerun/flushTelemetry.worker.js +1 -1
- package/dist/hooks/prerun/flushTelemetry.worker.js.map +1 -1
- package/dist/hooks/prerun/injectEnvVariables.js +9 -1
- package/dist/hooks/prerun/injectEnvVariables.js.map +1 -1
- package/dist/hooks/prerun/setupTelemetry.js +9 -3
- package/dist/hooks/prerun/setupTelemetry.js.map +1 -1
- package/dist/prompts/promptForProject.js +64 -0
- package/dist/prompts/promptForProject.js.map +1 -0
- package/dist/{actions/auth/login/promptProviders.js → prompts/promptForProviders.js} +3 -3
- package/dist/prompts/promptForProviders.js.map +1 -0
- package/dist/prompts/selectMediaLibrary.js +1 -1
- package/dist/prompts/selectMediaLibrary.js.map +1 -1
- package/dist/server/devServer.js +4 -2
- package/dist/server/devServer.js.map +1 -1
- package/dist/server/previewServer.js +2 -2
- package/dist/server/previewServer.js.map +1 -1
- package/dist/server/vite/plugin-schema-extraction.js +201 -0
- package/dist/server/vite/plugin-schema-extraction.js.map +1 -0
- package/dist/server/vite/plugin-typegen.js +217 -0
- package/dist/server/vite/plugin-typegen.js.map +1 -0
- package/dist/services/auth.js +42 -3
- package/dist/services/auth.js.map +1 -1
- package/dist/services/datasets.js +7 -5
- package/dist/services/datasets.js.map +1 -1
- package/dist/services/docs.js +2 -2
- package/dist/services/docs.js.map +1 -1
- package/dist/services/embeddings.js +25 -0
- package/dist/services/embeddings.js.map +1 -0
- package/dist/services/getUrlHeaders.js +7 -18
- package/dist/services/getUrlHeaders.js.map +1 -1
- package/dist/services/grants.js +13 -0
- package/dist/services/grants.js.map +1 -0
- package/dist/services/graphql.js +1 -1
- package/dist/services/graphql.js.map +1 -1
- package/dist/services/projects.js +4 -2
- package/dist/services/projects.js.map +1 -1
- package/dist/services/schemas.js +1 -1
- package/dist/services/schemas.js.map +1 -1
- package/dist/services/telemetry.js +2 -1
- package/dist/services/telemetry.js.map +1 -1
- package/dist/services/userApplications.js +21 -6
- package/dist/services/userApplications.js.map +1 -1
- package/dist/telemetry/extractSchema.telemetry.js +10 -0
- package/dist/telemetry/extractSchema.telemetry.js.map +1 -1
- package/dist/types/grants.js +3 -0
- package/dist/types/grants.js.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -1
- package/dist/util/checkProjectPermissions.js +21 -0
- package/dist/util/checkProjectPermissions.js.map +1 -0
- package/dist/util/cliClient.js +5 -3
- package/dist/util/cliClient.js.map +1 -1
- package/dist/util/compareDependencyVersions.js +74 -38
- package/dist/util/compareDependencyVersions.js.map +1 -1
- package/dist/util/createExpiringConfig.js +64 -0
- package/dist/util/createExpiringConfig.js.map +1 -0
- package/dist/util/detectFramework.js +135 -0
- package/dist/util/detectFramework.js.map +1 -0
- package/dist/util/errorMessages.js +0 -1
- package/dist/util/errorMessages.js.map +1 -1
- package/dist/util/extractDocumentsFromNdjsonOrTarball.js +1 -2
- package/dist/util/extractDocumentsFromNdjsonOrTarball.js.map +1 -1
- package/dist/util/getCliVersion.js +1 -1
- package/dist/util/getCliVersion.js.map +1 -1
- package/dist/util/getLocalPackageVersion.js +31 -23
- package/dist/util/getLocalPackageVersion.js.map +1 -1
- package/dist/util/getProjectDefaults.js.map +1 -1
- package/dist/util/getSharedServerConfig.js +1 -0
- package/dist/util/getSharedServerConfig.js.map +1 -1
- package/dist/util/getWorkspace.js +1 -1
- package/dist/util/getWorkspace.js.map +1 -1
- package/dist/util/isSchemaError.js +11 -0
- package/dist/util/isSchemaError.js.map +1 -0
- package/dist/util/isTar.js +8 -0
- package/dist/util/isTar.js.map +1 -0
- package/dist/util/packageManager/getPeerDependencies.js +44 -0
- package/dist/util/packageManager/getPeerDependencies.js.map +1 -0
- package/dist/util/packageManager/installationInfo/analyzeIssues.js +225 -0
- package/dist/util/packageManager/installationInfo/analyzeIssues.js.map +1 -0
- package/dist/util/packageManager/installationInfo/commands.js +73 -0
- package/dist/util/packageManager/installationInfo/commands.js.map +1 -0
- package/dist/util/packageManager/installationInfo/detectCliInstallation.js +66 -0
- package/dist/util/packageManager/installationInfo/detectCliInstallation.js.map +1 -0
- package/dist/util/packageManager/installationInfo/detectGlobals.js +295 -0
- package/dist/util/packageManager/installationInfo/detectGlobals.js.map +1 -0
- package/dist/util/packageManager/installationInfo/detectPackages.js +190 -0
- package/dist/util/packageManager/installationInfo/detectPackages.js.map +1 -0
- package/dist/util/packageManager/installationInfo/detectWorkspace.js +192 -0
- package/dist/util/packageManager/installationInfo/detectWorkspace.js.map +1 -0
- package/dist/util/packageManager/installationInfo/index.js +4 -0
- package/dist/util/packageManager/installationInfo/index.js.map +1 -0
- package/dist/util/packageManager/installationInfo/readJsonFile.js +14 -0
- package/dist/util/packageManager/installationInfo/readJsonFile.js.map +1 -0
- package/dist/util/packageManager/installationInfo/resolveVersionRange.js +42 -0
- package/dist/util/packageManager/installationInfo/resolveVersionRange.js.map +1 -0
- package/dist/util/packageManager/installationInfo/types.js +3 -0
- package/dist/util/packageManager/installationInfo/types.js.map +1 -0
- package/dist/util/packageManager/packageManagerChoice.js +1 -20
- package/dist/util/packageManager/packageManagerChoice.js.map +1 -1
- package/dist/util/packageManager/upgradePackages.js +4 -1
- package/dist/util/packageManager/upgradePackages.js.map +1 -1
- package/dist/util/promiseRaceWithTimeout.js +28 -0
- package/dist/util/promiseRaceWithTimeout.js.map +1 -0
- package/dist/util/readdirRecursive.js.map +1 -1
- package/dist/util/resolveLatestVersions.js +2 -2
- package/dist/util/resolveLatestVersions.js.map +1 -1
- package/dist/util/sharedFlags.js +54 -0
- package/dist/util/sharedFlags.js.map +1 -0
- package/dist/util/telemetry/cleanupOldTelemetryFiles.js +30 -0
- package/dist/util/telemetry/cleanupOldTelemetryFiles.js.map +1 -0
- package/dist/util/telemetry/createTelemetryStore.js +95 -0
- package/dist/util/telemetry/createTelemetryStore.js.map +1 -0
- package/dist/util/telemetry/createTraceId.js +10 -0
- package/dist/util/telemetry/createTraceId.js.map +1 -0
- package/dist/util/telemetry/findTelemetryFiles.js +35 -0
- package/dist/util/telemetry/findTelemetryFiles.js.map +1 -0
- package/dist/util/telemetry/flushTelemetryFiles.js +118 -0
- package/dist/util/telemetry/flushTelemetryFiles.js.map +1 -0
- package/dist/util/telemetry/generateTelemetryFilePath.js +30 -0
- package/dist/util/telemetry/generateTelemetryFilePath.js.map +1 -0
- package/dist/util/telemetry/logger.js +59 -0
- package/dist/util/telemetry/logger.js.map +1 -0
- package/dist/util/telemetry/readNDJSON.js +28 -0
- package/dist/util/telemetry/readNDJSON.js.map +1 -0
- package/dist/util/telemetry/telemetryStoreDebug.js +7 -0
- package/dist/util/telemetry/telemetryStoreDebug.js.map +1 -0
- package/dist/util/telemetry/trace.js +150 -0
- package/dist/util/telemetry/trace.js.map +1 -0
- package/dist/util/toForwardSlashes.js +8 -0
- package/dist/util/toForwardSlashes.js.map +1 -0
- package/dist/util/update/fetchLatestVersion.js +21 -0
- package/dist/util/update/fetchLatestVersion.js.map +1 -0
- package/dist/util/update/getUpdateCommand.js +20 -0
- package/dist/util/update/getUpdateCommand.js.map +1 -0
- package/dist/util/update/isInstalledUsingYarn.js +17 -0
- package/dist/util/update/isInstalledUsingYarn.js.map +1 -0
- package/dist/util/update/showNotificationUpdate.js +31 -0
- package/dist/util/update/showNotificationUpdate.js.map +1 -0
- package/dist/util/update/updateChecker.js +60 -0
- package/dist/util/update/updateChecker.js.map +1 -0
- package/dist/util/update/updateCheckerDebug.js +4 -0
- package/dist/util/update/updateCheckerDebug.js.map +1 -0
- package/oclif.config.js +1 -0
- package/oclif.manifest.json +900 -107
- package/package.json +72 -71
- package/static/favicons/apple-touch-icon.png +0 -0
- package/static/favicons/favicon-192.png +0 -0
- package/static/favicons/favicon-512.png +0 -0
- package/static/favicons/favicon-96.png +0 -0
- package/static/favicons/favicon.ico +0 -0
- package/static/favicons/favicon.svg +12 -0
- package/dist/actions/auth/login/promptProviders.js.map +0 -1
- package/dist/actions/dev/getCoreAppUrl.js +0 -10
- package/dist/actions/dev/getCoreAppUrl.js.map +0 -1
- package/dist/actions/schema/schemaStoreTypes.js +0 -19
- package/dist/actions/schema/schemaStoreTypes.js.map +0 -1
- package/dist/actions/schema/utils/manifestExtractor.js +0 -33
- package/dist/actions/schema/utils/manifestExtractor.js.map +0 -1
- package/dist/actions/schema/utils/manifestReader.js +0 -71
- package/dist/actions/schema/utils/manifestReader.js.map +0 -1
- package/dist/index.d.ts +0 -2326
- package/dist/index.js +0 -6
- package/dist/index.js.map +0 -1
- package/dist/studioDependencies.js.map +0 -1
- package/dist/typings/deepSortObject.d.js +0 -2
- package/dist/typings/deepSortObject.d.js.map +0 -1
- package/dist/util/findNdjsonEntry.js +0 -21
- package/dist/util/findNdjsonEntry.js.map +0 -1
- package/dist/util/importStudioConfig.js +0 -40
- package/dist/util/importStudioConfig.js.map +0 -1
- package/dist/util/readModuleVersion.js +0 -15
- package/dist/util/readModuleVersion.js.map +0 -1
- package/dist/util/readPackageJson.js +0 -44
- package/dist/util/readPackageJson.js.map +0 -1
- package/dist/util/readPackageManifest.js +0 -46
- package/dist/util/readPackageManifest.js.map +0 -1
- package/dist/util/uniqBy.js +0 -14
- package/dist/util/uniqBy.js.map +0 -1
- package/dist/util/workerChannels.js +0 -172
- package/dist/util/workerChannels.js.map +0 -1
- /package/dist/{studioDependencies.js → actions/init/studioDependencies.js} +0 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { Schema } from "@sanity/types";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Extracts all serializable properties from userland schema types,
|
|
5
|
+
* so they best-effort can be used as definitions for Schema.compile.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare function extractManifestSchemaTypes(
|
|
10
|
+
schema: Schema,
|
|
11
|
+
workDir: string,
|
|
12
|
+
): Promise<ManifestSchemaType[]>;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Get environment variables prefixed with SANITY_STUDIO_, as an object.
|
|
16
|
+
*
|
|
17
|
+
* @param options - Options for the environment variable loading
|
|
18
|
+
* {@link StudioEnvVariablesOptions}
|
|
19
|
+
* @returns Object of studio environment variables
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* getStudioEnvironmentVariables({prefix: 'process.env.', jsonEncode: true})
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
export declare function getStudioEnvironmentVariables(
|
|
29
|
+
options?: StudioEnvVariablesOptions,
|
|
30
|
+
): Record<string, string>;
|
|
31
|
+
|
|
32
|
+
declare type ManifestArrayMember = Omit<ManifestSchemaType, "name"> & {
|
|
33
|
+
name?: string;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
declare type ManifestField = ManifestSchemaType & {
|
|
37
|
+
fieldset?: string;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
declare interface ManifestFieldset {
|
|
41
|
+
[index: string]: ManifestSerializable | undefined;
|
|
42
|
+
name: string;
|
|
43
|
+
title?: string;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
declare type ManifestReferenceMember = Omit<ManifestSchemaType, "name"> & {
|
|
47
|
+
name?: string;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
declare interface ManifestSchemaType {
|
|
51
|
+
name: string;
|
|
52
|
+
type: string;
|
|
53
|
+
deprecated?: {
|
|
54
|
+
reason: string;
|
|
55
|
+
};
|
|
56
|
+
fields?: ManifestField[];
|
|
57
|
+
fieldsets?: ManifestFieldset[];
|
|
58
|
+
hidden?: "conditional" | boolean;
|
|
59
|
+
lists?: ManifestTitledValue[];
|
|
60
|
+
marks?: {
|
|
61
|
+
annotations?: ManifestArrayMember[];
|
|
62
|
+
decorators?: ManifestTitledValue[];
|
|
63
|
+
};
|
|
64
|
+
of?: ManifestArrayMember[];
|
|
65
|
+
options?: Record<string, ManifestSerializable>;
|
|
66
|
+
preview?: {
|
|
67
|
+
select: Record<string, string>;
|
|
68
|
+
};
|
|
69
|
+
readOnly?: "conditional" | boolean;
|
|
70
|
+
styles?: ManifestTitledValue[];
|
|
71
|
+
title?: string;
|
|
72
|
+
to?: ManifestReferenceMember[];
|
|
73
|
+
validation?: ManifestValidationGroup[];
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
declare type ManifestSerializable =
|
|
77
|
+
| boolean
|
|
78
|
+
| ManifestSerializable[]
|
|
79
|
+
| number
|
|
80
|
+
| string
|
|
81
|
+
| {
|
|
82
|
+
[k: string]: ManifestSerializable;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
declare interface ManifestTitledValue {
|
|
86
|
+
value: string;
|
|
87
|
+
title?: string;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
declare interface ManifestValidationGroup {
|
|
91
|
+
rules: ManifestValidationRule[];
|
|
92
|
+
level?: "error" | "info" | "warning";
|
|
93
|
+
message?: string;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
declare type ManifestValidationRule = {
|
|
97
|
+
[index: string]: ManifestSerializable | undefined;
|
|
98
|
+
constraint?: ManifestSerializable;
|
|
99
|
+
flag: string;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* The params for the `getStudioEnvironmentVariables` function that gets Studio focused environment variables.
|
|
104
|
+
*
|
|
105
|
+
* @public
|
|
106
|
+
*/
|
|
107
|
+
export declare interface StudioEnvVariablesOptions {
|
|
108
|
+
/**
|
|
109
|
+
* When specified includes environment variables from dotenv files (`.env`), in the same way the studio does.
|
|
110
|
+
* A `mode` must be specified, usually `development`
|
|
111
|
+
* or `production`, which will load the corresponding `.env.development` or `.env.production`.
|
|
112
|
+
* To specify where to look for the dotenv files, specify `options.envFile.envDir`.
|
|
113
|
+
*/
|
|
114
|
+
envFile?:
|
|
115
|
+
| false
|
|
116
|
+
| {
|
|
117
|
+
envDir?: string;
|
|
118
|
+
mode: string;
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* When specified, JSON-encodes the values, which is handy if you want to pass
|
|
122
|
+
* this to a bundlers hardcoded defines, such as Vite's `define` or Webpack's `DefinePlugin`.
|
|
123
|
+
*/
|
|
124
|
+
jsonEncode?: boolean;
|
|
125
|
+
/**
|
|
126
|
+
* When specified adds a prefix to the environment variable keys,
|
|
127
|
+
* eg: `getStudioEnvironmentVariables({prefix: 'process.env.'})`
|
|
128
|
+
*/
|
|
129
|
+
prefix?: string;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/exports/_internal.ts"],"sourcesContent":["export {getStudioEnvironmentVariables} from '../actions/build/getStudioEnvironmentVariables.js'\nexport type {StudioEnvVariablesOptions} from '../actions/build/getStudioEnvironmentVariables.js'\nexport {extractManifestSchemaTypes} from '../actions/manifest/extractWorkspaceManifest.js'\n"],"names":["getStudioEnvironmentVariables","extractManifestSchemaTypes"],"mappings":"AAAA,SAAQA,6BAA6B,QAAO,oDAAmD;AAE/F,SAAQC,0BAA0B,QAAO,kDAAiD"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { CliConfig } from "@sanity/cli-core";
|
|
2
|
+
import { ClientConfig } from "@sanity/client";
|
|
3
|
+
import { loadEnv } from "vite";
|
|
4
|
+
import { SanityClient } from "@sanity/client";
|
|
5
|
+
import { UserViteConfig } from "@sanity/cli-core";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export declare interface CliApiConfig {
|
|
11
|
+
dataset?: string;
|
|
12
|
+
projectId?: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
declare type CliClientGetter = ((
|
|
16
|
+
options?: CliClientOptions,
|
|
17
|
+
) => SanityClient) & {
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated This is only for INTERNAL use, and should not be relied upon outside of official Sanity modules
|
|
20
|
+
* @returns A token to use when constructing a client without a `token` explicitly defined, or undefined
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
__internal__getToken: () => string | undefined;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
export declare interface CliClientOptions extends ClientConfig {
|
|
30
|
+
/**
|
|
31
|
+
* If no `projectId` or `dataset` is provided, `getCliClient` will try to
|
|
32
|
+
* resolve these from the `sanity.cli.ts` configuration file. Use this option
|
|
33
|
+
* to specify the directory to look for this file.
|
|
34
|
+
*/
|
|
35
|
+
cwd?: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export { CliConfig };
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* @deprecated Use `defineCliConfig` instead
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
export declare function createCliConfig(config: CliConfig): CliConfig;
|
|
45
|
+
|
|
46
|
+
/** @beta */
|
|
47
|
+
export declare function defineCliConfig(config: CliConfig): CliConfig;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* @public
|
|
51
|
+
*
|
|
52
|
+
* @param options - The options to use for the client.
|
|
53
|
+
* @returns A configured Sanity API client.
|
|
54
|
+
*/
|
|
55
|
+
export declare const getCliClient: CliClientGetter;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* @public
|
|
59
|
+
*/
|
|
60
|
+
export declare interface GraphQLAPIConfig {
|
|
61
|
+
/**
|
|
62
|
+
* Suffix to use for generated filter types.
|
|
63
|
+
*
|
|
64
|
+
* Optional, Defaults to `Filter`.
|
|
65
|
+
*
|
|
66
|
+
*/
|
|
67
|
+
filterSuffix?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Generation of API to deploy
|
|
70
|
+
*
|
|
71
|
+
* Optional, defaults to `gen3` (which is the only option, currently)
|
|
72
|
+
*/
|
|
73
|
+
generation?: "gen1" | "gen2" | "gen3";
|
|
74
|
+
/**
|
|
75
|
+
* ID of GraphQL API. Only (currently) required when using the `--api` flag
|
|
76
|
+
* for `sanity graphql deploy`, in order to only deploy a specific API.
|
|
77
|
+
*/
|
|
78
|
+
id?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Whether or not to enable the GraphQL v2021-10-21 query semantics
|
|
81
|
+
*/
|
|
82
|
+
nonNullDocumentFields?: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Whether or not to enable the GraphQL Playground for this API
|
|
85
|
+
*
|
|
86
|
+
* Optional, defaults to `true` in development mode, `false` otherwise
|
|
87
|
+
*/
|
|
88
|
+
playground?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Name of source containing the schema to deploy, within the configured workspace
|
|
91
|
+
*
|
|
92
|
+
* Optional, defaults to `default` (eg the one used if no `name` is defined)
|
|
93
|
+
*/
|
|
94
|
+
source?: string;
|
|
95
|
+
/**
|
|
96
|
+
* API tag for this API - allows deploying multiple different APIs to a single dataset
|
|
97
|
+
*
|
|
98
|
+
* Optional, defaults to `default`
|
|
99
|
+
*/
|
|
100
|
+
tag?: string;
|
|
101
|
+
/**
|
|
102
|
+
* Name of workspace containing the schema to deploy
|
|
103
|
+
*
|
|
104
|
+
* Optional, defaults to `default` (eg the one used if no `name` is defined)
|
|
105
|
+
*/
|
|
106
|
+
workspace?: string;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export { loadEnv };
|
|
110
|
+
|
|
111
|
+
export { UserViteConfig };
|
|
112
|
+
|
|
113
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { createCliConfig } from '../config/createCliConfig.js';
|
|
2
|
+
export { defineCliConfig } from '../config/defineCliConfig.js';
|
|
3
|
+
export { getCliClient } from '../util/cliClient.js';
|
|
4
|
+
export { loadEnv } from '../util/loadEnv.js';
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/exports/index.ts"],"sourcesContent":["export type {GraphQLAPIConfig} from '../actions/graphql/types.js'\nexport {createCliConfig} from '../config/createCliConfig.js'\nexport {defineCliConfig} from '../config/defineCliConfig.js'\nexport type {CliApiConfig} from '../types.js'\nexport {type CliClientOptions, getCliClient} from '../util/cliClient.js'\nexport {loadEnv} from '../util/loadEnv.js'\nexport type {CliConfig, UserViteConfig} from '@sanity/cli-core'\n"],"names":["createCliConfig","defineCliConfig","getCliClient","loadEnv"],"mappings":"AACA,SAAQA,eAAe,QAAO,+BAA8B;AAC5D,SAAQC,eAAe,QAAO,+BAA8B;AAE5D,SAA+BC,YAAY,QAAO,uBAAsB;AACxE,SAAQC,OAAO,QAAO,qBAAoB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { updateChecker } from '../../util/update/updateChecker.js';
|
|
2
|
+
import { updateCheckerDebug } from '../../util/update/updateCheckerDebug.js';
|
|
3
|
+
/**
|
|
4
|
+
* Init hook that checks for CLI updates and notifies the user if a new version is available.
|
|
5
|
+
* This is non-blocking and will silently fail if anything goes wrong.
|
|
6
|
+
*/ export const checkForUpdates = async function({ config }) {
|
|
7
|
+
try {
|
|
8
|
+
await updateChecker(config);
|
|
9
|
+
} catch (err) {
|
|
10
|
+
updateCheckerDebug(`Error checking for updates: ${err}`);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=checkForUpdates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/init/checkForUpdates.ts"],"sourcesContent":["import {type Hook} from '@oclif/core'\n\nimport {updateChecker} from '../../util/update/updateChecker.js'\nimport {updateCheckerDebug} from '../../util/update/updateCheckerDebug.js'\n\n/**\n * Init hook that checks for CLI updates and notifies the user if a new version is available.\n * This is non-blocking and will silently fail if anything goes wrong.\n */\nexport const checkForUpdates: Hook.Init = async function ({config}) {\n try {\n await updateChecker(config)\n } catch (err) {\n updateCheckerDebug(`Error checking for updates: ${err}`)\n }\n}\n"],"names":["updateChecker","updateCheckerDebug","checkForUpdates","config","err"],"mappings":"AAEA,SAAQA,aAAa,QAAO,qCAAoC;AAChE,SAAQC,kBAAkB,QAAO,0CAAyC;AAE1E;;;CAGC,GACD,OAAO,MAAMC,kBAA6B,eAAgB,EAACC,MAAM,EAAC;IAChE,IAAI;QACF,MAAMH,cAAcG;IACtB,EAAE,OAAOC,KAAK;QACZH,mBAAmB,CAAC,4BAA4B,EAAEG,KAAK;IACzD;AACF,EAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { flushTelemetryFiles } from '@sanity/cli-core';
|
|
3
2
|
import { resolveConsent } from '../../actions/telemetry/resolveConsent.js';
|
|
4
3
|
import { sendEvents } from '../../services/telemetry.js';
|
|
4
|
+
import { flushTelemetryFiles } from '../../util/telemetry/flushTelemetryFiles.js';
|
|
5
5
|
export async function runFlushWorker() {
|
|
6
6
|
await flushTelemetryFiles({
|
|
7
7
|
resolveConsent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/prerun/flushTelemetry.worker.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/prerun/flushTelemetry.worker.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport {resolveConsent} from '../../actions/telemetry/resolveConsent.js'\nimport {sendEvents} from '../../services/telemetry.js'\nimport {flushTelemetryFiles} from '../../util/telemetry/flushTelemetryFiles.js'\n\nexport async function runFlushWorker() {\n await flushTelemetryFiles({resolveConsent, sendEvents})\n}\n\n// Only run if executed directly (not imported)\nif (import.meta.url === `file://${process.argv[1]}`) {\n try {\n await runFlushWorker()\n process.exit(0)\n } catch {\n // Silently exit - don't block parent process\n process.exit(1)\n }\n}\n"],"names":["resolveConsent","sendEvents","flushTelemetryFiles","runFlushWorker","url","process","argv","exit"],"mappings":";AAEA,SAAQA,cAAc,QAAO,4CAA2C;AACxE,SAAQC,UAAU,QAAO,8BAA6B;AACtD,SAAQC,mBAAmB,QAAO,8CAA6C;AAE/E,OAAO,eAAeC;IACpB,MAAMD,oBAAoB;QAACF;QAAgBC;IAAU;AACvD;AAEA,+CAA+C;AAC/C,IAAI,YAAYG,GAAG,KAAK,CAAC,OAAO,EAAEC,QAAQC,IAAI,CAAC,EAAE,EAAE,EAAE;IACnD,IAAI;QACF,MAAMH;QACNE,QAAQE,IAAI,CAAC;IACf,EAAE,OAAM;QACN,6CAA6C;QAC7CF,QAAQE,IAAI,CAAC;IACf;AACF"}
|
|
@@ -4,7 +4,15 @@ import { debug, findProjectRoot } from '@sanity/cli-core';
|
|
|
4
4
|
import { loadEnv } from 'vite';
|
|
5
5
|
import { getSanityEnv } from '../../util/getSanityEnv.js';
|
|
6
6
|
export const injectEnvVariables = async function({ Command }) {
|
|
7
|
-
|
|
7
|
+
let workDir;
|
|
8
|
+
try {
|
|
9
|
+
workDir = await findProjectRoot(process.cwd());
|
|
10
|
+
} catch {
|
|
11
|
+
// Accept not finding a project root
|
|
12
|
+
}
|
|
13
|
+
if (!workDir) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
8
16
|
// Use `production` for `sanity build` / `sanity deploy`,
|
|
9
17
|
// but default to `development` for everything else unless `SANITY_ACTIVE_ENV` is set
|
|
10
18
|
const isProdCmd = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/prerun/injectEnvVariables.ts"],"sourcesContent":["import {styleText} from 'node:util'\n\nimport {type Hook} from '@oclif/core'\nimport {warn} from '@oclif/core/ux'\nimport {debug, findProjectRoot} from '@sanity/cli-core'\nimport {loadEnv} from 'vite'\n\nimport {getSanityEnv} from '../../util/getSanityEnv.js'\n\nexport const injectEnvVariables: Hook.Prerun = async function ({Command}) {\n
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/prerun/injectEnvVariables.ts"],"sourcesContent":["import {styleText} from 'node:util'\n\nimport {type Hook} from '@oclif/core'\nimport {warn} from '@oclif/core/ux'\nimport {debug, findProjectRoot, type ProjectRootResult} from '@sanity/cli-core'\nimport {loadEnv} from 'vite'\n\nimport {getSanityEnv} from '../../util/getSanityEnv.js'\n\nexport const injectEnvVariables: Hook.Prerun = async function ({Command}) {\n let workDir: ProjectRootResult | undefined\n try {\n workDir = await findProjectRoot(process.cwd())\n } catch {\n // Accept not finding a project root\n }\n\n if (!workDir) {\n return\n }\n\n // Use `production` for `sanity build` / `sanity deploy`,\n // but default to `development` for everything else unless `SANITY_ACTIVE_ENV` is set\n const isProdCmd = ['build', 'deploy'].includes(Command.id)\n let mode = process.env.SANITY_ACTIVE_ENV\n if (!mode && (isProdCmd || process.env.NODE_ENV === 'production')) {\n mode = 'production'\n } else if (!mode) {\n mode = 'development'\n }\n\n if (mode === 'production' && !isProdCmd) {\n warn(styleText('yellow', `Running in ${getSanityEnv()} environment mode\\n`))\n }\n\n const isApp = workDir.type === 'app'\n debug('Loading environment files using %s mode', mode)\n\n const studioEnv = loadEnv(mode, workDir.directory, [isApp ? 'SANITY_APP_' : 'SANITY_STUDIO_'])\n Object.assign(process.env, studioEnv)\n}\n"],"names":["styleText","warn","debug","findProjectRoot","loadEnv","getSanityEnv","injectEnvVariables","Command","workDir","process","cwd","isProdCmd","includes","id","mode","env","SANITY_ACTIVE_ENV","NODE_ENV","isApp","type","studioEnv","directory","Object","assign"],"mappings":"AAAA,SAAQA,SAAS,QAAO,YAAW;AAGnC,SAAQC,IAAI,QAAO,iBAAgB;AACnC,SAAQC,KAAK,EAAEC,eAAe,QAA+B,mBAAkB;AAC/E,SAAQC,OAAO,QAAO,OAAM;AAE5B,SAAQC,YAAY,QAAO,6BAA4B;AAEvD,OAAO,MAAMC,qBAAkC,eAAgB,EAACC,OAAO,EAAC;IACtE,IAAIC;IACJ,IAAI;QACFA,UAAU,MAAML,gBAAgBM,QAAQC,GAAG;IAC7C,EAAE,OAAM;IACN,oCAAoC;IACtC;IAEA,IAAI,CAACF,SAAS;QACZ;IACF;IAEA,yDAAyD;IACzD,qFAAqF;IACrF,MAAMG,YAAY;QAAC;QAAS;KAAS,CAACC,QAAQ,CAACL,QAAQM,EAAE;IACzD,IAAIC,OAAOL,QAAQM,GAAG,CAACC,iBAAiB;IACxC,IAAI,CAACF,QAASH,CAAAA,aAAaF,QAAQM,GAAG,CAACE,QAAQ,KAAK,YAAW,GAAI;QACjEH,OAAO;IACT,OAAO,IAAI,CAACA,MAAM;QAChBA,OAAO;IACT;IAEA,IAAIA,SAAS,gBAAgB,CAACH,WAAW;QACvCV,KAAKD,UAAU,UAAU,CAAC,WAAW,EAAEK,eAAe,mBAAmB,CAAC;IAC5E;IAEA,MAAMa,QAAQV,QAAQW,IAAI,KAAK;IAC/BjB,MAAM,2CAA2CY;IAEjD,MAAMM,YAAYhB,QAAQU,MAAMN,QAAQa,SAAS,EAAE;QAACH,QAAQ,gBAAgB;KAAiB;IAC7FI,OAAOC,MAAM,CAACd,QAAQM,GAAG,EAAEK;AAC7B,EAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { fileURLToPath } from 'node:url';
|
|
3
|
-
import {
|
|
3
|
+
import { debug, findProjectRoot, getCliConfig, setCliTelemetry } from '@sanity/cli-core';
|
|
4
4
|
import { createSessionId } from '@sanity/telemetry';
|
|
5
5
|
import { resolveConsent } from '../../actions/telemetry/resolveConsent.js';
|
|
6
6
|
import { telemetryDebug } from '../../actions/telemetry/telemetryDebug.js';
|
|
@@ -8,6 +8,7 @@ import { telemetryDisclosure } from '../../actions/telemetry/telemetryDisclosure
|
|
|
8
8
|
import { CliCommandTelemetry } from '../../telemetry/cli.telemetry.js';
|
|
9
9
|
import { detectRuntime } from '../../util/detectRuntime.js';
|
|
10
10
|
import { parseArguments } from '../../util/parseArguments.js';
|
|
11
|
+
import { createTelemetryStore } from '../../util/telemetry/createTelemetryStore.js';
|
|
11
12
|
export const setupTelemetry = async function({ config }) {
|
|
12
13
|
// Show telemetry disclosure
|
|
13
14
|
telemetryDisclosure();
|
|
@@ -15,8 +16,13 @@ export const setupTelemetry = async function({ config }) {
|
|
|
15
16
|
const telemetry = createTelemetryStore(sessionId, {
|
|
16
17
|
resolveConsent
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
let cliConfig;
|
|
20
|
+
try {
|
|
21
|
+
const projectRoot = await findProjectRoot(process.cwd());
|
|
22
|
+
cliConfig = await getCliConfig(projectRoot.directory);
|
|
23
|
+
} catch {
|
|
24
|
+
// Accept not finding a project root and/or CLI config
|
|
25
|
+
}
|
|
20
26
|
telemetry.updateUserProperties({
|
|
21
27
|
cliVersion: config.version,
|
|
22
28
|
cpuArchitecture: process.arch,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/prerun/setupTelemetry.ts"],"sourcesContent":["import {spawn} from 'node:child_process'\nimport {fileURLToPath} from 'node:url'\n\nimport {type Hook} from '@oclif/core'\nimport {\n
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/prerun/setupTelemetry.ts"],"sourcesContent":["import {spawn} from 'node:child_process'\nimport {fileURLToPath} from 'node:url'\n\nimport {type Hook} from '@oclif/core'\nimport {\n type CliConfig,\n debug,\n findProjectRoot,\n getCliConfig,\n setCliTelemetry,\n} from '@sanity/cli-core'\nimport {createSessionId} from '@sanity/telemetry'\n\nimport {resolveConsent} from '../../actions/telemetry/resolveConsent.js'\nimport {telemetryDebug} from '../../actions/telemetry/telemetryDebug.js'\nimport {telemetryDisclosure} from '../../actions/telemetry/telemetryDisclosure.js'\nimport {CliCommandTelemetry, type CLITraceData} from '../../telemetry/cli.telemetry.js'\nimport {detectRuntime} from '../../util/detectRuntime.js'\nimport {parseArguments} from '../../util/parseArguments.js'\nimport {createTelemetryStore} from '../../util/telemetry/createTelemetryStore.js'\n\nexport const setupTelemetry: Hook.Prerun = async function ({config}) {\n // Show telemetry disclosure\n telemetryDisclosure()\n\n const sessionId = createSessionId()\n\n const telemetry = createTelemetryStore(sessionId, {\n resolveConsent,\n })\n\n let cliConfig: CliConfig | undefined\n try {\n const projectRoot = await findProjectRoot(process.cwd())\n cliConfig = await getCliConfig(projectRoot.directory)\n } catch {\n // Accept not finding a project root and/or CLI config\n }\n\n telemetry.updateUserProperties({\n cliVersion: config.version,\n cpuArchitecture: process.arch,\n dataset: cliConfig?.api?.dataset,\n machinePlatform: process.platform,\n projectId: cliConfig?.api?.projectId,\n runtime: detectRuntime(),\n runtimeVersion: process.version,\n })\n\n const args = parseArguments()\n\n const traceOptions: CLITraceData = {\n commandArguments: args.argsWithoutOptions,\n coreOptions: {\n debug: args.coreOptions.debug ?? undefined,\n help: args.coreOptions.help ?? undefined,\n version: args.coreOptions.version ?? undefined,\n },\n extraArguments: args.extraArguments,\n groupOrCommand: args.groupOrCommand,\n }\n\n telemetryDebug('Starting command trace', traceOptions)\n\n const cliCommandTrace = telemetry.trace(CliCommandTelemetry, traceOptions)\n cliCommandTrace.start()\n\n // Set the global telemetry store with new context\n setCliTelemetry(cliCommandTrace.newContext(args.groupOrCommand))\n\n // Handle process exit - complete trace and spawn worker to flush all telemetry\n process.once('exit', (status) => {\n if (status === 0) {\n cliCommandTrace.complete()\n } else {\n // TODO: Properly handle errors\n // https://oclif.io/docs/error_handling/#error-handling-in-the-catch-method\n cliCommandTrace.error(new Error('Process exited with status ' + status))\n }\n\n const workerPath = fileURLToPath(new URL('flushTelemetry.worker.js', import.meta.url))\n telemetryDebug(`Spawning \"${process.execPath} ${workerPath}\"`)\n\n // Spawn detached worker to flush all telemetry files\n // unref will ensure the child process can keep doing work even after the parent process exits\n spawn(process.execPath, [workerPath], {\n detached: true,\n env: {\n ...process.env,\n SANITY_TELEMETRY_PROJECT_ID: cliConfig?.api?.projectId || '',\n },\n // If debug is enabled, spawn the worker with stdio inherit to see the output\n stdio: debug.enabled ? 'inherit' : 'ignore',\n }).unref()\n })\n}\n"],"names":["spawn","fileURLToPath","debug","findProjectRoot","getCliConfig","setCliTelemetry","createSessionId","resolveConsent","telemetryDebug","telemetryDisclosure","CliCommandTelemetry","detectRuntime","parseArguments","createTelemetryStore","setupTelemetry","config","sessionId","telemetry","cliConfig","projectRoot","process","cwd","directory","updateUserProperties","cliVersion","version","cpuArchitecture","arch","dataset","api","machinePlatform","platform","projectId","runtime","runtimeVersion","args","traceOptions","commandArguments","argsWithoutOptions","coreOptions","undefined","help","extraArguments","groupOrCommand","cliCommandTrace","trace","start","newContext","once","status","complete","error","Error","workerPath","URL","url","execPath","detached","env","SANITY_TELEMETRY_PROJECT_ID","stdio","enabled","unref"],"mappings":"AAAA,SAAQA,KAAK,QAAO,qBAAoB;AACxC,SAAQC,aAAa,QAAO,WAAU;AAGtC,SAEEC,KAAK,EACLC,eAAe,EACfC,YAAY,EACZC,eAAe,QACV,mBAAkB;AACzB,SAAQC,eAAe,QAAO,oBAAmB;AAEjD,SAAQC,cAAc,QAAO,4CAA2C;AACxE,SAAQC,cAAc,QAAO,4CAA2C;AACxE,SAAQC,mBAAmB,QAAO,iDAAgD;AAClF,SAAQC,mBAAmB,QAA0B,mCAAkC;AACvF,SAAQC,aAAa,QAAO,8BAA6B;AACzD,SAAQC,cAAc,QAAO,+BAA8B;AAC3D,SAAQC,oBAAoB,QAAO,+CAA8C;AAEjF,OAAO,MAAMC,iBAA8B,eAAgB,EAACC,MAAM,EAAC;IACjE,4BAA4B;IAC5BN;IAEA,MAAMO,YAAYV;IAElB,MAAMW,YAAYJ,qBAAqBG,WAAW;QAChDT;IACF;IAEA,IAAIW;IACJ,IAAI;QACF,MAAMC,cAAc,MAAMhB,gBAAgBiB,QAAQC,GAAG;QACrDH,YAAY,MAAMd,aAAae,YAAYG,SAAS;IACtD,EAAE,OAAM;IACN,sDAAsD;IACxD;IAEAL,UAAUM,oBAAoB,CAAC;QAC7BC,YAAYT,OAAOU,OAAO;QAC1BC,iBAAiBN,QAAQO,IAAI;QAC7BC,SAASV,WAAWW,KAAKD;QACzBE,iBAAiBV,QAAQW,QAAQ;QACjCC,WAAWd,WAAWW,KAAKG;QAC3BC,SAAStB;QACTuB,gBAAgBd,QAAQK,OAAO;IACjC;IAEA,MAAMU,OAAOvB;IAEb,MAAMwB,eAA6B;QACjCC,kBAAkBF,KAAKG,kBAAkB;QACzCC,aAAa;YACXrC,OAAOiC,KAAKI,WAAW,CAACrC,KAAK,IAAIsC;YACjCC,MAAMN,KAAKI,WAAW,CAACE,IAAI,IAAID;YAC/Bf,SAASU,KAAKI,WAAW,CAACd,OAAO,IAAIe;QACvC;QACAE,gBAAgBP,KAAKO,cAAc;QACnCC,gBAAgBR,KAAKQ,cAAc;IACrC;IAEAnC,eAAe,0BAA0B4B;IAEzC,MAAMQ,kBAAkB3B,UAAU4B,KAAK,CAACnC,qBAAqB0B;IAC7DQ,gBAAgBE,KAAK;IAErB,kDAAkD;IAClDzC,gBAAgBuC,gBAAgBG,UAAU,CAACZ,KAAKQ,cAAc;IAE9D,+EAA+E;IAC/EvB,QAAQ4B,IAAI,CAAC,QAAQ,CAACC;QACpB,IAAIA,WAAW,GAAG;YAChBL,gBAAgBM,QAAQ;QAC1B,OAAO;YACL,+BAA+B;YAC/B,2EAA2E;YAC3EN,gBAAgBO,KAAK,CAAC,IAAIC,MAAM,gCAAgCH;QAClE;QAEA,MAAMI,aAAapD,cAAc,IAAIqD,IAAI,4BAA4B,YAAYC,GAAG;QACpF/C,eAAe,CAAC,UAAU,EAAEY,QAAQoC,QAAQ,CAAC,CAAC,EAAEH,WAAW,CAAC,CAAC;QAE7D,qDAAqD;QACrD,8FAA8F;QAC9FrD,MAAMoB,QAAQoC,QAAQ,EAAE;YAACH;SAAW,EAAE;YACpCI,UAAU;YACVC,KAAK;gBACH,GAAGtC,QAAQsC,GAAG;gBACdC,6BAA6BzC,WAAWW,KAAKG,aAAa;YAC5D;YACA,6EAA6E;YAC7E4B,OAAO1D,MAAM2D,OAAO,GAAG,YAAY;QACrC,GAAGC,KAAK;IACV;AACF,EAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { isInteractive, NonInteractiveError, subdebug } from '@sanity/cli-core';
|
|
2
|
+
import { select, Separator, spinner } from '@sanity/cli-core/ux';
|
|
3
|
+
import { getUserGrants } from '../services/grants.js';
|
|
4
|
+
import { listProjects } from '../services/projects.js';
|
|
5
|
+
import { getProjectsWithPermissions } from '../util/checkProjectPermissions.js';
|
|
6
|
+
const debug = subdebug('prompt:project');
|
|
7
|
+
/**
|
|
8
|
+
* Prompt the user to select a project from their available projects.
|
|
9
|
+
*
|
|
10
|
+
* When `requiredPermissions` is provided, projects are filtered by grants:
|
|
11
|
+
* only permitted projects are shown as selectable, with a single disabled
|
|
12
|
+
* summary item indicating how many projects were hidden due to insufficient permissions.
|
|
13
|
+
*/ export async function promptForProject(options = {}) {
|
|
14
|
+
if (!isInteractive()) {
|
|
15
|
+
throw new NonInteractiveError('select');
|
|
16
|
+
}
|
|
17
|
+
const { requiredPermissions } = options;
|
|
18
|
+
debug('Fetching projects and grants');
|
|
19
|
+
const spin = spinner('Fetching available projects').start();
|
|
20
|
+
const [projects, grants] = await Promise.all([
|
|
21
|
+
listProjects(),
|
|
22
|
+
requiredPermissions ? getUserGrants() : undefined
|
|
23
|
+
]).catch((error)=>{
|
|
24
|
+
spin.fail(requiredPermissions ? 'Failed to fetch projects or permissions' : 'Failed to fetch projects');
|
|
25
|
+
throw error;
|
|
26
|
+
});
|
|
27
|
+
if (projects.length === 0) {
|
|
28
|
+
spin.fail('No projects found');
|
|
29
|
+
throw new Error('No projects found. Create a project at https://www.sanity.io/manage');
|
|
30
|
+
}
|
|
31
|
+
spin.succeed();
|
|
32
|
+
const permittedIds = grants && requiredPermissions ? getProjectsWithPermissions(grants, requiredPermissions) : undefined;
|
|
33
|
+
const sorted = projects.toSorted((a, b)=>b.createdAt.localeCompare(a.createdAt));
|
|
34
|
+
const choices = [];
|
|
35
|
+
let insufficientCount = 0;
|
|
36
|
+
for (const project of sorted){
|
|
37
|
+
const label = `${project.displayName} (${project.id})`;
|
|
38
|
+
if (permittedIds && !permittedIds.has(project.id)) {
|
|
39
|
+
insufficientCount++;
|
|
40
|
+
} else {
|
|
41
|
+
choices.push({
|
|
42
|
+
name: label,
|
|
43
|
+
value: project.id
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (insufficientCount > 0) {
|
|
48
|
+
if (choices.length === 0) {
|
|
49
|
+
throw new Error('None of your projects have sufficient permissions for this operation');
|
|
50
|
+
}
|
|
51
|
+
const suffix = insufficientCount === 1 ? 'project' : 'projects';
|
|
52
|
+
choices.push(new Separator(), {
|
|
53
|
+
disabled: '(insufficient permissions)',
|
|
54
|
+
name: `${insufficientCount} other ${suffix} hidden`,
|
|
55
|
+
value: ''
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return select({
|
|
59
|
+
choices,
|
|
60
|
+
message: 'Select project'
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=promptForProject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/prompts/promptForProject.ts"],"sourcesContent":["import {isInteractive, NonInteractiveError, subdebug} from '@sanity/cli-core'\nimport {select, Separator, spinner} from '@sanity/cli-core/ux'\n\nimport {getUserGrants} from '../services/grants.js'\nimport {listProjects} from '../services/projects.js'\nimport {type RequiredPermission} from '../types/grants.js'\nimport {getProjectsWithPermissions} from '../util/checkProjectPermissions.js'\n\nconst debug = subdebug('prompt:project')\n\ninterface PromptForProjectOptions {\n requiredPermissions?: RequiredPermission[]\n}\n\n/**\n * Prompt the user to select a project from their available projects.\n *\n * When `requiredPermissions` is provided, projects are filtered by grants:\n * only permitted projects are shown as selectable, with a single disabled\n * summary item indicating how many projects were hidden due to insufficient permissions.\n */\nexport async function promptForProject(options: PromptForProjectOptions = {}): Promise<string> {\n if (!isInteractive()) {\n throw new NonInteractiveError('select')\n }\n\n const {requiredPermissions} = options\n\n debug('Fetching projects and grants')\n const spin = spinner('Fetching available projects').start()\n\n const [projects, grants] = await Promise.all([\n listProjects(),\n requiredPermissions ? getUserGrants() : undefined,\n ]).catch((error) => {\n spin.fail(\n requiredPermissions ? 'Failed to fetch projects or permissions' : 'Failed to fetch projects',\n )\n throw error\n })\n\n if (projects.length === 0) {\n spin.fail('No projects found')\n throw new Error('No projects found. Create a project at https://www.sanity.io/manage')\n }\n\n spin.succeed()\n\n const permittedIds =\n grants && requiredPermissions\n ? getProjectsWithPermissions(grants, requiredPermissions)\n : undefined\n\n const sorted = projects.toSorted((a, b) => b.createdAt.localeCompare(a.createdAt))\n\n const choices: Array<Separator | {disabled?: string; name: string; value: string}> = []\n let insufficientCount = 0\n\n for (const project of sorted) {\n const label = `${project.displayName} (${project.id})`\n if (permittedIds && !permittedIds.has(project.id)) {\n insufficientCount++\n } else {\n choices.push({name: label, value: project.id})\n }\n }\n\n if (insufficientCount > 0) {\n if (choices.length === 0) {\n throw new Error('None of your projects have sufficient permissions for this operation')\n }\n\n const suffix = insufficientCount === 1 ? 'project' : 'projects'\n choices.push(new Separator(), {\n disabled: '(insufficient permissions)',\n name: `${insufficientCount} other ${suffix} hidden`,\n value: '',\n })\n }\n\n return select({\n choices,\n message: 'Select project',\n })\n}\n"],"names":["isInteractive","NonInteractiveError","subdebug","select","Separator","spinner","getUserGrants","listProjects","getProjectsWithPermissions","debug","promptForProject","options","requiredPermissions","spin","start","projects","grants","Promise","all","undefined","catch","error","fail","length","Error","succeed","permittedIds","sorted","toSorted","a","b","createdAt","localeCompare","choices","insufficientCount","project","label","displayName","id","has","push","name","value","suffix","disabled","message"],"mappings":"AAAA,SAAQA,aAAa,EAAEC,mBAAmB,EAAEC,QAAQ,QAAO,mBAAkB;AAC7E,SAAQC,MAAM,EAAEC,SAAS,EAAEC,OAAO,QAAO,sBAAqB;AAE9D,SAAQC,aAAa,QAAO,wBAAuB;AACnD,SAAQC,YAAY,QAAO,0BAAyB;AAEpD,SAAQC,0BAA0B,QAAO,qCAAoC;AAE7E,MAAMC,QAAQP,SAAS;AAMvB;;;;;;CAMC,GACD,OAAO,eAAeQ,iBAAiBC,UAAmC,CAAC,CAAC;IAC1E,IAAI,CAACX,iBAAiB;QACpB,MAAM,IAAIC,oBAAoB;IAChC;IAEA,MAAM,EAACW,mBAAmB,EAAC,GAAGD;IAE9BF,MAAM;IACN,MAAMI,OAAOR,QAAQ,+BAA+BS,KAAK;IAEzD,MAAM,CAACC,UAAUC,OAAO,GAAG,MAAMC,QAAQC,GAAG,CAAC;QAC3CX;QACAK,sBAAsBN,kBAAkBa;KACzC,EAAEC,KAAK,CAAC,CAACC;QACRR,KAAKS,IAAI,CACPV,sBAAsB,4CAA4C;QAEpE,MAAMS;IACR;IAEA,IAAIN,SAASQ,MAAM,KAAK,GAAG;QACzBV,KAAKS,IAAI,CAAC;QACV,MAAM,IAAIE,MAAM;IAClB;IAEAX,KAAKY,OAAO;IAEZ,MAAMC,eACJV,UAAUJ,sBACNJ,2BAA2BQ,QAAQJ,uBACnCO;IAEN,MAAMQ,SAASZ,SAASa,QAAQ,CAAC,CAACC,GAAGC,IAAMA,EAAEC,SAAS,CAACC,aAAa,CAACH,EAAEE,SAAS;IAEhF,MAAME,UAA+E,EAAE;IACvF,IAAIC,oBAAoB;IAExB,KAAK,MAAMC,WAAWR,OAAQ;QAC5B,MAAMS,QAAQ,GAAGD,QAAQE,WAAW,CAAC,EAAE,EAAEF,QAAQG,EAAE,CAAC,CAAC,CAAC;QACtD,IAAIZ,gBAAgB,CAACA,aAAaa,GAAG,CAACJ,QAAQG,EAAE,GAAG;YACjDJ;QACF,OAAO;YACLD,QAAQO,IAAI,CAAC;gBAACC,MAAML;gBAAOM,OAAOP,QAAQG,EAAE;YAAA;QAC9C;IACF;IAEA,IAAIJ,oBAAoB,GAAG;QACzB,IAAID,QAAQV,MAAM,KAAK,GAAG;YACxB,MAAM,IAAIC,MAAM;QAClB;QAEA,MAAMmB,SAAST,sBAAsB,IAAI,YAAY;QACrDD,QAAQO,IAAI,CAAC,IAAIpC,aAAa;YAC5BwC,UAAU;YACVH,MAAM,GAAGP,kBAAkB,OAAO,EAAES,OAAO,OAAO,CAAC;YACnDD,OAAO;QACT;IACF;IAEA,OAAOvC,OAAO;QACZ8B;QACAY,SAAS;IACX;AACF"}
|
|
@@ -6,7 +6,7 @@ import { select } from '@sanity/cli-core/ux';
|
|
|
6
6
|
* @param providers - The list of login providers
|
|
7
7
|
* @returns The selected login provider
|
|
8
8
|
* @internal
|
|
9
|
-
*/ export async function
|
|
9
|
+
*/ export async function promptForProviders(providers) {
|
|
10
10
|
if (providers.length === 1) {
|
|
11
11
|
return providers[0];
|
|
12
12
|
}
|
|
@@ -17,7 +17,7 @@ import { select } from '@sanity/cli-core/ux';
|
|
|
17
17
|
})),
|
|
18
18
|
message: 'Please log in or create a new account'
|
|
19
19
|
});
|
|
20
|
-
return provider
|
|
20
|
+
return provider;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=promptForProviders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/prompts/promptForProviders.ts"],"sourcesContent":["import {select} from '@sanity/cli-core/ux'\n\nimport {type LoginProvider} from '../actions/auth/types.js'\n\n/**\n * Prompts the user to select a provider from the given list of providers,\n * or if only one provider is available, returns that provider.\n *\n * @param providers - The list of login providers\n * @returns The selected login provider\n * @internal\n */\nexport async function promptForProviders(providers: LoginProvider[]): Promise<LoginProvider> {\n if (providers.length === 1) {\n return providers[0]\n }\n\n const provider = await select({\n choices: providers.map((choice) => ({name: choice.title, value: choice})),\n message: 'Please log in or create a new account',\n })\n\n return provider\n}\n"],"names":["select","promptForProviders","providers","length","provider","choices","map","choice","name","title","value","message"],"mappings":"AAAA,SAAQA,MAAM,QAAO,sBAAqB;AAI1C;;;;;;;CAOC,GACD,OAAO,eAAeC,mBAAmBC,SAA0B;IACjE,IAAIA,UAAUC,MAAM,KAAK,GAAG;QAC1B,OAAOD,SAAS,CAAC,EAAE;IACrB;IAEA,MAAME,WAAW,MAAMJ,OAAO;QAC5BK,SAASH,UAAUI,GAAG,CAAC,CAACC,SAAY,CAAA;gBAACC,MAAMD,OAAOE,KAAK;gBAAEC,OAAOH;YAAM,CAAA;QACtEI,SAAS;IACX;IAEA,OAAOP;AACT"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { subdebug } from '@sanity/cli-core';
|
|
2
2
|
import { select, Separator, spinner } from '@sanity/cli-core/ux';
|
|
3
|
-
import
|
|
3
|
+
import groupBy from 'lodash-es/groupBy.js';
|
|
4
4
|
import { getMediaLibraries } from '../services/mediaLibraries.js';
|
|
5
5
|
const debug = subdebug('media:determine-target-library');
|
|
6
6
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/prompts/selectMediaLibrary.ts"],"sourcesContent":["import {subdebug} from '@sanity/cli-core'\nimport {select, Separator, spinner} from '@sanity/cli-core/ux'\nimport
|
|
1
|
+
{"version":3,"sources":["../../src/prompts/selectMediaLibrary.ts"],"sourcesContent":["import {subdebug} from '@sanity/cli-core'\nimport {select, Separator, spinner} from '@sanity/cli-core/ux'\nimport groupBy from 'lodash-es/groupBy.js'\n\nimport {getMediaLibraries} from '../services/mediaLibraries.js'\n\nconst debug = subdebug('media:determine-target-library')\n\n/**\n * Fetch a list of available media libraries and present them to the user in a list prompt. The items\n * in the list prompt are grouped by organization id.\n */\nexport async function selectMediaLibrary(projectId: string): Promise<string> {\n debug('Fetching available media libraries')\n const spin = spinner('Fetching available media libraries').start()\n\n try {\n const activeLibraries = await getMediaLibraries(projectId)\n\n const byOrg = groupBy(activeLibraries, 'organizationId')\n\n spin.succeed()\n\n // Create flat choices array with separators\n const choices: Array<Separator | {name: string; value: string}> = []\n for (const [orgId, libs] of Object.entries(byOrg)) {\n choices.push(\n new Separator(`Organization: ${orgId}`),\n ...libs.map((lib) => ({name: lib.id, value: lib.id})),\n )\n }\n\n return select({\n choices,\n message: 'Select media library',\n })\n } catch (error) {\n spin.fail('Failed to fetch media libraries')\n throw error\n }\n}\n"],"names":["subdebug","select","Separator","spinner","groupBy","getMediaLibraries","debug","selectMediaLibrary","projectId","spin","start","activeLibraries","byOrg","succeed","choices","orgId","libs","Object","entries","push","map","lib","name","id","value","message","error","fail"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,mBAAkB;AACzC,SAAQC,MAAM,EAAEC,SAAS,EAAEC,OAAO,QAAO,sBAAqB;AAC9D,OAAOC,aAAa,uBAAsB;AAE1C,SAAQC,iBAAiB,QAAO,gCAA+B;AAE/D,MAAMC,QAAQN,SAAS;AAEvB;;;CAGC,GACD,OAAO,eAAeO,mBAAmBC,SAAiB;IACxDF,MAAM;IACN,MAAMG,OAAON,QAAQ,sCAAsCO,KAAK;IAEhE,IAAI;QACF,MAAMC,kBAAkB,MAAMN,kBAAkBG;QAEhD,MAAMI,QAAQR,QAAQO,iBAAiB;QAEvCF,KAAKI,OAAO;QAEZ,4CAA4C;QAC5C,MAAMC,UAA4D,EAAE;QACpE,KAAK,MAAM,CAACC,OAAOC,KAAK,IAAIC,OAAOC,OAAO,CAACN,OAAQ;YACjDE,QAAQK,IAAI,CACV,IAAIjB,UAAU,CAAC,cAAc,EAAEa,OAAO,MACnCC,KAAKI,GAAG,CAAC,CAACC,MAAS,CAAA;oBAACC,MAAMD,IAAIE,EAAE;oBAAEC,OAAOH,IAAIE,EAAE;gBAAA,CAAA;QAEtD;QAEA,OAAOtB,OAAO;YACZa;YACAW,SAAS;QACX;IACF,EAAE,OAAOC,OAAO;QACdjB,KAAKkB,IAAI,CAAC;QACV,MAAMD;IACR;AACF"}
|
package/dist/server/devServer.js
CHANGED
|
@@ -4,7 +4,7 @@ import { writeSanityRuntime } from '../actions/build/writeSanityRuntime.js';
|
|
|
4
4
|
import { serverDebug } from './serverDebug.js';
|
|
5
5
|
const debug = serverDebug.extend('dev');
|
|
6
6
|
export async function startDevServer(options) {
|
|
7
|
-
const { basePath, cwd, entry, httpHost, httpPort, isApp, reactCompiler, reactStrictMode, vite: extendViteConfig } = options;
|
|
7
|
+
const { basePath, cwd, entry, httpHost, httpPort, isApp, reactCompiler, reactStrictMode, schemaExtraction, typegen, vite: extendViteConfig } = options;
|
|
8
8
|
debug('Writing Sanity runtime files');
|
|
9
9
|
const watcher = await writeSanityRuntime({
|
|
10
10
|
basePath,
|
|
@@ -22,10 +22,12 @@ export async function startDevServer(options) {
|
|
|
22
22
|
isApp,
|
|
23
23
|
mode: 'development',
|
|
24
24
|
reactCompiler,
|
|
25
|
+
schemaExtraction,
|
|
25
26
|
server: {
|
|
26
27
|
host: httpHost,
|
|
27
28
|
port: httpPort
|
|
28
|
-
}
|
|
29
|
+
},
|
|
30
|
+
typegen
|
|
29
31
|
});
|
|
30
32
|
// Extend Vite configuration with user-provided config
|
|
31
33
|
if (extendViteConfig) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/server/devServer.ts"],"sourcesContent":["import {type UserViteConfig} from '@sanity/cli-core'\nimport {type PluginOptions as ReactCompilerConfig} from 'babel-plugin-react-compiler'\nimport {type FSWatcher} from 'chokidar'\nimport {createServer, type InlineConfig, type ViteDevServer} from 'vite'\n\nimport {extendViteConfigWithUserConfig, getViteConfig} from '../actions/build/getViteConfig.js'\nimport {writeSanityRuntime} from '../actions/build/writeSanityRuntime.js'\nimport {serverDebug} from './serverDebug.js'\n\nconst debug = serverDebug.extend('dev')\n\nexport interface DevServerOptions {\n basePath: string\n cwd: string\n httpPort: number\n\n reactCompiler: ReactCompilerConfig | undefined\n reactStrictMode: boolean\n\n staticPath: string\n\n entry?: string\n httpHost?: string\n isApp?: boolean\n projectName?: string\n vite?: UserViteConfig\n}\n\ninterface DevServer {\n close(): Promise<void>\n server: ViteDevServer\n\n watcher?: FSWatcher\n}\n\nexport async function startDevServer(options: DevServerOptions): Promise<DevServer> {\n const {\n basePath,\n cwd,\n entry,\n httpHost,\n httpPort,\n isApp,\n reactCompiler,\n reactStrictMode,\n vite: extendViteConfig,\n } = options\n\n debug('Writing Sanity runtime files')\n const watcher = await writeSanityRuntime({\n basePath,\n cwd,\n entry,\n isApp,\n reactStrictMode,\n watch: true,\n })\n\n debug('Resolving vite config')\n const mode = 'development'\n\n let viteConfig: InlineConfig = await getViteConfig({\n basePath,\n cwd,\n isApp,\n mode: 'development',\n reactCompiler,\n server: {host: httpHost, port: httpPort},\n })\n\n // Extend Vite configuration with user-provided config\n if (extendViteConfig) {\n viteConfig = await extendViteConfigWithUserConfig(\n {command: 'serve', mode},\n viteConfig,\n extendViteConfig,\n )\n }\n\n debug('Creating vite server')\n const server = await createServer(viteConfig)\n\n debug('Listening on specified port')\n await server.listen()\n\n return {\n close: async () => {\n if (watcher) {\n await watcher.close()\n }\n await server.close()\n },\n server,\n watcher,\n }\n}\n"],"names":["createServer","extendViteConfigWithUserConfig","getViteConfig","writeSanityRuntime","serverDebug","debug","extend","startDevServer","options","basePath","cwd","entry","httpHost","httpPort","isApp","reactCompiler","reactStrictMode","vite","extendViteConfig","watcher","watch","mode","viteConfig","server","host","port","command","listen","close"],"mappings":"AAGA,SAAQA,YAAY,QAA8C,OAAM;AAExE,SAAQC,8BAA8B,EAAEC,aAAa,QAAO,oCAAmC;AAC/F,SAAQC,kBAAkB,QAAO,yCAAwC;AACzE,SAAQC,WAAW,QAAO,mBAAkB;AAE5C,MAAMC,QAAQD,YAAYE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"sources":["../../src/server/devServer.ts"],"sourcesContent":["import {CliConfig, type UserViteConfig} from '@sanity/cli-core'\nimport {type PluginOptions as ReactCompilerConfig} from 'babel-plugin-react-compiler'\nimport {type FSWatcher} from 'chokidar'\nimport {createServer, type InlineConfig, type ViteDevServer} from 'vite'\n\nimport {extendViteConfigWithUserConfig, getViteConfig} from '../actions/build/getViteConfig.js'\nimport {writeSanityRuntime} from '../actions/build/writeSanityRuntime.js'\nimport {serverDebug} from './serverDebug.js'\n\nconst debug = serverDebug.extend('dev')\n\nexport interface DevServerOptions {\n basePath: string\n cwd: string\n httpPort: number\n\n reactCompiler: ReactCompilerConfig | undefined\n reactStrictMode: boolean\n\n staticPath: string\n\n entry?: string\n httpHost?: string\n isApp?: boolean\n projectName?: string\n schemaExtraction?: CliConfig['schemaExtraction']\n typegen?: CliConfig['typegen']\n vite?: UserViteConfig\n}\n\ninterface DevServer {\n close(): Promise<void>\n server: ViteDevServer\n\n watcher?: FSWatcher\n}\n\nexport async function startDevServer(options: DevServerOptions): Promise<DevServer> {\n const {\n basePath,\n cwd,\n entry,\n httpHost,\n httpPort,\n isApp,\n reactCompiler,\n reactStrictMode,\n schemaExtraction,\n typegen,\n vite: extendViteConfig,\n } = options\n\n debug('Writing Sanity runtime files')\n const watcher = await writeSanityRuntime({\n basePath,\n cwd,\n entry,\n isApp,\n reactStrictMode,\n watch: true,\n })\n\n debug('Resolving vite config')\n const mode = 'development'\n\n let viteConfig: InlineConfig = await getViteConfig({\n basePath,\n cwd,\n isApp,\n mode: 'development',\n reactCompiler,\n schemaExtraction,\n server: {host: httpHost, port: httpPort},\n typegen,\n })\n\n // Extend Vite configuration with user-provided config\n if (extendViteConfig) {\n viteConfig = await extendViteConfigWithUserConfig(\n {command: 'serve', mode},\n viteConfig,\n extendViteConfig,\n )\n }\n\n debug('Creating vite server')\n const server = await createServer(viteConfig)\n\n debug('Listening on specified port')\n await server.listen()\n\n return {\n close: async () => {\n if (watcher) {\n await watcher.close()\n }\n await server.close()\n },\n server,\n watcher,\n }\n}\n"],"names":["createServer","extendViteConfigWithUserConfig","getViteConfig","writeSanityRuntime","serverDebug","debug","extend","startDevServer","options","basePath","cwd","entry","httpHost","httpPort","isApp","reactCompiler","reactStrictMode","schemaExtraction","typegen","vite","extendViteConfig","watcher","watch","mode","viteConfig","server","host","port","command","listen","close"],"mappings":"AAGA,SAAQA,YAAY,QAA8C,OAAM;AAExE,SAAQC,8BAA8B,EAAEC,aAAa,QAAO,oCAAmC;AAC/F,SAAQC,kBAAkB,QAAO,yCAAwC;AACzE,SAAQC,WAAW,QAAO,mBAAkB;AAE5C,MAAMC,QAAQD,YAAYE,MAAM,CAAC;AA4BjC,OAAO,eAAeC,eAAeC,OAAyB;IAC5D,MAAM,EACJC,QAAQ,EACRC,GAAG,EACHC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACRC,KAAK,EACLC,aAAa,EACbC,eAAe,EACfC,gBAAgB,EAChBC,OAAO,EACPC,MAAMC,gBAAgB,EACvB,GAAGZ;IAEJH,MAAM;IACN,MAAMgB,UAAU,MAAMlB,mBAAmB;QACvCM;QACAC;QACAC;QACAG;QACAE;QACAM,OAAO;IACT;IAEAjB,MAAM;IACN,MAAMkB,OAAO;IAEb,IAAIC,aAA2B,MAAMtB,cAAc;QACjDO;QACAC;QACAI;QACAS,MAAM;QACNR;QACAE;QACAQ,QAAQ;YAACC,MAAMd;YAAUe,MAAMd;QAAQ;QACvCK;IACF;IAEA,sDAAsD;IACtD,IAAIE,kBAAkB;QACpBI,aAAa,MAAMvB,+BACjB;YAAC2B,SAAS;YAASL;QAAI,GACvBC,YACAJ;IAEJ;IAEAf,MAAM;IACN,MAAMoB,SAAS,MAAMzB,aAAawB;IAElCnB,MAAM;IACN,MAAMoB,OAAOI,MAAM;IAEnB,OAAO;QACLC,OAAO;YACL,IAAIT,SAAS;gBACX,MAAMA,QAAQS,KAAK;YACrB;YACA,MAAML,OAAOK,KAAK;QACpB;QACAL;QACAJ;IACF;AACF"}
|
|
@@ -3,7 +3,7 @@ import path from 'node:path';
|
|
|
3
3
|
import { styleText } from 'node:util';
|
|
4
4
|
import { preview } from 'vite';
|
|
5
5
|
import { extendViteConfigWithUserConfig } from '../actions/build/getViteConfig.js';
|
|
6
|
-
import {
|
|
6
|
+
import { getLocalPackageVersion } from '../util/getLocalPackageVersion.js';
|
|
7
7
|
import { serverDebug } from './serverDebug.js';
|
|
8
8
|
import { sanityBasePathRedirectPlugin } from './vite/plugin-sanity-basepath-redirect.js';
|
|
9
9
|
const debug = serverDebug.extend('preview');
|
|
@@ -66,7 +66,7 @@ const debug = serverDebug.extend('preview');
|
|
|
66
66
|
info(`Using resolved base path from static build: ${styleText('cyan', basePath)}`);
|
|
67
67
|
}
|
|
68
68
|
const startupDuration = Date.now() - startTime;
|
|
69
|
-
const viteVersion = await
|
|
69
|
+
const viteVersion = await getLocalPackageVersion('vite', import.meta.url);
|
|
70
70
|
info(`Sanity ${isApp ? 'application' : 'Studio'} ` + `using ${styleText('cyan', `vite@${viteVersion}`)} ` + `ready in ${styleText('cyan', `${Math.ceil(startupDuration)}ms`)} ` + `and running at ${styleText('cyan', url)} (production preview mode)`);
|
|
71
71
|
return {
|
|
72
72
|
close: ()=>new Promise((resolve, reject)=>server.httpServer.close((err)=>err ? reject(err) : resolve())),
|