@sanity/cli 6.0.0-alpha.8 → 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 +728 -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 +24 -37
- 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 +65 -28
- 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 +82 -54
- 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/getStudioEnvironmentVariables.js +1 -1
- package/dist/actions/build/getStudioEnvironmentVariables.js.map +1 -1
- package/dist/actions/build/getViteConfig.js +48 -5
- 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 +5 -3
- 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 +6 -5
- 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 +10 -6
- 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 +52 -22
- package/dist/actions/deploy/deployApp.js.map +1 -1
- package/dist/actions/deploy/deployStudio.js +95 -46
- 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 +7 -4
- package/dist/actions/dev/startAppDevServer.js.map +1 -1
- package/dist/actions/dev/startStudioDevServer.js +23 -19
- 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.map +1 -0
- package/dist/actions/documents/types.js.map +1 -1
- package/dist/actions/documents/validate.js +15 -17
- package/dist/actions/documents/validate.js.map +1 -1
- package/dist/{threads/validateDocuments.js → actions/documents/validateDocuments.worker.js} +37 -37
- package/dist/actions/documents/validateDocuments.worker.js.map +1 -0
- 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 +9 -8
- package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.js.map +1 -1
- package/dist/actions/documents/validation/reporters/prettyReporter/prettyReporter.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/{threads/configClient.js → actions/exec/configClient.worker.js} +2 -2
- package/dist/actions/exec/configClient.worker.js.map +1 -0
- package/dist/actions/exec/execScript.js +29 -25
- package/dist/actions/exec/execScript.js.map +1 -1
- package/dist/{threads/registerBrowserEnv.js → actions/exec/registerBrowserEnv.worker.js} +1 -1
- package/dist/actions/exec/registerBrowserEnv.worker.js.map +1 -0
- package/dist/actions/graphql/SchemaError.js +15 -0
- package/dist/actions/graphql/SchemaError.js.map +1 -0
- 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 +659 -0
- package/dist/actions/graphql/extractFromSanitySchema.js.map +1 -0
- 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 +226 -0
- package/dist/actions/graphql/gen1/generateTypeFilters.js.map +1 -0
- package/dist/actions/graphql/gen1/generateTypeQueries.js +86 -0
- package/dist/actions/graphql/gen1/generateTypeQueries.js.map +1 -0
- package/dist/actions/graphql/gen1/index.js +19 -0
- package/dist/actions/graphql/gen1/index.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/booleanFilters.js +26 -0
- package/dist/actions/graphql/gen2/filters/booleanFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/dateFilters.js +46 -0
- package/dist/actions/graphql/gen2/filters/dateFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/dateTimeFilters.js +46 -0
- package/dist/actions/graphql/gen2/filters/dateTimeFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/documentFilters.js +21 -0
- package/dist/actions/graphql/gen2/filters/documentFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/floatFilters.js +46 -0
- package/dist/actions/graphql/gen2/filters/floatFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/idFilters.js +44 -0
- package/dist/actions/graphql/gen2/filters/idFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/integerFilters.js +46 -0
- package/dist/actions/graphql/gen2/filters/integerFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/stringFilters.js +49 -0
- package/dist/actions/graphql/gen2/filters/stringFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/generateTypeFilters.js +85 -0
- package/dist/actions/graphql/gen2/generateTypeFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/generateTypeQueries.js +107 -0
- package/dist/actions/graphql/gen2/generateTypeQueries.js.map +1 -0
- package/dist/actions/graphql/gen2/generateTypeSortings.js +70 -0
- package/dist/actions/graphql/gen2/generateTypeSortings.js.map +1 -0
- package/dist/actions/graphql/gen2/index.js +22 -0
- package/dist/actions/graphql/gen2/index.js.map +1 -0
- package/dist/actions/graphql/gen3/filters/documentFilters.js +21 -0
- package/dist/actions/graphql/gen3/filters/documentFilters.js.map +1 -0
- package/dist/actions/graphql/gen3/generateTypeFilters.js +101 -0
- package/dist/actions/graphql/gen3/generateTypeFilters.js.map +1 -0
- package/dist/actions/graphql/gen3/generateTypeQueries.js +103 -0
- package/dist/actions/graphql/gen3/generateTypeQueries.js.map +1 -0
- package/dist/actions/graphql/gen3/generateTypeSortings.js +70 -0
- package/dist/actions/graphql/gen3/generateTypeSortings.js.map +1 -0
- package/dist/actions/graphql/gen3/index.js +30 -0
- package/dist/actions/graphql/gen3/index.js.map +1 -0
- package/dist/actions/graphql/gen3/utils.js +12 -0
- package/dist/actions/graphql/gen3/utils.js.map +1 -0
- 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/graphqlDebug.js +4 -0
- package/dist/actions/graphql/graphqlDebug.js.map +1 -0
- package/dist/actions/graphql/helpUrls.js +3 -0
- package/dist/actions/graphql/helpUrls.js.map +1 -0
- package/dist/actions/graphql/helpers.js +24 -0
- package/dist/actions/graphql/helpers.js.map +1 -0
- package/dist/actions/graphql/resolveApiGeneration.js +43 -0
- package/dist/actions/graphql/resolveApiGeneration.js.map +1 -0
- package/dist/actions/graphql/resolveGraphQLApisFromWorkspaces.js +187 -0
- package/dist/actions/graphql/resolveGraphQLApisFromWorkspaces.js.map +1 -0
- package/dist/actions/graphql/types.js.map +1 -1
- package/dist/actions/init/bootstrapLocalTemplate.js +13 -10
- 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/env/createOrAppendEnvVars.js +2 -2
- package/dist/actions/init/env/createOrAppendEnvVars.js.map +1 -1
- package/dist/actions/init/env/writeEnvVarsToFile.js +2 -2
- package/dist/actions/init/env/writeEnvVarsToFile.js.map +1 -1
- package/dist/actions/init/fetchPostInitPrompt.js +2 -2
- package/dist/actions/init/fetchPostInitPrompt.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/resolvePackageManager.js +2 -2
- package/dist/actions/init/resolvePackageManager.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 +75 -58
- package/dist/actions/mcp/detectAvailableEditors.js.map +1 -1
- package/dist/actions/mcp/editorConfigs.js +205 -0
- package/dist/actions/mcp/editorConfigs.js.map +1 -0
- package/dist/actions/mcp/promptForMCPSetup.js +24 -0
- package/dist/actions/mcp/promptForMCPSetup.js.map +1 -0
- package/dist/actions/mcp/setupMCP.js +88 -0
- package/dist/actions/mcp/setupMCP.js.map +1 -0
- package/dist/actions/mcp/types.js +3 -0
- package/dist/actions/mcp/types.js.map +1 -0
- package/dist/actions/mcp/writeMCPConfig.js +35 -28
- 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 +24 -20
- 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 +68 -0
- package/dist/actions/organizations/getOrganization.js.map +1 -0
- package/dist/actions/organizations/getOrganizationChoices.js +27 -19
- package/dist/actions/organizations/getOrganizationChoices.js.map +1 -1
- package/dist/actions/organizations/hasProjectAttachGrant.js +1 -1
- package/dist/actions/organizations/hasProjectAttachGrant.js.map +1 -1
- package/dist/actions/organizations/types.js +3 -0
- package/dist/actions/organizations/types.js.map +1 -0
- package/dist/actions/organizations/validateOrganizationName.js +10 -0
- package/dist/actions/organizations/validateOrganizationName.js.map +1 -0
- package/dist/actions/preview/previewAction.js +2 -1
- package/dist/actions/preview/previewAction.js.map +1 -1
- package/dist/actions/projects/getManageUrl.js +6 -0
- package/dist/actions/projects/getManageUrl.js.map +1 -0
- package/dist/actions/projects/validateProjectName.js +11 -0
- package/dist/actions/projects/validateProjectName.js.map +1 -0
- package/dist/actions/schema/deleteSchemaAction.js +16 -32
- 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 +33 -0
- package/dist/actions/schema/extractSanitySchema.worker.js.map +1 -0
- 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 +45 -0
- package/dist/actions/schema/extractSchema.js.map +1 -0
- package/dist/actions/schema/extractSchemaWatcher.js +128 -0
- package/dist/actions/schema/extractSchemaWatcher.js.map +1 -0
- package/dist/actions/schema/formatSchemaValidation.js +22 -6
- 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 +54 -57
- 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/metafile.js.map +1 -1
- package/dist/actions/schema/runSchemaExtraction.js +39 -0
- package/dist/actions/schema/runSchemaExtraction.js.map +1 -0
- package/dist/actions/schema/types.js +17 -0
- package/dist/actions/schema/types.js.map +1 -0
- 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/debug.js +1 -0
- package/dist/actions/schema/utils/debug.js.map +1 -1
- package/dist/actions/schema/utils/extractValidationFromSchemaError.js +12 -0
- package/dist/actions/schema/utils/extractValidationFromSchemaError.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/validateAction.js +7 -17
- package/dist/actions/schema/validateAction.js.map +1 -1
- package/dist/{threads/validateSchema.js → actions/schema/validateSchema.worker.js} +28 -26
- package/dist/actions/schema/validateSchema.worker.js.map +1 -0
- package/dist/actions/schema/watchExtractSchema.js +72 -0
- package/dist/actions/schema/watchExtractSchema.js.map +1 -0
- package/dist/actions/telemetry/getLearnMoreMessage.js.map +1 -1
- package/dist/actions/telemetry/getStatusDisplay.js.map +1 -1
- package/dist/actions/telemetry/getStatusMessage.js.map +1 -1
- package/dist/actions/telemetry/isTrueish.js +10 -0
- package/dist/actions/telemetry/isTrueish.js.map +1 -0
- package/dist/actions/telemetry/resolveConsent.js +3 -3
- package/dist/actions/telemetry/resolveConsent.js.map +1 -1
- package/dist/actions/telemetry/setConsent.js +3 -2
- package/dist/actions/telemetry/setConsent.js.map +1 -1
- package/dist/actions/telemetry/telemetryDisclosure.js +3 -3
- package/dist/actions/telemetry/telemetryDisclosure.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 +3 -3
- 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 +26 -10
- package/dist/commands/backup/disable.js.map +1 -1
- package/dist/commands/backup/download.js +26 -17
- package/dist/commands/backup/download.js.map +1 -1
- package/dist/commands/backup/enable.js +25 -10
- 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 +33 -16
- 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 +51 -35
- package/dist/commands/dataset/copy.js.map +1 -1
- package/dist/commands/dataset/create.js +46 -14
- package/dist/commands/dataset/create.js.map +1 -1
- package/dist/commands/dataset/delete.js +28 -9
- 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 +26 -18
- 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 +9 -7
- 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 +7 -6
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/docs/search.js +3 -2
- package/dist/commands/docs/search.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 +74 -48
- package/dist/commands/documents/validate.js.map +1 -1
- package/dist/commands/graphql/deploy.js +457 -0
- package/dist/commands/graphql/deploy.js.map +1 -0
- package/dist/commands/graphql/list.js +21 -13
- 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 +25 -12
- package/dist/commands/hook/logs.js.map +1 -1
- package/dist/commands/init.js +164 -143
- 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 +2 -2
- 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 +14 -75
- package/dist/commands/mcp/configure.js.map +1 -1
- package/dist/commands/media/create-aspect.js +11 -10
- package/dist/commands/media/create-aspect.js.map +1 -1
- package/dist/commands/media/delete-aspect.js +14 -11
- package/dist/commands/media/delete-aspect.js.map +1 -1
- package/dist/commands/media/deploy-aspect.js +31 -17
- package/dist/commands/media/deploy-aspect.js.map +1 -1
- package/dist/commands/media/export.js +10 -9
- package/dist/commands/media/export.js.map +1 -1
- package/dist/commands/media/import.js +14 -12
- package/dist/commands/media/import.js.map +1 -1
- package/dist/commands/preview.js +12 -28
- package/dist/commands/preview.js.map +1 -1
- package/dist/commands/projects/create.js +181 -0
- package/dist/commands/projects/create.js.map +1 -0
- package/dist/commands/projects/list.js +4 -3
- 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 +34 -11
- 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/schema/validate.js +10 -2
- package/dist/commands/schema/validate.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/undeploy.js +9 -8
- package/dist/commands/undeploy.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 +77 -34
- package/dist/commands/users/list.js.map +1 -1
- package/dist/commands/versions.js +3 -3
- package/dist/commands/versions.js.map +1 -1
- package/dist/config/createCliConfig.js +2 -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 +39 -0
- package/dist/hooks/prerun/injectEnvVariables.js.map +1 -0
- package/dist/hooks/prerun/setupTelemetry.js +14 -7
- package/dist/hooks/prerun/setupTelemetry.js.map +1 -1
- package/dist/hooks/prerun/warnings.js +6 -0
- package/dist/hooks/prerun/warnings.js.map +1 -0
- package/dist/prompts/promptForDefaultConfig.js +12 -0
- package/dist/prompts/promptForDefaultConfig.js.map +1 -0
- package/dist/prompts/promptForOrganizationName.js +11 -0
- package/dist/prompts/promptForOrganizationName.js.map +1 -0
- package/dist/prompts/promptForProject.js +64 -0
- package/dist/prompts/promptForProject.js.map +1 -0
- package/dist/prompts/promptForProjectName.js +11 -0
- package/dist/prompts/promptForProjectName.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 +17 -11
- 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/documents.js +56 -0
- package/dist/services/documents.js.map +1 -0
- package/dist/services/embeddings.js +25 -0
- package/dist/services/embeddings.js.map +1 -0
- package/dist/services/getUrlHeaders.js +25 -0
- package/dist/services/getUrlHeaders.js.map +1 -0
- package/dist/services/grants.js +13 -0
- package/dist/services/grants.js.map +1 -0
- package/dist/services/graphql.js +64 -0
- package/dist/services/graphql.js.map +1 -1
- package/dist/services/mcp.js.map +1 -1
- package/dist/services/organizations.js +1 -1
- package/dist/services/organizations.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 +63 -2
- 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/build.telemetry.js +13 -0
- package/dist/telemetry/build.telemetry.js.map +1 -0
- package/dist/telemetry/extractSchema.telemetry.js +18 -0
- package/dist/telemetry/extractSchema.telemetry.js.map +1 -0
- package/dist/telemetry/init.telemetry.js +8 -0
- package/dist/telemetry/init.telemetry.js.map +1 -0
- package/dist/telemetry/login.telemetry.js +8 -0
- package/dist/telemetry/login.telemetry.js.map +1 -0
- package/dist/telemetry/mcp.telemetry.js +8 -0
- package/dist/telemetry/mcp.telemetry.js.map +1 -0
- package/dist/types/grants.js +3 -0
- package/dist/types/grants.js.map +1 -0
- package/dist/types.js +6 -1
- package/dist/types.js.map +1 -1
- package/dist/util/appId.js +5 -5
- package/dist/util/appId.js.map +1 -1
- package/dist/util/checkProjectPermissions.js +21 -0
- package/dist/util/checkProjectPermissions.js.map +1 -0
- package/dist/util/cliClient.js +13 -10
- 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/formatSize.js +2 -2
- package/dist/util/formatSize.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/getSanityEnv.js +3 -0
- package/dist/util/getSanityEnv.js.map +1 -0
- 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/loadEnv.js +1 -6
- package/dist/util/loadEnv.js.map +1 -1
- 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/{telemetry/store → util/telemetry}/cleanupOldTelemetryFiles.js +1 -1
- package/dist/util/telemetry/cleanupOldTelemetryFiles.js.map +1 -0
- package/dist/{telemetry/store → util/telemetry}/createTelemetryStore.js +4 -4
- package/dist/util/telemetry/createTelemetryStore.js.map +1 -0
- package/dist/util/telemetry/createTraceId.js.map +1 -0
- package/dist/{telemetry/store → util/telemetry}/findTelemetryFiles.js +4 -3
- package/dist/util/telemetry/findTelemetryFiles.js.map +1 -0
- package/dist/{telemetry/store → util/telemetry}/flushTelemetryFiles.js +29 -18
- package/dist/util/telemetry/flushTelemetryFiles.js.map +1 -0
- package/dist/{telemetry/store → util/telemetry}/generateTelemetryFilePath.js +2 -2
- package/dist/util/telemetry/generateTelemetryFilePath.js.map +1 -0
- package/dist/{telemetry/store → util/telemetry}/logger.js +7 -2
- 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/{telemetry/store → util/telemetry}/trace.js +2 -2
- 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/dist/util/warnAboutMissingAppId.js +6 -2
- package/dist/util/warnAboutMissingAppId.js.map +1 -1
- package/dist/util/warnOnNonProductionEnvironment.js +18 -0
- package/dist/util/warnOnNonProductionEnvironment.js.map +1 -0
- package/oclif.config.js +7 -1
- package/oclif.manifest.json +1129 -146
- package/package.json +83 -78
- 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/SanityHelp.d.ts +0 -4
- package/dist/actions/auth/authServer.d.ts +0 -33
- package/dist/actions/auth/getProviderName.d.ts +0 -8
- package/dist/actions/auth/login/getProvider.d.ts +0 -15
- package/dist/actions/auth/login/getSSOProvider.d.ts +0 -13
- package/dist/actions/auth/login/login.d.ts +0 -20
- package/dist/actions/auth/login/promptProviders.d.ts +0 -10
- package/dist/actions/auth/login/promptProviders.js.map +0 -1
- package/dist/actions/auth/login/samlProviderToLoginProvider.d.ts +0 -9
- package/dist/actions/auth/types.d.ts +0 -26
- package/dist/actions/backup/archiveDir.d.ts +0 -10
- package/dist/actions/backup/assertDatasetExist.d.ts +0 -8
- package/dist/actions/backup/backupDownloadDebug.d.ts +0 -1
- package/dist/actions/backup/cleanupTmpDir.d.ts +0 -6
- package/dist/actions/backup/constants.d.ts +0 -1
- package/dist/actions/backup/downloadAsset.d.ts +0 -9
- package/dist/actions/backup/downloadDocument.d.ts +0 -7
- package/dist/actions/backup/fetchNextBackupPage.d.ts +0 -23
- package/dist/actions/backup/progressSpinner.d.ts +0 -14
- package/dist/actions/build/buildApp.d.ts +0 -7
- package/dist/actions/build/buildDebug.d.ts +0 -1
- package/dist/actions/build/buildStaticFiles.d.ts +0 -35
- package/dist/actions/build/buildStudio.d.ts +0 -7
- package/dist/actions/build/buildVendorDependencies.d.ts +0 -11
- package/dist/actions/build/checkRequiredDependencies.d.ts +0 -22
- package/dist/actions/build/checkStudioDependencyVersions.d.ts +0 -2
- package/dist/actions/build/createExternalFromImportMap.d.ts +0 -11
- package/dist/actions/build/decorateIndexWithAutoGeneratedWarning.d.ts +0 -6
- package/dist/actions/build/decorateIndexWithBridgeScript.d.ts +0 -8
- package/dist/actions/build/determineBasePath.d.ts +0 -7
- package/dist/actions/build/generateWebManifest.d.ts +0 -15
- package/dist/actions/build/getAppEnvVars.d.ts +0 -6
- package/dist/actions/build/getAutoUpdatesImportMap.d.ts +0 -21
- package/dist/actions/build/getEntryModule.d.ts +0 -7
- package/dist/actions/build/getPossibleDocumentComponentLocations.d.ts +0 -4
- package/dist/actions/build/getStudioEnvVars.d.ts +0 -6
- package/dist/actions/build/getStudioEnvironmentVariables.d.ts +0 -52
- package/dist/actions/build/getViteConfig.d.ts +0 -66
- package/dist/actions/build/normalizeBasePath.d.ts +0 -6
- package/dist/actions/build/renderDocument.d.ts +0 -15
- package/dist/actions/build/renderDocument.worker.d.ts +0 -1
- package/dist/actions/build/renderDocumentWorker/addTimestampImportMapScriptToHtml.d.ts +0 -6
- package/dist/actions/build/renderDocumentWorker/components/BasicDocument.d.ts +0 -19
- package/dist/actions/build/renderDocumentWorker/components/DefaultDocument.d.ts +0 -13
- package/dist/actions/build/renderDocumentWorker/components/Favicons.d.ts +0 -2
- package/dist/actions/build/renderDocumentWorker/components/GlobalErrorHandler.d.ts +0 -3
- package/dist/actions/build/renderDocumentWorker/components/NoJavascript.d.ts +0 -3
- package/dist/actions/build/renderDocumentWorker/getDocumentComponent.d.ts +0 -5
- package/dist/actions/build/renderDocumentWorker/getDocumentHtml.d.ts +0 -8
- package/dist/actions/build/renderDocumentWorker/renderDocumentWorker.d.ts +0 -21
- package/dist/actions/build/renderDocumentWorker/tryLoadDocumentComponent.d.ts +0 -8
- package/dist/actions/build/renderDocumentWorker/types.d.ts +0 -8
- package/dist/actions/build/shouldAutoUpdate.d.ts +0 -16
- package/dist/actions/build/types.d.ts +0 -13
- package/dist/actions/build/writeFavicons.d.ts +0 -1
- package/dist/actions/build/writeSanityRuntime.d.ts +0 -19
- package/dist/actions/build/writeWebManifest.d.ts +0 -4
- package/dist/actions/codemods/deskRename.d.ts +0 -2
- package/dist/actions/codemods/index.d.ts +0 -5
- package/dist/actions/codemods/partsTypeDirective.d.ts +0 -2
- package/dist/actions/codemods/reactIconsV3.d.ts +0 -2
- package/dist/actions/codemods/types.d.ts +0 -8
- package/dist/actions/cors/filterAndValidateOrigin.d.ts +0 -7
- package/dist/actions/dataset/create.d.ts +0 -49
- package/dist/actions/dataset/determineDatasetAclMode.d.ts +0 -37
- package/dist/actions/dataset/processAliasName.d.ts +0 -9
- package/dist/actions/dataset/validateDatasetAliasName.d.ts +0 -1
- package/dist/actions/dataset/validateDatasetName.d.ts +0 -13
- package/dist/actions/debug/gatherDebugInfo.d.ts +0 -2
- package/dist/actions/debug/getGlobalConfigLocation.d.ts +0 -1
- package/dist/actions/debug/types.d.ts +0 -30
- package/dist/actions/deploy/checkDir.d.ts +0 -8
- package/dist/actions/deploy/createStudioUserApplication.d.ts +0 -2
- package/dist/actions/deploy/createUserApplicationForApp.d.ts +0 -2
- package/dist/actions/deploy/deployApp.d.ts +0 -7
- package/dist/actions/deploy/deployDebug.d.ts +0 -1
- package/dist/actions/deploy/deployStudio.d.ts +0 -2
- package/dist/actions/deploy/findUserApplicationForApp.d.ts +0 -15
- package/dist/actions/deploy/findUserApplicationForStudio.d.ts +0 -13
- package/dist/actions/deploy/types.d.ts +0 -11
- package/dist/actions/dev/devAction.d.ts +0 -4
- package/dist/actions/dev/devDebug.d.ts +0 -1
- package/dist/actions/dev/getCoreAppUrl.d.ts +0 -5
- package/dist/actions/dev/getCoreAppUrl.js +0 -10
- package/dist/actions/dev/getCoreAppUrl.js.map +0 -1
- package/dist/actions/dev/getDevServerConfig.d.ts +0 -9
- package/dist/actions/dev/startAppDevServer.d.ts +0 -4
- package/dist/actions/dev/startStudioDevServer.d.ts +0 -4
- package/dist/actions/dev/types.d.ts +0 -10
- package/dist/actions/docs/normalizeDocsPath.d.ts +0 -8
- package/dist/actions/documents/constants.d.ts +0 -1
- package/dist/actions/documents/editor.d.ts +0 -11
- package/dist/actions/documents/types.d.ts +0 -2
- package/dist/actions/documents/validate.d.ts +0 -26
- package/dist/actions/documents/validation/reporters/index.d.ts +0 -5
- package/dist/actions/documents/validation/reporters/jsonReporter.d.ts +0 -2
- package/dist/actions/documents/validation/reporters/ndjsonReporter.d.ts +0 -2
- package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.d.ts +0 -10
- package/dist/actions/documents/validation/reporters/prettyReporter/index.d.ts +0 -1
- package/dist/actions/documents/validation/reporters/prettyReporter/prettyReporter.d.ts +0 -5
- package/dist/actions/documents/validation/reporters/prettyReporter/util.d.ts +0 -53
- package/dist/actions/exec/execScript.d.ts +0 -11
- package/dist/actions/graphql/getGraphQLAPIs.d.ts +0 -2
- package/dist/actions/graphql/getGraphQLAPIs.worker.d.ts +0 -1
- package/dist/actions/graphql/types.d.ts +0 -68
- package/dist/actions/hook/constants.d.ts +0 -1
- package/dist/actions/hook/formatFailure.d.ts +0 -4
- package/dist/actions/hook/types.d.ts +0 -78
- package/dist/actions/init/bootstrapLocalTemplate.d.ts +0 -13
- package/dist/actions/init/bootstrapRemoteTemplate.d.ts +0 -12
- package/dist/actions/init/bootstrapTemplate.d.ts +0 -18
- package/dist/actions/init/checkNextJsReactCompatibility.d.ts +0 -9
- package/dist/actions/init/constants.d.ts +0 -1
- package/dist/actions/init/countNestedFolders.d.ts +0 -1
- package/dist/actions/init/createAppCliConfig.d.ts +0 -5
- package/dist/actions/init/createCliConfig.d.ts +0 -6
- package/dist/actions/init/createPackageManifest.d.ts +0 -6
- package/dist/actions/init/createStudioConfig.d.ts +0 -13
- package/dist/actions/init/determineAppTemplate.d.ts +0 -9
- package/dist/actions/init/env/createOrAppendEnvVars.d.ts +0 -12
- package/dist/actions/init/env/parseAndUpdateEnvVars.d.ts +0 -9
- package/dist/actions/init/env/writeEnvVarsToFile.d.ts +0 -12
- package/dist/actions/init/fetchPostInitPrompt.d.ts +0 -6
- package/dist/actions/init/git.d.ts +0 -1
- package/dist/actions/init/processTemplate.d.ts +0 -7
- package/dist/actions/init/remoteTemplate.d.ts +0 -20
- package/dist/actions/init/resolvePackageManager.d.ts +0 -10
- package/dist/actions/init/setupMCP.d.ts +0 -21
- package/dist/actions/init/setupMCP.js +0 -258
- package/dist/actions/init/setupMCP.js.map +0 -1
- package/dist/actions/init/templates/appQuickstart.d.ts +0 -3
- package/dist/actions/init/templates/appSanityUi.d.ts +0 -3
- package/dist/actions/init/templates/blog.d.ts +0 -3
- package/dist/actions/init/templates/clean.d.ts +0 -3
- package/dist/actions/init/templates/getStarted.d.ts +0 -3
- package/dist/actions/init/templates/index.d.ts +0 -3
- package/dist/actions/init/templates/moviedb.d.ts +0 -3
- package/dist/actions/init/templates/nextjs/index.d.ts +0 -6
- package/dist/actions/init/templates/nextjs/schemaTypes/blog.d.ts +0 -3
- package/dist/actions/init/templates/quickstart.d.ts +0 -3
- package/dist/actions/init/templates/shopify.d.ts +0 -3
- package/dist/actions/init/templates/shopifyOnline.d.ts +0 -3
- package/dist/actions/init/types.d.ts +0 -15
- package/dist/actions/init/updateInitialTemplateMetadata.d.ts +0 -1
- package/dist/actions/manifest/SchemaIcon.d.ts +0 -9
- package/dist/actions/manifest/extractAppManifest.d.ts +0 -20
- package/dist/actions/manifest/extractManifest.d.ts +0 -14
- package/dist/actions/manifest/extractWorkspaceManifest.d.ts +0 -3
- package/dist/actions/manifest/purifyConfig.d.ts +0 -10
- package/dist/actions/manifest/schemaTypeHelpers.d.ts +0 -17
- package/dist/actions/manifest/types.d.ts +0 -119
- package/dist/actions/mcp/detectAvailableEditors.d.ts +0 -8
- package/dist/actions/mcp/getEditorsWithExistingConfig.d.ts +0 -8
- package/dist/actions/mcp/getEditorsWithExistingConfig.js +0 -29
- package/dist/actions/mcp/getEditorsWithExistingConfig.js.map +0 -1
- package/dist/actions/mcp/writeMCPConfig.d.ts +0 -9
- package/dist/actions/media/getMediaLibraryConfig.d.ts +0 -2
- package/dist/actions/media/importAspects.d.ts +0 -52
- package/dist/actions/media/importMedia.d.ts +0 -55
- package/dist/actions/media/importMediaDebug.d.ts +0 -1
- package/dist/actions/organizations/getOrganizationChoices.d.ts +0 -6
- package/dist/actions/organizations/getOrganizationsWithAttachGrantInfo.d.ts +0 -2
- package/dist/actions/organizations/hasProjectAttachGrant.d.ts +0 -1
- package/dist/actions/preview/getPreviewServerConfig.d.ts +0 -15
- package/dist/actions/preview/previewAction.d.ts +0 -10
- package/dist/actions/preview/types.d.ts +0 -2
- package/dist/actions/schema/deleteSchemaAction.d.ts +0 -23
- package/dist/actions/schema/deploySchemas.d.ts +0 -15
- package/dist/actions/schema/extract.d.ts +0 -7
- package/dist/actions/schema/extract.js +0 -38
- package/dist/actions/schema/extract.js.map +0 -1
- package/dist/actions/schema/formatSchemaValidation.d.ts +0 -3
- package/dist/actions/schema/listSchemas.d.ts +0 -12
- package/dist/actions/schema/metafile.d.ts +0 -21
- package/dist/actions/schema/schemaStoreTypes.d.ts +0 -18
- package/dist/actions/schema/schemaStoreTypes.js +0 -19
- package/dist/actions/schema/schemaStoreTypes.js.map +0 -1
- package/dist/actions/schema/utils/debug.d.ts +0 -2
- package/dist/actions/schema/utils/manifestExtractor.d.ts +0 -9
- 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.d.ts +0 -17
- package/dist/actions/schema/utils/manifestReader.js +0 -71
- package/dist/actions/schema/utils/manifestReader.js.map +0 -1
- package/dist/actions/schema/utils/schemaStoreOutStrings.d.ts +0 -2
- package/dist/actions/schema/utils/schemaStoreValidation.d.ts +0 -29
- package/dist/actions/schema/utils/uniqByProjectIdDataset.d.ts +0 -14
- package/dist/actions/schema/utils/workspaceSchemaId.d.ts +0 -8
- package/dist/actions/schema/validateAction.d.ts +0 -11
- package/dist/actions/telemetry/fetchTelemetryConsent.d.ts +0 -11
- package/dist/actions/telemetry/fetchTelemetryConsent.js +0 -38
- package/dist/actions/telemetry/fetchTelemetryConsent.js.map +0 -1
- package/dist/actions/telemetry/getLearnMoreMessage.d.ts +0 -2
- package/dist/actions/telemetry/getStatusDisplay.d.ts +0 -2
- package/dist/actions/telemetry/getStatusMessage.d.ts +0 -2
- package/dist/actions/telemetry/isValidApiConsentStatus.d.ts +0 -20
- package/dist/actions/telemetry/isValidApiConsentStatus.js +0 -25
- package/dist/actions/telemetry/isValidApiConsentStatus.js.map +0 -1
- package/dist/actions/telemetry/resolveConsent.d.ts +0 -2
- package/dist/actions/telemetry/setConsent.d.ts +0 -13
- package/dist/actions/telemetry/telemetryDebug.d.ts +0 -1
- package/dist/actions/telemetry/telemetryDisclosure.d.ts +0 -1
- package/dist/actions/telemetry/telemetryLearnMoreMessage.d.ts +0 -2
- package/dist/actions/telemetry/types.d.ts +0 -14
- package/dist/actions/telemetry/types.js.map +0 -1
- package/dist/actions/tokens/constants.d.ts +0 -4
- package/dist/actions/tokens/types.d.ts +0 -32
- package/dist/actions/tokens/validateRole.d.ts +0 -9
- package/dist/actions/undeploy/getStudioOrAppUserApplication.d.ts +0 -9
- package/dist/actions/users/getMembersForProject.d.ts +0 -24
- package/dist/actions/users/getPendingInvitations.d.ts +0 -13
- package/dist/actions/users/types.d.ts +0 -39
- package/dist/actions/users/usersDebug.d.ts +0 -1
- package/dist/actions/users/validateEmail.d.ts +0 -1
- package/dist/actions/versions/buildPackageArray.d.ts +0 -18
- package/dist/actions/versions/filterSanityModules.d.ts +0 -8
- package/dist/actions/versions/findSanityModulesVersions.d.ts +0 -14
- package/dist/actions/versions/getFormatters.d.ts +0 -17
- package/dist/actions/versions/tryFindLatestVersion.d.ts +0 -8
- package/dist/actions/versions/types.d.ts +0 -14
- package/dist/actions/versions/versionsDebug.d.ts +0 -1
- package/dist/commands/backup/disable.d.ts +0 -13
- package/dist/commands/backup/download.d.ts +0 -21
- package/dist/commands/backup/enable.d.ts +0 -12
- package/dist/commands/backup/list.d.ts +0 -19
- package/dist/commands/build.d.ts +0 -18
- package/dist/commands/codemod.d.ts +0 -19
- package/dist/commands/cors/add.d.ts +0 -29
- package/dist/commands/cors/delete.d.ts +0 -13
- package/dist/commands/cors/list.d.ts +0 -9
- package/dist/commands/dataset/alias/create.d.ts +0 -13
- package/dist/commands/dataset/alias/delete.d.ts +0 -16
- package/dist/commands/dataset/alias/link.d.ts +0 -17
- package/dist/commands/dataset/alias/unlink.d.ts +0 -16
- package/dist/commands/dataset/copy.d.ts +0 -27
- package/dist/commands/dataset/create.d.ts +0 -15
- package/dist/commands/dataset/delete.d.ts +0 -15
- package/dist/commands/dataset/export.d.ts +0 -26
- package/dist/commands/dataset/import.d.ts +0 -1
- package/dist/commands/dataset/list.d.ts +0 -9
- package/dist/commands/dataset/visibility/get.d.ts +0 -12
- package/dist/commands/dataset/visibility/set.d.ts +0 -13
- package/dist/commands/debug.d.ts +0 -9
- package/dist/commands/deploy.d.ts +0 -23
- package/dist/commands/dev.d.ts +0 -14
- package/dist/commands/docs/browse.d.ts +0 -6
- package/dist/commands/docs/read.d.ts +0 -15
- package/dist/commands/docs/search.d.ts +0 -15
- package/dist/commands/documents/create.d.ts +0 -39
- package/dist/commands/documents/delete.d.ts +0 -17
- package/dist/commands/documents/get.d.ts +0 -16
- package/dist/commands/documents/query.d.ts +0 -19
- package/dist/commands/documents/validate.d.ts +0 -29
- package/dist/commands/exec.d.ts +0 -19
- package/dist/commands/graphql/list.d.ts +0 -9
- package/dist/commands/graphql/undeploy.d.ts +0 -16
- package/dist/commands/hook/attempt.d.ts +0 -13
- package/dist/commands/hook/create.d.ts +0 -9
- package/dist/commands/hook/delete.d.ts +0 -13
- package/dist/commands/hook/list.d.ts +0 -9
- package/dist/commands/hook/logs.d.ts +0 -19
- package/dist/commands/init.d.ts +0 -65
- package/dist/commands/install.d.ts +0 -10
- package/dist/commands/learn.d.ts +0 -6
- package/dist/commands/login.d.ts +0 -13
- package/dist/commands/logout.d.ts +0 -6
- package/dist/commands/manage.d.ts +0 -6
- package/dist/commands/manifest/extract.d.ts +0 -12
- package/dist/commands/mcp/configure.d.ts +0 -9
- package/dist/commands/media/create-aspect.d.ts +0 -9
- package/dist/commands/media/delete-aspect.d.ts +0 -16
- package/dist/commands/media/deploy-aspect.d.ts +0 -20
- package/dist/commands/media/export.d.ts +0 -21
- package/dist/commands/media/import.d.ts +0 -18
- package/dist/commands/openapi/get.d.ts +0 -17
- package/dist/commands/openapi/list.d.ts +0 -14
- package/dist/commands/preview.d.ts +0 -17
- package/dist/commands/projects/list.d.ts +0 -13
- package/dist/commands/schema/delete.d.ts +0 -16
- package/dist/commands/schema/deploy.d.ts +0 -16
- package/dist/commands/schema/extract.d.ts +0 -15
- package/dist/commands/schema/list.d.ts +0 -15
- package/dist/commands/schema/validate.d.ts +0 -15
- package/dist/commands/telemetry/disable.d.ts +0 -8
- package/dist/commands/telemetry/enable.d.ts +0 -8
- package/dist/commands/telemetry/status.d.ts +0 -8
- package/dist/commands/tokens/add.d.ts +0 -19
- package/dist/commands/tokens/delete.d.ts +0 -17
- package/dist/commands/tokens/list.d.ts +0 -12
- package/dist/commands/undeploy.d.ts +0 -8
- package/dist/commands/users/invite.d.ts +0 -17
- package/dist/commands/users/list.d.ts +0 -16
- package/dist/commands/versions.d.ts +0 -6
- package/dist/config/createCliConfig.d.ts +0 -73
- package/dist/config/defineCliConfig.d.ts +0 -3
- package/dist/hooks/prerun/flushTelemetry.worker.d.ts +0 -2
- package/dist/hooks/prerun/setupTelemetry.d.ts +0 -2
- package/dist/index.d.ts +0 -6
- package/dist/index.js +0 -7
- package/dist/index.js.map +0 -1
- package/dist/prompts/init/nextjs.d.ts +0 -5
- package/dist/prompts/init/promptForTypescript.d.ts +0 -1
- package/dist/prompts/promptForDataset.d.ts +0 -17
- package/dist/prompts/promptForDatasetAclMode.d.ts +0 -9
- package/dist/prompts/promptForDatasetAliasName.d.ts +0 -4
- package/dist/prompts/promptForDatasetName.d.ts +0 -4
- package/dist/prompts/promptForMediaLibrary.d.ts +0 -15
- package/dist/prompts/selectDataset.d.ts +0 -3
- package/dist/prompts/selectMediaLibrary.d.ts +0 -5
- package/dist/server/devServer.d.ts +0 -24
- package/dist/server/gracefulServerDeath.d.ts +0 -3
- package/dist/server/previewServer.d.ts +0 -19
- package/dist/server/serverDebug.d.ts +0 -1
- package/dist/server/vite/plugin-sanity-basepath-redirect.d.ts +0 -2
- package/dist/server/vite/plugin-sanity-build-entries.d.ts +0 -9
- package/dist/server/vite/plugin-sanity-favicons.d.ts +0 -17
- package/dist/server/vite/plugin-sanity-runtime-rewrite.d.ts +0 -2
- package/dist/services/auth.d.ts +0 -2
- package/dist/services/backup.d.ts +0 -37
- package/dist/services/cors.d.ts +0 -23
- package/dist/services/datasetAliases.d.ts +0 -31
- package/dist/services/datasets.d.ts +0 -64
- package/dist/services/docs.d.ts +0 -15
- package/dist/services/getProjectFeatures.d.ts +0 -5
- package/dist/services/graphql.d.ts +0 -23
- package/dist/services/hooks.d.ts +0 -16
- package/dist/services/mcp.d.ts +0 -39
- package/dist/services/mediaLibraries.d.ts +0 -52
- package/dist/services/organizations.d.ts +0 -42
- package/dist/services/plans.d.ts +0 -2
- package/dist/services/projects.d.ts +0 -36
- package/dist/services/schemas.d.ts +0 -4
- package/dist/services/telemetry.d.ts +0 -2
- package/dist/services/tokens.d.ts +0 -43
- package/dist/services/user.d.ts +0 -15
- package/dist/services/userApplications.d.ts +0 -77
- package/dist/studioDependencies.d.ts +0 -16
- package/dist/studioDependencies.js.map +0 -1
- package/dist/telemetry/cli.telemetry.d.ts +0 -20
- package/dist/telemetry/store/cleanupOldTelemetryFiles.d.ts +0 -5
- package/dist/telemetry/store/cleanupOldTelemetryFiles.js.map +0 -1
- package/dist/telemetry/store/createTelemetryStore.d.ts +0 -39
- package/dist/telemetry/store/createTelemetryStore.js.map +0 -1
- package/dist/telemetry/store/createTraceId.d.ts +0 -10
- package/dist/telemetry/store/createTraceId.js.map +0 -1
- package/dist/telemetry/store/debug.d.ts +0 -5
- package/dist/telemetry/store/debug.js +0 -7
- package/dist/telemetry/store/debug.js.map +0 -1
- package/dist/telemetry/store/findTelemetryFiles.d.ts +0 -13
- package/dist/telemetry/store/findTelemetryFiles.js.map +0 -1
- package/dist/telemetry/store/flushTelemetryFiles.d.ts +0 -20
- package/dist/telemetry/store/flushTelemetryFiles.js.map +0 -1
- package/dist/telemetry/store/generateTelemetryFilePath.d.ts +0 -17
- package/dist/telemetry/store/generateTelemetryFilePath.js.map +0 -1
- package/dist/telemetry/store/getTelemetryBaseInfo.d.ts +0 -27
- package/dist/telemetry/store/getTelemetryBaseInfo.js +0 -34
- package/dist/telemetry/store/getTelemetryBaseInfo.js.map +0 -1
- package/dist/telemetry/store/logger.d.ts +0 -6
- package/dist/telemetry/store/logger.js.map +0 -1
- package/dist/telemetry/store/trace.d.ts +0 -6
- package/dist/telemetry/store/trace.js.map +0 -1
- package/dist/telemetry/utils/readNDJSON.d.ts +0 -10
- package/dist/telemetry/utils/readNDJSON.js +0 -18
- package/dist/telemetry/utils/readNDJSON.js.map +0 -1
- package/dist/threads/configClient.d.ts +0 -1
- package/dist/threads/configClient.js.map +0 -1
- package/dist/threads/registerBrowserEnv.d.ts +0 -1
- package/dist/threads/registerBrowserEnv.js.map +0 -1
- package/dist/threads/validateDocuments.d.ts +0 -45
- package/dist/threads/validateDocuments.js.map +0 -1
- package/dist/threads/validateSchema.d.ts +0 -35
- package/dist/threads/validateSchema.js.map +0 -1
- package/dist/types.d.ts +0 -49
- package/dist/typings/deepSortObject.d.js +0 -2
- package/dist/typings/deepSortObject.d.js.map +0 -1
- package/dist/util/absolutify.d.ts +0 -6
- package/dist/util/appId.d.ts +0 -18
- package/dist/util/canLaunchBrowser.d.ts +0 -1
- package/dist/util/cliClient.d.ts +0 -13
- package/dist/util/compareDependencyVersions.d.ts +0 -35
- package/dist/util/copy.d.ts +0 -5
- package/dist/util/copyDir.d.ts +0 -20
- package/dist/util/detectRuntime.d.ts +0 -8
- package/dist/util/determineIsApp.d.ts +0 -7
- package/dist/util/dirIsEmptyOrNonExistent.d.ts +0 -1
- package/dist/util/ensureTrailingSlash.d.ts +0 -9
- package/dist/util/errorMessages.d.ts +0 -4
- package/dist/util/extractDocumentsFromNdjsonOrTarball.d.ts +0 -6
- package/dist/util/findNdjsonEntry.d.ts +0 -7
- package/dist/util/findNdjsonEntry.js +0 -21
- package/dist/util/findNdjsonEntry.js.map +0 -1
- package/dist/util/formatSize.d.ts +0 -6
- package/dist/util/frameworkPort.d.ts +0 -12
- package/dist/util/fsUtils.d.ts +0 -2
- package/dist/util/getCliVersion.d.ts +0 -7
- package/dist/util/getErrorMessage.d.ts +0 -8
- package/dist/util/getLocalPackageVersion.d.ts +0 -9
- package/dist/util/getProjectDefaults.d.ts +0 -11
- package/dist/util/getSharedServerConfig.d.ts +0 -30
- package/dist/util/getWorkspace.d.ts +0 -3
- package/dist/util/humanFileSize.d.ts +0 -1
- package/dist/util/importStudioConfig.d.ts +0 -1
- package/dist/util/importStudioConfig.js +0 -43
- package/dist/util/importStudioConfig.js.map +0 -1
- package/dist/util/isPathDirName.d.ts +0 -1
- package/dist/util/isSanityDocumentish.d.ts +0 -19
- package/dist/util/isStaging.d.ts +0 -7
- package/dist/util/isStaging.js +0 -10
- package/dist/util/isStaging.js.map +0 -1
- package/dist/util/loadEnv.d.ts +0 -1
- package/dist/util/moduleFormatUtils.d.ts +0 -3
- package/dist/util/packageManager/installPackages.d.ts +0 -18
- package/dist/util/packageManager/packageManagerChoice.d.ts +0 -31
- package/dist/util/packageManager/upgradePackages.d.ts +0 -17
- package/dist/util/parseArguments.d.ts +0 -35
- package/dist/util/pluralize.d.ts +0 -8
- package/dist/util/readModuleVersion.d.ts +0 -8
- package/dist/util/readModuleVersion.js +0 -15
- package/dist/util/readModuleVersion.js.map +0 -1
- package/dist/util/readPackageJson.d.ts +0 -31
- package/dist/util/readPackageJson.js +0 -42
- package/dist/util/readPackageJson.js.map +0 -1
- package/dist/util/readPackageManifest.d.ts +0 -21
- package/dist/util/readPackageManifest.js +0 -46
- package/dist/util/readPackageManifest.js.map +0 -1
- package/dist/util/readdirRecursive.d.ts +0 -5
- package/dist/util/resolveLatestVersions.d.ts +0 -7
- package/dist/util/toInt.d.ts +0 -1
- package/dist/util/trimHashFromVersion.d.ts +0 -5
- package/dist/util/uniqBy.d.ts +0 -1
- package/dist/util/uniqBy.js +0 -14
- package/dist/util/uniqBy.js.map +0 -1
- package/dist/util/validation/validateDocumentsUtils.d.ts +0 -12
- package/dist/util/warnAboutMissingAppId.d.ts +0 -7
- package/dist/util/workerChannels.d.ts +0 -59
- package/dist/util/workerChannels.js +0 -172
- package/dist/util/workerChannels.js.map +0 -1
- /package/dist/actions/{telemetry → doctor}/types.js +0 -0
- /package/dist/{studioDependencies.js → actions/init/studioDependencies.js} +0 -0
- /package/dist/{telemetry/store → util/telemetry}/createTraceId.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/schema/uploadSchemaToLexicon.ts"],"sourcesContent":["import {styleText} from 'node:util'\n\nimport {ux} from '@oclif/core/ux'\nimport {getProjectCliClient, resolveLocalPackage, subdebug} from '@sanity/cli-core'\nimport {spinner} from '@sanity/cli-core/ux'\nimport {type StudioManifest, type Workspace} from 'sanity'\n\nimport {SCHEMA_API_VERSION} from '../../services/schemas.js'\nimport {getLocalPackageVersion} from '../../util/getLocalPackageVersion.js'\nimport {resolveIcon} from '../manifest/iconResolver.js'\n\ninterface UploadSchemaToLexiconOptions {\n projectId: string\n workDir: string\n workspaces: Workspace[]\n\n verbose?: boolean\n}\n\nconst debug = subdebug('uploadSchemaToLexicon')\n\n/**\n * Uploads the schemas to Lexicon and returns the studio manifest\n * @param options - The options for the uploadSchemaToLexicon function\n * @returns The studio manifest\n */\nexport async function uploadSchemaToLexicon(\n options: UploadSchemaToLexiconOptions,\n): Promise<StudioManifest | null> {\n const {projectId, verbose, workDir, workspaces} = options\n const spin = spinner('Generating studio manifest').start()\n\n try {\n const schemaDescriptors = new Map<string, string>()\n\n const client = await getProjectCliClient({\n apiVersion: SCHEMA_API_VERSION,\n projectId,\n requestTagPrefix: 'sanity.cli.deploy',\n requireUser: true,\n })\n\n const [bundleVersion, {generateStudioManifest, uploadSchema}] = await Promise.all([\n getLocalPackageVersion('sanity', workDir),\n resolveLocalPackage<typeof import('sanity')>('sanity', workDir),\n ])\n\n if (!bundleVersion) {\n throw new Error('Failed to find sanity version')\n }\n\n for (const workspace of workspaces) {\n const workspaceClient = client.withConfig({\n dataset: workspace.dataset,\n projectId: workspace.projectId,\n })\n\n try {\n debug('Uploading schema to lexicon for workspace %o', {\n dataset: workspace.dataset,\n projectId: workspace.projectId,\n })\n const descriptorId = await uploadSchema(workspace.schema, workspaceClient)\n\n if (!descriptorId) {\n throw new Error(\n `Failed to get schema descriptor ID for workspace \"${workspace.name}\": upload returned empty result`,\n )\n }\n\n schemaDescriptors.set(workspace.name, descriptorId)\n debug(\n `Uploaded schema for workspace \"${workspace.name}\" to Lexicon with descriptor ID: ${descriptorId}`,\n )\n } catch (error) {\n debug('Error uploading schema to lexicon for workspace %o', error)\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n throw new Error(\n `Failed to upload schema for workspace \"${workspace.name}\": ${errorMessage}`,\n {cause: error},\n )\n }\n }\n\n // Generate studio manifest using the shared utility\n const manifest = await generateStudioManifest({\n buildId: JSON.stringify(Date.now()),\n bundleVersion,\n resolveIcon: async (workspace) =>\n // @todo replace with import from @sanity/schema/_internal in future\n (await resolveIcon({\n icon: workspace.icon,\n subtitle: workspace.subtitle,\n title: workspace.title || workspace.name || 'default',\n workDir,\n })) ?? undefined,\n resolveSchemaDescriptorId: (workspace) => schemaDescriptors.get(workspace.name),\n workspaces,\n })\n\n spin.succeed('Generated studio manifest')\n\n const studioManifest = manifest.workspaces.length === 0 ? null : manifest\n\n if (verbose) {\n if (studioManifest) {\n for (const workspace of studioManifest.workspaces) {\n ux.stdout(\n styleText(\n 'gray',\n `↳ projectId: ${workspace.projectId}, dataset: ${workspace.dataset}, schemaDescriptorId: ${workspace.schemaDescriptorId}`,\n ),\n )\n }\n } else {\n ux.stdout(`${styleText('gray', '↳ No workspaces found')}`)\n }\n }\n\n return studioManifest\n } catch (error) {\n spin.fail(error instanceof Error ? error.message : 'Unknown error')\n throw error\n }\n}\n"],"names":["styleText","ux","getProjectCliClient","resolveLocalPackage","subdebug","spinner","SCHEMA_API_VERSION","getLocalPackageVersion","resolveIcon","debug","uploadSchemaToLexicon","options","projectId","verbose","workDir","workspaces","spin","start","schemaDescriptors","Map","client","apiVersion","requestTagPrefix","requireUser","bundleVersion","generateStudioManifest","uploadSchema","Promise","all","Error","workspace","workspaceClient","withConfig","dataset","descriptorId","schema","name","set","error","errorMessage","message","cause","manifest","buildId","JSON","stringify","Date","now","icon","subtitle","title","undefined","resolveSchemaDescriptorId","get","succeed","studioManifest","length","stdout","schemaDescriptorId","fail"],"mappings":"AAAA,SAAQA,SAAS,QAAO,YAAW;AAEnC,SAAQC,EAAE,QAAO,iBAAgB;AACjC,SAAQC,mBAAmB,EAAEC,mBAAmB,EAAEC,QAAQ,QAAO,mBAAkB;AACnF,SAAQC,OAAO,QAAO,sBAAqB;AAG3C,SAAQC,kBAAkB,QAAO,4BAA2B;AAC5D,SAAQC,sBAAsB,QAAO,uCAAsC;AAC3E,SAAQC,WAAW,QAAO,8BAA6B;AAUvD,MAAMC,QAAQL,SAAS;AAEvB;;;;CAIC,GACD,OAAO,eAAeM,sBACpBC,OAAqC;IAErC,MAAM,EAACC,SAAS,EAAEC,OAAO,EAAEC,OAAO,EAAEC,UAAU,EAAC,GAAGJ;IAClD,MAAMK,OAAOX,QAAQ,8BAA8BY,KAAK;IAExD,IAAI;QACF,MAAMC,oBAAoB,IAAIC;QAE9B,MAAMC,SAAS,MAAMlB,oBAAoB;YACvCmB,YAAYf;YACZM;YACAU,kBAAkB;YAClBC,aAAa;QACf;QAEA,MAAM,CAACC,eAAe,EAACC,sBAAsB,EAAEC,YAAY,EAAC,CAAC,GAAG,MAAMC,QAAQC,GAAG,CAAC;YAChFrB,uBAAuB,UAAUO;YACjCX,oBAA6C,UAAUW;SACxD;QAED,IAAI,CAACU,eAAe;YAClB,MAAM,IAAIK,MAAM;QAClB;QAEA,KAAK,MAAMC,aAAaf,WAAY;YAClC,MAAMgB,kBAAkBX,OAAOY,UAAU,CAAC;gBACxCC,SAASH,UAAUG,OAAO;gBAC1BrB,WAAWkB,UAAUlB,SAAS;YAChC;YAEA,IAAI;gBACFH,MAAM,gDAAgD;oBACpDwB,SAASH,UAAUG,OAAO;oBAC1BrB,WAAWkB,UAAUlB,SAAS;gBAChC;gBACA,MAAMsB,eAAe,MAAMR,aAAaI,UAAUK,MAAM,EAAEJ;gBAE1D,IAAI,CAACG,cAAc;oBACjB,MAAM,IAAIL,MACR,CAAC,kDAAkD,EAAEC,UAAUM,IAAI,CAAC,+BAA+B,CAAC;gBAExG;gBAEAlB,kBAAkBmB,GAAG,CAACP,UAAUM,IAAI,EAAEF;gBACtCzB,MACE,CAAC,+BAA+B,EAAEqB,UAAUM,IAAI,CAAC,iCAAiC,EAAEF,cAAc;YAEtG,EAAE,OAAOI,OAAO;gBACd7B,MAAM,sDAAsD6B;gBAC5D,MAAMC,eAAeD,iBAAiBT,QAAQS,MAAME,OAAO,GAAG;gBAC9D,MAAM,IAAIX,MACR,CAAC,uCAAuC,EAAEC,UAAUM,IAAI,CAAC,GAAG,EAAEG,cAAc,EAC5E;oBAACE,OAAOH;gBAAK;YAEjB;QACF;QAEA,oDAAoD;QACpD,MAAMI,WAAW,MAAMjB,uBAAuB;YAC5CkB,SAASC,KAAKC,SAAS,CAACC,KAAKC,GAAG;YAChCvB;YACAhB,aAAa,OAAOsB,YAElB,AADA,oEAAoE;gBACnE,MAAMtB,YAAY;oBACjBwC,MAAMlB,UAAUkB,IAAI;oBACpBC,UAAUnB,UAAUmB,QAAQ;oBAC5BC,OAAOpB,UAAUoB,KAAK,IAAIpB,UAAUM,IAAI,IAAI;oBAC5CtB;gBACF,MAAOqC;YACTC,2BAA2B,CAACtB,YAAcZ,kBAAkBmC,GAAG,CAACvB,UAAUM,IAAI;YAC9ErB;QACF;QAEAC,KAAKsC,OAAO,CAAC;QAEb,MAAMC,iBAAiBb,SAAS3B,UAAU,CAACyC,MAAM,KAAK,IAAI,OAAOd;QAEjE,IAAI7B,SAAS;YACX,IAAI0C,gBAAgB;gBAClB,KAAK,MAAMzB,aAAayB,eAAexC,UAAU,CAAE;oBACjDd,GAAGwD,MAAM,CACPzD,UACE,QACA,CAAC,aAAa,EAAE8B,UAAUlB,SAAS,CAAC,WAAW,EAAEkB,UAAUG,OAAO,CAAC,sBAAsB,EAAEH,UAAU4B,kBAAkB,EAAE;gBAG/H;YACF,OAAO;gBACLzD,GAAGwD,MAAM,CAAC,GAAGzD,UAAU,QAAQ,0BAA0B;YAC3D;QACF;QAEA,OAAOuD;IACT,EAAE,OAAOjB,OAAO;QACdtB,KAAK2C,IAAI,CAACrB,iBAAiBT,QAAQS,MAAME,OAAO,GAAG;QACnD,MAAMF;IACR;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/actions/schema/utils/SchemaExtractionError.ts"],"sourcesContent":["import {type SchemaValidationProblemGroup} from '@sanity/types'\n\nexport class SchemaExtractionError extends Error {\n validation?: SchemaValidationProblemGroup[]\n\n constructor(message: string, validation?: SchemaValidationProblemGroup[]) {\n super(message)\n this.name = 'SchemaExtractionError'\n this.validation = validation\n }\n}\n"],"names":["SchemaExtractionError","Error","validation","message","name"],"mappings":"AAEA,OAAO,MAAMA,8BAA8BC;IACzCC,WAA2C;IAE3C,YAAYC,OAAe,EAAED,UAA2C,CAAE;QACxE,KAAK,CAACC;QACN,IAAI,CAACC,IAAI,GAAG;QACZ,IAAI,CAACF,UAAU,GAAGA;IACpB;AACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { subdebug } from '@sanity/cli-core';
|
|
2
2
|
export const schemasDeployDebug = subdebug('schemas:deploy');
|
|
3
3
|
export const schemasListDebug = subdebug('schemas:list');
|
|
4
|
+
export const schemasExtractDebug = subdebug('schemas:extract');
|
|
4
5
|
|
|
5
6
|
//# sourceMappingURL=debug.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/actions/schema/utils/debug.ts"],"sourcesContent":["import {subdebug} from '@sanity/cli-core'\n\nexport const schemasDeployDebug = subdebug('schemas:deploy')\nexport const schemasListDebug = subdebug('schemas:list')\n"],"names":["subdebug","schemasDeployDebug","schemasListDebug"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,mBAAkB;AAEzC,OAAO,MAAMC,qBAAqBD,SAAS,kBAAiB;AAC5D,OAAO,MAAME,mBAAmBF,SAAS,gBAAe"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/actions/schema/utils/debug.ts"],"sourcesContent":["import {subdebug} from '@sanity/cli-core'\n\nexport const schemasDeployDebug = subdebug('schemas:deploy')\nexport const schemasListDebug = subdebug('schemas:list')\nexport const schemasExtractDebug = subdebug('schemas:extract')\n"],"names":["subdebug","schemasDeployDebug","schemasListDebug","schemasExtractDebug"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,mBAAkB;AAEzC,OAAO,MAAMC,qBAAqBD,SAAS,kBAAiB;AAC5D,OAAO,MAAME,mBAAmBF,SAAS,gBAAe;AACxD,OAAO,MAAMG,sBAAsBH,SAAS,mBAAkB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { resolveLocalPackage } from '@sanity/cli-core';
|
|
2
|
+
/**
|
|
3
|
+
* Extracts validation problem groups from a SchemaError.
|
|
4
|
+
*/ export async function extractValidationFromSchemaError(error, workDir) {
|
|
5
|
+
const { SchemaError } = await resolveLocalPackage('sanity', workDir);
|
|
6
|
+
if (error instanceof SchemaError) {
|
|
7
|
+
return error.schema._validation;
|
|
8
|
+
}
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=extractValidationFromSchemaError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/actions/schema/utils/extractValidationFromSchemaError.ts"],"sourcesContent":["import {resolveLocalPackage} from '@sanity/cli-core'\nimport {type SchemaValidationProblemGroup} from '@sanity/types'\n\n/**\n * Extracts validation problem groups from a SchemaError.\n */\nexport async function extractValidationFromSchemaError(\n error: unknown,\n workDir: string,\n): Promise<SchemaValidationProblemGroup[] | undefined> {\n const {SchemaError} = await resolveLocalPackage<typeof import('sanity')>('sanity', workDir)\n\n if (error instanceof SchemaError) {\n return error.schema._validation\n }\n\n return undefined\n}\n"],"names":["resolveLocalPackage","extractValidationFromSchemaError","error","workDir","SchemaError","schema","_validation","undefined"],"mappings":"AAAA,SAAQA,mBAAmB,QAAO,mBAAkB;AAGpD;;CAEC,GACD,OAAO,eAAeC,iCACpBC,KAAc,EACdC,OAAe;IAEf,MAAM,EAACC,WAAW,EAAC,GAAG,MAAMJ,oBAA6C,UAAUG;IAEnF,IAAID,iBAAiBE,aAAa;QAChC,OAAOF,MAAMG,MAAM,CAACC,WAAW;IACjC;IAEA,OAAOC;AACT"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CLIError } from '@oclif/core/errors';
|
|
2
|
-
import
|
|
2
|
+
import uniqBy from 'lodash-es/uniqBy.js';
|
|
3
3
|
import { isDefined } from '../../manifest/schemaTypeHelpers.js';
|
|
4
4
|
import { SANITY_WORKSPACE_SCHEMA_ID_PREFIX } from '../../manifest/types.js';
|
|
5
5
|
const validForIdChars = 'a-zA-Z0-9._-';
|
|
@@ -11,12 +11,6 @@ const requiredInId = SANITY_WORKSPACE_SCHEMA_ID_PREFIX.replaceAll(/[.]/g, String
|
|
|
11
11
|
const idIdPatternString = String.raw`^${requiredInId}\.([${validForNamesChars}]+)`;
|
|
12
12
|
const baseIdPattern = new RegExp(`${idIdPatternString}$`);
|
|
13
13
|
const taggedIdIdPattern = new RegExp(String.raw`${idIdPatternString}\.tag\.([${validForNamesChars}]+)$`);
|
|
14
|
-
export class FlagValidationError extends Error {
|
|
15
|
-
constructor(message){
|
|
16
|
-
super(message);
|
|
17
|
-
this.name = 'FlagValidationError';
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
14
|
export function parseIds(ids) {
|
|
21
15
|
if (!ids) {
|
|
22
16
|
throw new CLIError('ids argument is empty');
|
|
@@ -95,14 +89,6 @@ export function parseWorkspaceSchemaId(errors, id) {
|
|
|
95
89
|
}
|
|
96
90
|
return tag;
|
|
97
91
|
}
|
|
98
|
-
function getProjectIdMismatchMessage(workspace, operation) {
|
|
99
|
-
return `No permissions to ${operation} schema for workspace "${workspace.name}" with projectId "${workspace.projectId}"`;
|
|
100
|
-
}
|
|
101
|
-
export function filterLogReadProjectIdMismatch(workspace, projectId, output) {
|
|
102
|
-
const canRead = workspace.projectId === projectId;
|
|
103
|
-
if (!canRead) output.warn(`${getProjectIdMismatchMessage(workspace, 'read')} – ignoring it.`);
|
|
104
|
-
return canRead;
|
|
105
|
-
}
|
|
106
92
|
export const SCHEMA_PERMISSION_HELP_TEXT = 'For multi-project workspaces, set SANITY_AUTH_TOKEN environment variable to a token with access to the workspace projects.';
|
|
107
93
|
|
|
108
94
|
//# sourceMappingURL=schemaStoreValidation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/actions/schema/utils/schemaStoreValidation.ts"],"sourcesContent":["import {CLIError} from '@oclif/core/errors'\nimport
|
|
1
|
+
{"version":3,"sources":["../../../../src/actions/schema/utils/schemaStoreValidation.ts"],"sourcesContent":["import {CLIError} from '@oclif/core/errors'\nimport uniqBy from 'lodash-es/uniqBy.js'\n\nimport {isDefined} from '../../manifest/schemaTypeHelpers.js'\nimport {SANITY_WORKSPACE_SCHEMA_ID_PREFIX} from '../../manifest/types.js'\n\nconst validForIdChars = 'a-zA-Z0-9._-'\nconst validForIdPattern = new RegExp(`^[${validForIdChars}]+$`)\n\n//no periods allowed in workspaceName or tag in ids\nexport const validForNamesChars = 'a-zA-Z0-9_-'\nexport const validForNamesPattern = new RegExp(`^[${validForNamesChars}]+$`)\n\nconst requiredInId = SANITY_WORKSPACE_SCHEMA_ID_PREFIX.replaceAll(/[.]/g, String.raw`\\.`)\n\nconst idIdPatternString = String.raw`^${requiredInId}\\.([${validForNamesChars}]+)`\nconst baseIdPattern = new RegExp(`${idIdPatternString}$`)\nconst taggedIdIdPattern = new RegExp(\n String.raw`${idIdPatternString}\\.tag\\.([${validForNamesChars}]+)$`,\n)\n\nexport interface WorkspaceSchemaId {\n schemaId: string\n workspace: string\n}\n\nexport function parseIds(ids?: string): WorkspaceSchemaId[] {\n if (!ids) {\n throw new CLIError('ids argument is empty')\n }\n\n const errors: string[] = []\n\n const parsedIds = ids\n .split(',')\n .map((id) => id.trim())\n .filter((id) => !!id)\n .map((id) => parseWorkspaceSchemaId(errors, id))\n .filter((item) => isDefined(item))\n\n if (errors.length > 0) {\n throw new CLIError(`Invalid arguments:\\n${errors.map((error) => ` - ${error}`).join('\\n')}`)\n }\n\n if (parsedIds.length === 0) {\n throw new CLIError(`ids contains no valid id strings`)\n }\n\n const uniqueIds = uniqBy(parsedIds, 'schemaId' satisfies keyof (typeof parsedIds)[number])\n if (uniqueIds.length < parsedIds.length) {\n throw new CLIError(`ids contains duplicates`)\n }\n\n return uniqueIds\n}\n\nexport function parseWorkspaceSchemaId(errors: string[], id?: string) {\n if (id === undefined) {\n return\n }\n\n if (!id) {\n errors.push('id argument is empty')\n return\n }\n\n const trimmedId = id.trim()\n\n if (!validForIdPattern.test(trimmedId)) {\n errors.push(`id can only contain characters in [${validForIdChars}] but found: \"${trimmedId}\"`)\n return\n }\n\n if (trimmedId.startsWith('-')) {\n errors.push(`id cannot start with - (dash) but found: \"${trimmedId}\"`)\n return\n }\n\n if (/\\.\\./g.test(trimmedId)) {\n errors.push(`id cannot have consecutive . (period) characters, but found: \"${trimmedId}\"`)\n return\n }\n\n const [, workspace] = trimmedId.match(taggedIdIdPattern) ?? trimmedId.match(baseIdPattern) ?? []\n if (!workspace) {\n errors.push(\n [\n `id must either match ${SANITY_WORKSPACE_SCHEMA_ID_PREFIX}.<workspaceName> `,\n `or ${SANITY_WORKSPACE_SCHEMA_ID_PREFIX}.<workspaceName>.tag.<tag> but found: \"${trimmedId}\". `,\n `Note that workspace name characters not in [${validForNamesChars}] has to be replaced with _ for schema id.`,\n ].join(''),\n )\n return\n }\n return {\n schemaId: trimmedId,\n workspace,\n }\n}\n\n/**\n *\n * @param tag - The tag to parse\n * Throws an error if the tag is empty\n * Throws an error if the tag contains a period\n * Throws an error if the tag starts with a dash\n * Returns the parsed tag\n */\nexport async function parseTag(tag?: string) {\n if (tag === undefined) {\n return tag\n }\n\n if (!tag) {\n throw new CLIError('tag argument is empty')\n }\n\n if (tag.includes('.')) {\n throw new CLIError(`tag cannot contain . (period), but was: \"${tag}\"`)\n }\n\n if (!validForNamesPattern.test(tag)) {\n throw new CLIError(\n `tag can only contain characters in [${validForNamesChars}], but was: \"${tag}\"`,\n )\n }\n\n if (tag.startsWith('-')) {\n throw new CLIError(`tag cannot start with - (dash) but was: \"${tag}\"`)\n }\n\n return tag\n}\n\nexport const SCHEMA_PERMISSION_HELP_TEXT =\n 'For multi-project workspaces, set SANITY_AUTH_TOKEN environment variable to a token with access to the workspace projects.'\n"],"names":["CLIError","uniqBy","isDefined","SANITY_WORKSPACE_SCHEMA_ID_PREFIX","validForIdChars","validForIdPattern","RegExp","validForNamesChars","validForNamesPattern","requiredInId","replaceAll","String","raw","idIdPatternString","baseIdPattern","taggedIdIdPattern","parseIds","ids","errors","parsedIds","split","map","id","trim","filter","parseWorkspaceSchemaId","item","length","error","join","uniqueIds","undefined","push","trimmedId","test","startsWith","workspace","match","schemaId","parseTag","tag","includes","SCHEMA_PERMISSION_HELP_TEXT"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/actions/schema/utils/uniqByProjectIdDataset.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../../src/actions/schema/utils/uniqByProjectIdDataset.ts"],"sourcesContent":["import uniqBy from 'lodash-es/uniqBy.js'\nimport {type Workspace} from 'sanity'\n\nexport function uniqByProjectIdDataset(workspaces: Workspace[]) {\n return uniqBy<Workspace & {key: string}>(\n workspaces.map((w) => ({\n ...w,\n key: `${w.projectId}-${w.dataset}`,\n })),\n 'key',\n )\n}\n"],"names":["uniqBy","uniqByProjectIdDataset","workspaces","map","w","key","projectId","dataset"],"mappings":"AAAA,OAAOA,YAAY,sBAAqB;AAGxC,OAAO,SAASC,uBAAuBC,UAAuB;IAC5D,OAAOF,OACLE,WAAWC,GAAG,CAAC,CAACC,IAAO,CAAA;YACrB,GAAGA,CAAC;YACJC,KAAK,GAAGD,EAAEE,SAAS,CAAC,CAAC,EAAEF,EAAEG,OAAO,EAAE;QACpC,CAAA,IACA;AAEJ"}
|
|
@@ -1,25 +1,17 @@
|
|
|
1
1
|
import { writeFileSync } from 'node:fs';
|
|
2
|
-
import
|
|
3
|
-
import { Worker } from 'node:worker_threads';
|
|
2
|
+
import { studioWorkerTask } from '@sanity/cli-core';
|
|
4
3
|
import { logSymbols, spinner } from '@sanity/cli-core/ux';
|
|
5
|
-
import { readPackageUp } from 'read-package-up';
|
|
6
4
|
import { formatSchemaValidation, getAggregatedSeverity } from './formatSchemaValidation.js';
|
|
7
5
|
import { generateMetafile } from './metafile.js';
|
|
8
6
|
export async function validateAction(options) {
|
|
9
7
|
const { debugMetafilePath, format, level, output, workDir, workspace } = options;
|
|
10
|
-
const rootPkgPath = (await readPackageUp({
|
|
11
|
-
cwd: import.meta.dirname
|
|
12
|
-
}))?.path;
|
|
13
|
-
if (!rootPkgPath) {
|
|
14
|
-
throw new Error('Could not find root directory for `sanity` package');
|
|
15
|
-
}
|
|
16
|
-
const workerPath = path.join(path.dirname(rootPkgPath), 'dist', 'threads', 'validateSchema.js');
|
|
17
8
|
let spin;
|
|
18
9
|
if (format === 'pretty') {
|
|
19
10
|
spin = spinner(workspace ? `Validating schema from workspace '${workspace}'…` : 'Validating schema…').start();
|
|
20
11
|
}
|
|
21
|
-
const
|
|
22
|
-
|
|
12
|
+
const { serializedDebug, validation } = await studioWorkerTask(new URL('validateSchema.worker.js', import.meta.url), {
|
|
13
|
+
name: 'validateSchema',
|
|
14
|
+
studioRootPath: workDir,
|
|
23
15
|
workerData: {
|
|
24
16
|
debugSerialize: Boolean(debugMetafilePath),
|
|
25
17
|
level,
|
|
@@ -27,10 +19,6 @@ export async function validateAction(options) {
|
|
|
27
19
|
workspace: workspace
|
|
28
20
|
}
|
|
29
21
|
});
|
|
30
|
-
const { serializedDebug, validation } = await new Promise((resolve, reject)=>{
|
|
31
|
-
worker.addListener('message', resolve);
|
|
32
|
-
worker.addListener('error', reject);
|
|
33
|
-
});
|
|
34
22
|
const problems = validation.flatMap((group)=>group.problems);
|
|
35
23
|
const errorCount = problems.filter((problem)=>problem.severity === 'error').length;
|
|
36
24
|
const warningCount = problems.filter((problem)=>problem.severity === 'warning').length;
|
|
@@ -75,7 +63,9 @@ export async function validateAction(options) {
|
|
|
75
63
|
}
|
|
76
64
|
}
|
|
77
65
|
}
|
|
78
|
-
|
|
66
|
+
if (didFail) {
|
|
67
|
+
throw new Error('Schema validation failed');
|
|
68
|
+
}
|
|
79
69
|
}
|
|
80
70
|
|
|
81
71
|
//# sourceMappingURL=validateAction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/actions/schema/validateAction.ts"],"sourcesContent":["import {writeFileSync} from 'node:fs'\
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/schema/validateAction.ts"],"sourcesContent":["import {writeFileSync} from 'node:fs'\n\nimport {Output, studioWorkerTask} from '@sanity/cli-core'\nimport {logSymbols, spinner} from '@sanity/cli-core/ux'\n\nimport {formatSchemaValidation, getAggregatedSeverity} from './formatSchemaValidation.js'\nimport {generateMetafile} from './metafile.js'\nimport {\n type ValidateSchemaWorkerData,\n type ValidateSchemaWorkerResult,\n} from './validateSchema.worker.js'\n\ninterface Options {\n output: Output\n workDir: string\n\n debugMetafilePath?: string\n format?: string\n level?: 'error' | 'warning'\n workspace?: string\n}\n\nexport async function validateAction(options: Options): Promise<void> {\n const {debugMetafilePath, format, level, output, workDir, workspace} = options\n\n let spin\n\n if (format === 'pretty') {\n spin = spinner(\n workspace ? `Validating schema from workspace '${workspace}'…` : 'Validating schema…',\n ).start()\n }\n\n const {serializedDebug, validation} = await studioWorkerTask<ValidateSchemaWorkerResult>(\n new URL('validateSchema.worker.js', import.meta.url),\n {\n name: 'validateSchema',\n studioRootPath: workDir,\n workerData: {\n debugSerialize: Boolean(debugMetafilePath),\n level,\n workDir,\n workspace: workspace,\n } satisfies ValidateSchemaWorkerData,\n },\n )\n\n const problems = validation.flatMap((group) => group.problems)\n const errorCount = problems.filter((problem) => problem.severity === 'error').length\n const warningCount = problems.filter((problem) => problem.severity === 'warning').length\n\n const overallSeverity = getAggregatedSeverity(validation)\n const didFail = overallSeverity === 'error'\n\n if (debugMetafilePath && !didFail) {\n if (!serializedDebug) throw new Error('serializedDebug should always be produced')\n const metafile = generateMetafile(serializedDebug)\n writeFileSync(debugMetafilePath, JSON.stringify(metafile), 'utf8')\n }\n\n switch (format) {\n case 'json': {\n output.log(JSON.stringify(validation))\n break\n }\n case 'ndjson': {\n for (const group of validation) {\n output.log(JSON.stringify(group))\n }\n break\n }\n default: {\n spin?.succeed('Validated schema')\n output.log(`\\nValidation results:`)\n output.log(\n `${logSymbols.error} Errors: ${errorCount.toLocaleString('en-US')} error${\n errorCount === 1 ? '' : 's'\n }`,\n )\n if (level !== 'error') {\n output.log(\n `${logSymbols.warning} Warnings: ${warningCount.toLocaleString('en-US')} warning${\n warningCount === 1 ? '' : 's'\n }`,\n )\n }\n output.log()\n\n output.log(formatSchemaValidation(validation))\n\n if (debugMetafilePath) {\n output.log()\n if (didFail) {\n output.log(`${logSymbols.info} Metafile not written due to validation errors`)\n } else {\n output.log(`${logSymbols.info} Metafile written to: ${debugMetafilePath}`)\n output.log(` This can be analyzed at https://esbuild.github.io/analyze/`)\n }\n }\n }\n }\n\n if (didFail) {\n throw new Error('Schema validation failed')\n }\n}\n"],"names":["writeFileSync","studioWorkerTask","logSymbols","spinner","formatSchemaValidation","getAggregatedSeverity","generateMetafile","validateAction","options","debugMetafilePath","format","level","output","workDir","workspace","spin","start","serializedDebug","validation","URL","url","name","studioRootPath","workerData","debugSerialize","Boolean","problems","flatMap","group","errorCount","filter","problem","severity","length","warningCount","overallSeverity","didFail","Error","metafile","JSON","stringify","log","succeed","error","toLocaleString","warning","info"],"mappings":"AAAA,SAAQA,aAAa,QAAO,UAAS;AAErC,SAAgBC,gBAAgB,QAAO,mBAAkB;AACzD,SAAQC,UAAU,EAAEC,OAAO,QAAO,sBAAqB;AAEvD,SAAQC,sBAAsB,EAAEC,qBAAqB,QAAO,8BAA6B;AACzF,SAAQC,gBAAgB,QAAO,gBAAe;AAgB9C,OAAO,eAAeC,eAAeC,OAAgB;IACnD,MAAM,EAACC,iBAAiB,EAAEC,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAEC,OAAO,EAAEC,SAAS,EAAC,GAAGN;IAEvE,IAAIO;IAEJ,IAAIL,WAAW,UAAU;QACvBK,OAAOZ,QACLW,YAAY,CAAC,kCAAkC,EAAEA,UAAU,EAAE,CAAC,GAAG,sBACjEE,KAAK;IACT;IAEA,MAAM,EAACC,eAAe,EAAEC,UAAU,EAAC,GAAG,MAAMjB,iBAC1C,IAAIkB,IAAI,4BAA4B,YAAYC,GAAG,GACnD;QACEC,MAAM;QACNC,gBAAgBT;QAChBU,YAAY;YACVC,gBAAgBC,QAAQhB;YACxBE;YACAE;YACAC,WAAWA;QACb;IACF;IAGF,MAAMY,WAAWR,WAAWS,OAAO,CAAC,CAACC,QAAUA,MAAMF,QAAQ;IAC7D,MAAMG,aAAaH,SAASI,MAAM,CAAC,CAACC,UAAYA,QAAQC,QAAQ,KAAK,SAASC,MAAM;IACpF,MAAMC,eAAeR,SAASI,MAAM,CAAC,CAACC,UAAYA,QAAQC,QAAQ,KAAK,WAAWC,MAAM;IAExF,MAAME,kBAAkB9B,sBAAsBa;IAC9C,MAAMkB,UAAUD,oBAAoB;IAEpC,IAAI1B,qBAAqB,CAAC2B,SAAS;QACjC,IAAI,CAACnB,iBAAiB,MAAM,IAAIoB,MAAM;QACtC,MAAMC,WAAWhC,iBAAiBW;QAClCjB,cAAcS,mBAAmB8B,KAAKC,SAAS,CAACF,WAAW;IAC7D;IAEA,OAAQ5B;QACN,KAAK;YAAQ;gBACXE,OAAO6B,GAAG,CAACF,KAAKC,SAAS,CAACtB;gBAC1B;YACF;QACA,KAAK;YAAU;gBACb,KAAK,MAAMU,SAASV,WAAY;oBAC9BN,OAAO6B,GAAG,CAACF,KAAKC,SAAS,CAACZ;gBAC5B;gBACA;YACF;QACA;YAAS;gBACPb,MAAM2B,QAAQ;gBACd9B,OAAO6B,GAAG,CAAC,CAAC,qBAAqB,CAAC;gBAClC7B,OAAO6B,GAAG,CACR,GAAGvC,WAAWyC,KAAK,CAAC,WAAW,EAAEd,WAAWe,cAAc,CAAC,SAAS,MAAM,EACxEf,eAAe,IAAI,KAAK,KACxB;gBAEJ,IAAIlB,UAAU,SAAS;oBACrBC,OAAO6B,GAAG,CACR,GAAGvC,WAAW2C,OAAO,CAAC,WAAW,EAAEX,aAAaU,cAAc,CAAC,SAAS,QAAQ,EAC9EV,iBAAiB,IAAI,KAAK,KAC1B;gBAEN;gBACAtB,OAAO6B,GAAG;gBAEV7B,OAAO6B,GAAG,CAACrC,uBAAuBc;gBAElC,IAAIT,mBAAmB;oBACrBG,OAAO6B,GAAG;oBACV,IAAIL,SAAS;wBACXxB,OAAO6B,GAAG,CAAC,GAAGvC,WAAW4C,IAAI,CAAC,8CAA8C,CAAC;oBAC/E,OAAO;wBACLlC,OAAO6B,GAAG,CAAC,GAAGvC,WAAW4C,IAAI,CAAC,sBAAsB,EAAErC,mBAAmB;wBACzEG,OAAO6B,GAAG,CAAC,CAAC,4DAA4D,CAAC;oBAC3E;gBACF;YACF;IACF;IAEA,IAAIL,SAAS;QACX,MAAM,IAAIC,MAAM;IAClB;AACF"}
|
|
@@ -1,41 +1,44 @@
|
|
|
1
1
|
import { isMainThread, parentPort, workerData } from 'node:worker_threads';
|
|
2
|
-
import {
|
|
2
|
+
import { findStudioConfigPath, getStudioWorkspaces } from '@sanity/cli-core';
|
|
3
3
|
import { DescriptorConverter } from '@sanity/schema/_internal';
|
|
4
|
-
import { getWorkspace } from '
|
|
5
|
-
import {
|
|
4
|
+
import { getWorkspace } from '../../util/getWorkspace.js';
|
|
5
|
+
import { isSchemaError } from '../../util/isSchemaError.js';
|
|
6
6
|
const { debugSerialize, level = 'warning', workDir, workspace: workspaceName } = workerData;
|
|
7
7
|
async function main() {
|
|
8
8
|
if (isMainThread || !parentPort) {
|
|
9
9
|
throw new Error('This module must be run as a worker thread');
|
|
10
10
|
}
|
|
11
|
-
const cleanup = await mockBrowserEnvironment(workDir);
|
|
12
11
|
try {
|
|
13
|
-
const
|
|
12
|
+
const configPath = await findStudioConfigPath(workDir);
|
|
13
|
+
const workspaces = await getStudioWorkspaces(configPath);
|
|
14
14
|
const workspace = getWorkspace(workspaces, workspaceName);
|
|
15
15
|
const schema = workspace.schema;
|
|
16
|
-
|
|
17
|
-
let serializedDebug;
|
|
18
|
-
if (debugSerialize) {
|
|
19
|
-
const conv = new DescriptorConverter();
|
|
20
|
-
const set = await conv.get(schema);
|
|
21
|
-
serializedDebug = getSerializedSchemaDebug(set);
|
|
22
|
-
}
|
|
23
|
-
const result = {
|
|
24
|
-
serializedDebug,
|
|
25
|
-
validation: validation.map((group)=>({
|
|
26
|
-
...group,
|
|
27
|
-
problems: group.problems.filter((problem)=>level === 'error' ? problem.severity === 'error' : true)
|
|
28
|
-
})).filter((group)=>group.problems.length)
|
|
29
|
-
};
|
|
30
|
-
parentPort?.postMessage(result);
|
|
16
|
+
parentPort?.postMessage(await resultFromSchema(schema));
|
|
31
17
|
} catch (err) {
|
|
32
|
-
|
|
33
|
-
|
|
18
|
+
if (isSchemaError(err)) {
|
|
19
|
+
parentPort?.postMessage(await resultFromSchema(err.schema));
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
34
22
|
throw err;
|
|
35
|
-
} finally{
|
|
36
|
-
cleanup();
|
|
37
23
|
}
|
|
38
24
|
}
|
|
25
|
+
async function resultFromSchema(schema) {
|
|
26
|
+
let serializedDebug;
|
|
27
|
+
if (debugSerialize) {
|
|
28
|
+
const conv = new DescriptorConverter();
|
|
29
|
+
const set = await conv.get(schema);
|
|
30
|
+
serializedDebug = getSerializedSchemaDebug(set);
|
|
31
|
+
}
|
|
32
|
+
const validation = schema._validation ?? [];
|
|
33
|
+
const result = {
|
|
34
|
+
serializedDebug,
|
|
35
|
+
validation: validation.map((group)=>({
|
|
36
|
+
...group,
|
|
37
|
+
problems: group.problems.filter((problem)=>level === 'error' ? problem.severity === 'error' : true)
|
|
38
|
+
})).filter((group)=>group.problems.length)
|
|
39
|
+
};
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
39
42
|
function getSerializedSchemaDebug(set) {
|
|
40
43
|
let size = 0;
|
|
41
44
|
const types = {};
|
|
@@ -110,6 +113,5 @@ function getSerializedTypeDebug(typeDef) {
|
|
|
110
113
|
};
|
|
111
114
|
}
|
|
112
115
|
await main();
|
|
113
|
-
process.exit();
|
|
114
116
|
|
|
115
|
-
//# sourceMappingURL=validateSchema.js.map
|
|
117
|
+
//# sourceMappingURL=validateSchema.worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/schema/validateSchema.worker.ts"],"sourcesContent":["import {isMainThread, parentPort, workerData} from 'node:worker_threads'\n\nimport {findStudioConfigPath, getStudioWorkspaces} from '@sanity/cli-core'\nimport {\n type EncodableObject,\n type EncodableValue,\n type SetSynchronization,\n} from '@sanity/descriptors'\nimport {DescriptorConverter} from '@sanity/schema/_internal'\nimport {\n type Schema,\n type SchemaValidationProblem,\n type SchemaValidationProblemGroup,\n} from '@sanity/types'\n\nimport {getWorkspace} from '../../util/getWorkspace.js'\nimport {isSchemaError} from '../../util/isSchemaError.js'\nimport {type SerializedSchemaDebug, type SerializedTypeDebug} from './types.js'\n\n/** @internal */\nexport interface ValidateSchemaWorkerData {\n workDir: string\n\n debugSerialize?: boolean\n level?: SchemaValidationProblem['severity']\n workspace?: string\n}\n\n/** @internal */\nexport interface ValidateSchemaWorkerResult {\n validation: SchemaValidationProblemGroup[]\n\n serializedDebug?: SerializedSchemaDebug\n}\n\nconst {\n debugSerialize,\n level = 'warning',\n workDir,\n workspace: workspaceName,\n} = workerData as ValidateSchemaWorkerData\n\nasync function main() {\n if (isMainThread || !parentPort) {\n throw new Error('This module must be run as a worker thread')\n }\n\n try {\n const configPath = await findStudioConfigPath(workDir)\n const workspaces = await getStudioWorkspaces(configPath)\n const workspace = getWorkspace(workspaces, workspaceName)\n const schema = workspace.schema\n parentPort?.postMessage(await resultFromSchema(schema))\n } catch (err: unknown) {\n if (isSchemaError(err)) {\n parentPort?.postMessage(await resultFromSchema(err.schema))\n return\n }\n\n throw err\n }\n}\n\nasync function resultFromSchema(schema: Schema): Promise<ValidateSchemaWorkerResult> {\n let serializedDebug: ValidateSchemaWorkerResult['serializedDebug']\n\n if (debugSerialize) {\n const conv = new DescriptorConverter()\n const set = await conv.get(schema)\n serializedDebug = getSerializedSchemaDebug(set)\n }\n\n const validation = schema._validation ?? []\n\n const result: ValidateSchemaWorkerResult = {\n serializedDebug,\n validation: validation\n .map((group) => ({\n ...group,\n problems: group.problems.filter((problem) =>\n level === 'error' ? problem.severity === 'error' : true,\n ),\n }))\n .filter((group) => group.problems.length),\n }\n\n return result\n}\n\nfunction getSerializedSchemaDebug(set: SetSynchronization<string>): SerializedSchemaDebug {\n let size = 0\n const types: Record<string, SerializedTypeDebug> = {}\n const hoisted: Record<string, SerializedTypeDebug> = {}\n\n for (const [id, value] of Object.entries(set.objectValues)) {\n const descType = typeof value.type === 'string' ? value.type : '<unknown>'\n switch (descType) {\n case 'sanity.schema.hoisted': {\n const key = typeof value.key === 'string' ? value.key : id\n // The `hoisted` can technically hoist _anything_,\n // but we detect the common case of field + array element.\n if (isEncodableObject(value.value) && isEncodableObject(value.value.typeDef)) {\n const debug = getSerializedTypeDebug(value.value.typeDef)\n hoisted[key] = debug\n size += debug.size\n }\n break\n }\n case 'sanity.schema.namedType': {\n const typeName = typeof value.name === 'string' ? value.name : id\n if (isEncodableObject(value.typeDef)) {\n const debug = getSerializedTypeDebug(value.typeDef)\n types[typeName] = debug\n size += debug.size\n }\n break\n }\n default:\n }\n size += JSON.stringify(value).length\n }\n\n return {\n hoisted,\n size,\n types,\n }\n}\n\nfunction isEncodableObject(val: EncodableValue | undefined): val is EncodableObject {\n return typeof val === 'object' && val !== null && !Array.isArray(val)\n}\n\nfunction getSerializedTypeDebug(typeDef: EncodableObject): SerializedTypeDebug {\n const ext = typeof typeDef.extends === 'string' ? typeDef.extends : '<unknown>'\n let fields: SerializedTypeDebug['fields']\n let of: SerializedTypeDebug['of']\n\n if (Array.isArray(typeDef.fields)) {\n fields = {}\n\n for (const field of typeDef.fields) {\n if (!isEncodableObject(field)) continue\n const name = field.name\n const fieldTypeDef = field.typeDef\n if (typeof name !== 'string' || !isEncodableObject(fieldTypeDef)) continue\n\n fields[name] = getSerializedTypeDebug(fieldTypeDef)\n }\n }\n\n if (Array.isArray(typeDef.of)) {\n of = {}\n\n for (const field of typeDef.of) {\n if (!isEncodableObject(field)) continue\n const name = field.name\n const arrayTypeDef = field.typeDef\n if (typeof name !== 'string' || !isEncodableObject(arrayTypeDef)) continue\n\n of[name] = getSerializedTypeDebug(arrayTypeDef)\n }\n }\n\n return {\n extends: ext,\n fields,\n of,\n size: JSON.stringify(typeDef).length,\n }\n}\n\nawait main()\n"],"names":["isMainThread","parentPort","workerData","findStudioConfigPath","getStudioWorkspaces","DescriptorConverter","getWorkspace","isSchemaError","debugSerialize","level","workDir","workspace","workspaceName","main","Error","configPath","workspaces","schema","postMessage","resultFromSchema","err","serializedDebug","conv","set","get","getSerializedSchemaDebug","validation","_validation","result","map","group","problems","filter","problem","severity","length","size","types","hoisted","id","value","Object","entries","objectValues","descType","type","key","isEncodableObject","typeDef","debug","getSerializedTypeDebug","typeName","name","JSON","stringify","val","Array","isArray","ext","extends","fields","of","field","fieldTypeDef","arrayTypeDef"],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { getCliTelemetry } from '@sanity/cli-core';
|
|
2
|
+
import mean from 'lodash-es/mean.js';
|
|
3
|
+
import once from 'lodash-es/once.js';
|
|
4
|
+
import { SchemaExtractionWatchModeTrace } from '../../telemetry/extractSchema.telemetry.js';
|
|
5
|
+
import { DEFAULT_WATCH_PATTERNS, startExtractSchemaWatcher } from './extractSchemaWatcher.js';
|
|
6
|
+
export async function watchExtractSchema(options) {
|
|
7
|
+
const { extractOptions, output } = options;
|
|
8
|
+
// Keep the start time + some simple stats for extractions as they happen
|
|
9
|
+
const startTime = Date.now();
|
|
10
|
+
const stats = {
|
|
11
|
+
failedCount: 0,
|
|
12
|
+
successfulDurations: []
|
|
13
|
+
};
|
|
14
|
+
const watchPatterns = [
|
|
15
|
+
...DEFAULT_WATCH_PATTERNS,
|
|
16
|
+
...extractOptions.watchPatterns
|
|
17
|
+
];
|
|
18
|
+
const trace = getCliTelemetry().trace(SchemaExtractionWatchModeTrace);
|
|
19
|
+
trace.start();
|
|
20
|
+
// Print watch mode header and patterns at the very beginning
|
|
21
|
+
output.log('Schema extraction watch mode');
|
|
22
|
+
output.log('');
|
|
23
|
+
output.log('Watching for changes in:');
|
|
24
|
+
for (const pattern of watchPatterns){
|
|
25
|
+
output.log(` - ${pattern}`);
|
|
26
|
+
}
|
|
27
|
+
output.log('');
|
|
28
|
+
output.log('Running initial extraction...');
|
|
29
|
+
// Start the watcher (includes initial extraction)
|
|
30
|
+
const { close } = await startExtractSchemaWatcher({
|
|
31
|
+
extractOptions,
|
|
32
|
+
onExtraction: ({ duration, success })=>{
|
|
33
|
+
if (success) {
|
|
34
|
+
stats.successfulDurations.push(duration);
|
|
35
|
+
} else {
|
|
36
|
+
stats.failedCount++;
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
output,
|
|
40
|
+
watchPatterns
|
|
41
|
+
});
|
|
42
|
+
trace.log({
|
|
43
|
+
enforceRequiredFields: extractOptions.enforceRequiredFields,
|
|
44
|
+
schemaFormat: extractOptions.format,
|
|
45
|
+
step: 'started'
|
|
46
|
+
});
|
|
47
|
+
output.log('');
|
|
48
|
+
output.log('Watching for changes... (Ctrl+C to stop)');
|
|
49
|
+
/**
|
|
50
|
+
* Cleanup function that logs telemetry and stops the watcher.
|
|
51
|
+
* Wrapped in once() to prevent multiple calls.
|
|
52
|
+
*/ const cleanup = once(async ()=>{
|
|
53
|
+
trace.log({
|
|
54
|
+
averageExtractionDuration: mean(stats.successfulDurations) || 0,
|
|
55
|
+
extractionFailedCount: stats.failedCount,
|
|
56
|
+
extractionSuccessfulCount: stats.successfulDurations.length,
|
|
57
|
+
step: 'stopped',
|
|
58
|
+
watcherDuration: Date.now() - startTime
|
|
59
|
+
});
|
|
60
|
+
trace.complete();
|
|
61
|
+
output.log('');
|
|
62
|
+
output.log('Stopping watch mode...');
|
|
63
|
+
await close();
|
|
64
|
+
});
|
|
65
|
+
// Return cleanup function for programmatic usage and testing
|
|
66
|
+
// The CLI framework will handle SIGINT/SIGTERM
|
|
67
|
+
return {
|
|
68
|
+
close: cleanup
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=watchExtractSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/schema/watchExtractSchema.ts"],"sourcesContent":["import {getCliTelemetry, type Output} from '@sanity/cli-core'\nimport mean from 'lodash-es/mean.js'\nimport once from 'lodash-es/once.js'\n\nimport {SchemaExtractionWatchModeTrace} from '../../telemetry/extractSchema.telemetry.js'\nimport {DEFAULT_WATCH_PATTERNS, startExtractSchemaWatcher} from './extractSchemaWatcher.js'\nimport {type ExtractOptions} from './getExtractOptions.js'\n\ninterface WatchExtractSchemaOptions {\n extractOptions: ExtractOptions\n output: Output\n}\n\nexport async function watchExtractSchema(\n options: WatchExtractSchemaOptions,\n): Promise<{close: () => Promise<void>}> {\n const {extractOptions, output} = options\n\n // Keep the start time + some simple stats for extractions as they happen\n const startTime = Date.now()\n const stats: {failedCount: number; successfulDurations: number[]} = {\n failedCount: 0,\n successfulDurations: [],\n }\n\n const watchPatterns = [...DEFAULT_WATCH_PATTERNS, ...extractOptions.watchPatterns]\n\n const trace = getCliTelemetry().trace(SchemaExtractionWatchModeTrace)\n trace.start()\n\n // Print watch mode header and patterns at the very beginning\n output.log('Schema extraction watch mode')\n output.log('')\n output.log('Watching for changes in:')\n for (const pattern of watchPatterns) {\n output.log(` - ${pattern}`)\n }\n output.log('')\n\n output.log('Running initial extraction...')\n\n // Start the watcher (includes initial extraction)\n const {close} = await startExtractSchemaWatcher({\n extractOptions,\n onExtraction: ({duration, success}) => {\n if (success) {\n stats.successfulDurations.push(duration)\n } else {\n stats.failedCount++\n }\n },\n output,\n watchPatterns,\n })\n\n trace.log({\n enforceRequiredFields: extractOptions.enforceRequiredFields,\n schemaFormat: extractOptions.format,\n step: 'started',\n })\n\n output.log('')\n output.log('Watching for changes... (Ctrl+C to stop)')\n\n /**\n * Cleanup function that logs telemetry and stops the watcher.\n * Wrapped in once() to prevent multiple calls.\n */\n const cleanup = once(async () => {\n trace.log({\n averageExtractionDuration: mean(stats.successfulDurations) || 0,\n extractionFailedCount: stats.failedCount,\n extractionSuccessfulCount: stats.successfulDurations.length,\n step: 'stopped',\n watcherDuration: Date.now() - startTime,\n })\n trace.complete()\n\n output.log('')\n output.log('Stopping watch mode...')\n await close()\n })\n\n // Return cleanup function for programmatic usage and testing\n // The CLI framework will handle SIGINT/SIGTERM\n return {close: cleanup}\n}\n"],"names":["getCliTelemetry","mean","once","SchemaExtractionWatchModeTrace","DEFAULT_WATCH_PATTERNS","startExtractSchemaWatcher","watchExtractSchema","options","extractOptions","output","startTime","Date","now","stats","failedCount","successfulDurations","watchPatterns","trace","start","log","pattern","close","onExtraction","duration","success","push","enforceRequiredFields","schemaFormat","format","step","cleanup","averageExtractionDuration","extractionFailedCount","extractionSuccessfulCount","length","watcherDuration","complete"],"mappings":"AAAA,SAAQA,eAAe,QAAoB,mBAAkB;AAC7D,OAAOC,UAAU,oBAAmB;AACpC,OAAOC,UAAU,oBAAmB;AAEpC,SAAQC,8BAA8B,QAAO,6CAA4C;AACzF,SAAQC,sBAAsB,EAAEC,yBAAyB,QAAO,4BAA2B;AAQ3F,OAAO,eAAeC,mBACpBC,OAAkC;IAElC,MAAM,EAACC,cAAc,EAAEC,MAAM,EAAC,GAAGF;IAEjC,yEAAyE;IACzE,MAAMG,YAAYC,KAAKC,GAAG;IAC1B,MAAMC,QAA8D;QAClEC,aAAa;QACbC,qBAAqB,EAAE;IACzB;IAEA,MAAMC,gBAAgB;WAAIZ;WAA2BI,eAAeQ,aAAa;KAAC;IAElF,MAAMC,QAAQjB,kBAAkBiB,KAAK,CAACd;IACtCc,MAAMC,KAAK;IAEX,6DAA6D;IAC7DT,OAAOU,GAAG,CAAC;IACXV,OAAOU,GAAG,CAAC;IACXV,OAAOU,GAAG,CAAC;IACX,KAAK,MAAMC,WAAWJ,cAAe;QACnCP,OAAOU,GAAG,CAAC,CAAC,IAAI,EAAEC,SAAS;IAC7B;IACAX,OAAOU,GAAG,CAAC;IAEXV,OAAOU,GAAG,CAAC;IAEX,kDAAkD;IAClD,MAAM,EAACE,KAAK,EAAC,GAAG,MAAMhB,0BAA0B;QAC9CG;QACAc,cAAc,CAAC,EAACC,QAAQ,EAAEC,OAAO,EAAC;YAChC,IAAIA,SAAS;gBACXX,MAAME,mBAAmB,CAACU,IAAI,CAACF;YACjC,OAAO;gBACLV,MAAMC,WAAW;YACnB;QACF;QACAL;QACAO;IACF;IAEAC,MAAME,GAAG,CAAC;QACRO,uBAAuBlB,eAAekB,qBAAqB;QAC3DC,cAAcnB,eAAeoB,MAAM;QACnCC,MAAM;IACR;IAEApB,OAAOU,GAAG,CAAC;IACXV,OAAOU,GAAG,CAAC;IAEX;;;GAGC,GACD,MAAMW,UAAU5B,KAAK;QACnBe,MAAME,GAAG,CAAC;YACRY,2BAA2B9B,KAAKY,MAAME,mBAAmB,KAAK;YAC9DiB,uBAAuBnB,MAAMC,WAAW;YACxCmB,2BAA2BpB,MAAME,mBAAmB,CAACmB,MAAM;YAC3DL,MAAM;YACNM,iBAAiBxB,KAAKC,GAAG,KAAKF;QAChC;QACAO,MAAMmB,QAAQ;QAEd3B,OAAOU,GAAG,CAAC;QACXV,OAAOU,GAAG,CAAC;QACX,MAAME;IACR;IAEA,6DAA6D;IAC7D,+CAA+C;IAC/C,OAAO;QAACA,OAAOS;IAAO;AACxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/actions/telemetry/getLearnMoreMessage.ts"],"sourcesContent":["import {type ConsentInformation} from '
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/telemetry/getLearnMoreMessage.ts"],"sourcesContent":["import {type ConsentInformation} from '@sanity/cli-core'\n\nexport function getLearnMoreMessage(status: ConsentInformation['status']): string {\n const url = 'https://www.sanity.io/telemetry'\n\n switch (status) {\n case 'granted': {\n return `Learn more about the data being collected here:\\n${url}`\n }\n default: {\n return `Learn more here:\\n${url}`\n }\n }\n}\n"],"names":["getLearnMoreMessage","status","url"],"mappings":"AAEA,OAAO,SAASA,oBAAoBC,MAAoC;IACtE,MAAMC,MAAM;IAEZ,OAAQD;QACN,KAAK;YAAW;gBACd,OAAO,CAAC,iDAAiD,EAAEC,KAAK;YAClE;QACA;YAAS;gBACP,OAAO,CAAC,kBAAkB,EAAEA,KAAK;YACnC;IACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/actions/telemetry/getStatusDisplay.ts"],"sourcesContent":["import {type ConsentInformation} from '
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/telemetry/getStatusDisplay.ts"],"sourcesContent":["import {type ConsentInformation} from '@sanity/cli-core'\n\nexport function getStatusDisplay(status: ConsentInformation['status']): string {\n switch (status) {\n case 'denied': {\n return 'Disabled'\n }\n case 'granted': {\n return 'Enabled'\n }\n case 'undetermined': {\n return 'Undetermined'\n }\n case 'unset': {\n return 'Not set'\n }\n default: {\n return 'Unknown'\n }\n }\n}\n"],"names":["getStatusDisplay","status"],"mappings":"AAEA,OAAO,SAASA,iBAAiBC,MAAoC;IACnE,OAAQA;QACN,KAAK;YAAU;gBACb,OAAO;YACT;QACA,KAAK;YAAW;gBACd,OAAO;YACT;QACA,KAAK;YAAgB;gBACnB,OAAO;YACT;QACA,KAAK;YAAS;gBACZ,OAAO;YACT;QACA;YAAS;gBACP,OAAO;YACT;IACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/actions/telemetry/getStatusMessage.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/telemetry/getStatusMessage.ts"],"sourcesContent":["import {type ConsentInformation} from '@sanity/cli-core'\n\nimport {getStatusDisplay} from './getStatusDisplay.js'\n\nexport function getStatusMessage(consentInfo: ConsentInformation): string {\n const {reason, status} = consentInfo\n\n switch (true) {\n case status === 'undetermined' && reason === 'unauthenticated': {\n return 'You need to log in first to see telemetry status.'\n }\n\n case status === 'undetermined' && reason === 'fetchError': {\n return 'Could not fetch telemetry consent status.'\n }\n\n case status === 'denied' && reason === 'localOverride': {\n return `Status: ${getStatusDisplay(status)}\\n\\nYou've opted out of telemetry data collection.\\nNo data will be collected from your machine.\\n\\nUsing DO_NOT_TRACK environment variable.`\n }\n\n case status === 'denied': {\n return `Status: ${getStatusDisplay(status)}\\n\\nYou've opted out of telemetry data collection.\\nNo data will be collected from your Sanity account.`\n }\n\n case status === 'granted': {\n return `Status: ${getStatusDisplay(status)}\\n\\nTelemetry data on general usage and errors is collected to help us improve Sanity.`\n }\n\n case status === 'unset': {\n return `Status: ${getStatusDisplay(status)}\\n\\nYou've not set your preference for telemetry collection.\\n\\nRun 'npx sanity telemetry enable/disable' to opt in or out.\\nYou can also use the DO_NOT_TRACK environment variable to opt out.`\n }\n\n default: {\n return `Status: ${getStatusDisplay(status)}`\n }\n }\n}\n"],"names":["getStatusDisplay","getStatusMessage","consentInfo","reason","status"],"mappings":"AAEA,SAAQA,gBAAgB,QAAO,wBAAuB;AAEtD,OAAO,SAASC,iBAAiBC,WAA+B;IAC9D,MAAM,EAACC,MAAM,EAAEC,MAAM,EAAC,GAAGF;IAEzB,OAAQ;QACN,KAAKE,WAAW,kBAAkBD,WAAW;YAAmB;gBAC9D,OAAO;YACT;QAEA,KAAKC,WAAW,kBAAkBD,WAAW;YAAc;gBACzD,OAAO;YACT;QAEA,KAAKC,WAAW,YAAYD,WAAW;YAAiB;gBACtD,OAAO,CAAC,QAAQ,EAAEH,iBAAiBI,QAAQ,4IAA4I,CAAC;YAC1L;QAEA,KAAKA,WAAW;YAAU;gBACxB,OAAO,CAAC,QAAQ,EAAEJ,iBAAiBI,QAAQ,uGAAuG,CAAC;YACrJ;QAEA,KAAKA,WAAW;YAAW;gBACzB,OAAO,CAAC,QAAQ,EAAEJ,iBAAiBI,QAAQ,sFAAsF,CAAC;YACpI;QAEA,KAAKA,WAAW;YAAS;gBACvB,OAAO,CAAC,QAAQ,EAAEJ,iBAAiBI,QAAQ,+LAA+L,CAAC;YAC7O;QAEA;YAAS;gBACP,OAAO,CAAC,QAAQ,EAAEJ,iBAAiBI,SAAS;YAC9C;IACF;AACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function isTrueish(value) {
|
|
2
|
+
if (value === undefined) return false;
|
|
3
|
+
if (value.toLowerCase() === 'true') return true;
|
|
4
|
+
if (value.toLowerCase() === 'false') return false;
|
|
5
|
+
const number = Number.parseInt(value, 10);
|
|
6
|
+
if (Number.isNaN(number)) return false;
|
|
7
|
+
return number > 0;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=isTrueish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/telemetry/isTrueish.ts"],"sourcesContent":["export function isTrueish(value: string | undefined) {\n if (value === undefined) return false\n if (value.toLowerCase() === 'true') return true\n if (value.toLowerCase() === 'false') return false\n const number = Number.parseInt(value, 10)\n if (Number.isNaN(number)) return false\n return number > 0\n}\n"],"names":["isTrueish","value","undefined","toLowerCase","number","Number","parseInt","isNaN"],"mappings":"AAAA,OAAO,SAASA,UAAUC,KAAyB;IACjD,IAAIA,UAAUC,WAAW,OAAO;IAChC,IAAID,MAAME,WAAW,OAAO,QAAQ,OAAO;IAC3C,IAAIF,MAAME,WAAW,OAAO,SAAS,OAAO;IAC5C,MAAMC,SAASC,OAAOC,QAAQ,CAACL,OAAO;IACtC,IAAII,OAAOE,KAAK,CAACH,SAAS,OAAO;IACjC,OAAOA,SAAS;AAClB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { getCliToken, isCi
|
|
2
|
-
import { fetchTelemetryConsent } from '
|
|
3
|
-
import {
|
|
1
|
+
import { getCliToken, isCi } from '@sanity/cli-core';
|
|
2
|
+
import { fetchTelemetryConsent, isValidApiConsentStatus, VALID_API_STATUSES } from '../../services/telemetry.js';
|
|
3
|
+
import { isTrueish } from './isTrueish.js';
|
|
4
4
|
import { telemetryDebug } from './telemetryDebug.js';
|
|
5
5
|
function parseApiConsentStatus(value) {
|
|
6
6
|
if (typeof value === 'string' && isValidApiConsentStatus(value)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/actions/telemetry/resolveConsent.ts"],"sourcesContent":["import {getCliToken, isCi
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/telemetry/resolveConsent.ts"],"sourcesContent":["import {type ConsentInformation, getCliToken, isCi} from '@sanity/cli-core'\n\nimport {\n fetchTelemetryConsent,\n isValidApiConsentStatus,\n VALID_API_STATUSES,\n type ValidApiConsentStatus,\n} from '../../services/telemetry.js'\nimport {isTrueish} from './isTrueish.js'\nimport {telemetryDebug} from './telemetryDebug.js'\n\nfunction parseApiConsentStatus(value: unknown): ValidApiConsentStatus {\n if (typeof value === 'string' && isValidApiConsentStatus(value)) {\n return value\n }\n throw new Error(`Invalid consent status. Must be one of: ${VALID_API_STATUSES.join(', ')}`)\n}\n\nexport async function resolveConsent(): Promise<ConsentInformation> {\n telemetryDebug('Resolving consent…')\n if (isCi()) {\n telemetryDebug('CI environment detected, treating telemetry consent as denied')\n return {status: 'denied'}\n }\n\n if (isTrueish(process.env.DO_NOT_TRACK)) {\n telemetryDebug('DO_NOT_TRACK is set, consent is denied')\n return {\n reason: 'localOverride',\n status: 'denied',\n }\n }\n\n const token = await getCliToken()\n if (!token) {\n telemetryDebug('User is not logged in, consent is undetermined')\n return {\n reason: 'unauthenticated',\n status: 'undetermined',\n }\n }\n\n try {\n const response = await fetchTelemetryConsent()\n\n telemetryDebug('User consent status is %s', response.status)\n return {status: parseApiConsentStatus(response.status)}\n } catch (err) {\n telemetryDebug('Failed to fetch user consent status, treating it as \"undetermined\": %s', err)\n return {\n reason: 'fetchError',\n status: 'undetermined',\n }\n }\n}\n"],"names":["getCliToken","isCi","fetchTelemetryConsent","isValidApiConsentStatus","VALID_API_STATUSES","isTrueish","telemetryDebug","parseApiConsentStatus","value","Error","join","resolveConsent","status","process","env","DO_NOT_TRACK","reason","token","response","err"],"mappings":"AAAA,SAAiCA,WAAW,EAAEC,IAAI,QAAO,mBAAkB;AAE3E,SACEC,qBAAqB,EACrBC,uBAAuB,EACvBC,kBAAkB,QAEb,8BAA6B;AACpC,SAAQC,SAAS,QAAO,iBAAgB;AACxC,SAAQC,cAAc,QAAO,sBAAqB;AAElD,SAASC,sBAAsBC,KAAc;IAC3C,IAAI,OAAOA,UAAU,YAAYL,wBAAwBK,QAAQ;QAC/D,OAAOA;IACT;IACA,MAAM,IAAIC,MAAM,CAAC,wCAAwC,EAAEL,mBAAmBM,IAAI,CAAC,OAAO;AAC5F;AAEA,OAAO,eAAeC;IACpBL,eAAe;IACf,IAAIL,QAAQ;QACVK,eAAe;QACf,OAAO;YAACM,QAAQ;QAAQ;IAC1B;IAEA,IAAIP,UAAUQ,QAAQC,GAAG,CAACC,YAAY,GAAG;QACvCT,eAAe;QACf,OAAO;YACLU,QAAQ;YACRJ,QAAQ;QACV;IACF;IAEA,MAAMK,QAAQ,MAAMjB;IACpB,IAAI,CAACiB,OAAO;QACVX,eAAe;QACf,OAAO;YACLU,QAAQ;YACRJ,QAAQ;QACV;IACF;IAEA,IAAI;QACF,MAAMM,WAAW,MAAMhB;QAEvBI,eAAe,6BAA6BY,SAASN,MAAM;QAC3D,OAAO;YAACA,QAAQL,sBAAsBW,SAASN,MAAM;QAAC;IACxD,EAAE,OAAOO,KAAK;QACZb,eAAe,0EAA0Ea;QACzF,OAAO;YACLH,QAAQ;YACRJ,QAAQ;QACV;IACF;AACF"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { getGlobalCliClient, getUserConfig, isCi
|
|
1
|
+
import { getGlobalCliClient, getUserConfig, isCi } from '@sanity/cli-core';
|
|
2
|
+
import { TELEMETRY_CONSENT_CONFIG_KEY } from '../../services/telemetry.js';
|
|
3
|
+
import { isTrueish } from './isTrueish.js';
|
|
2
4
|
import { resolveConsent } from './resolveConsent.js';
|
|
3
5
|
import { telemetryDebug } from './telemetryDebug.js';
|
|
4
|
-
const TELEMETRY_CONSENT_CONFIG_KEY = 'telemetryConsent';
|
|
5
6
|
// Type guard for error objects with HTTP properties
|
|
6
7
|
function isHttpError(error) {
|
|
7
8
|
return typeof error === 'object' && error !== null && 'statusCode' in error && 'message' in error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/actions/telemetry/setConsent.ts"],"sourcesContent":["import {getGlobalCliClient, getUserConfig, isCi
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/telemetry/setConsent.ts"],"sourcesContent":["import {type ConsentInformation, getGlobalCliClient, getUserConfig, isCi} from '@sanity/cli-core'\n\nimport {TELEMETRY_CONSENT_CONFIG_KEY, type ValidApiConsentStatus} from '../../services/telemetry.js'\nimport {isTrueish} from './isTrueish.js'\nimport {resolveConsent} from './resolveConsent.js'\nimport {telemetryDebug} from './telemetryDebug.js'\n\ntype SettableConsentStatus = Extract<ValidApiConsentStatus, 'denied' | 'granted'>\n\n// Type guard for error objects with HTTP properties\nfunction isHttpError(error: unknown): error is {\n message: string\n response?: {body?: {message?: string}}\n statusCode: number\n} {\n return typeof error === 'object' && error !== null && 'statusCode' in error && 'message' in error\n}\n\ninterface SetConsentOptions {\n status: SettableConsentStatus\n}\n\ninterface SetConsentResult {\n changed: boolean\n currentStatus: ConsentInformation\n message: string\n}\n\nexport async function setConsent({status}: SetConsentOptions): Promise<SetConsentResult> {\n telemetryDebug('Setting telemetry consent to \"%s\"', status)\n\n // Check current consent status first\n const currentConsent = await resolveConsent()\n\n // Handle various blocking conditions\n if (isCi()) {\n return {\n changed: false,\n currentStatus: currentConsent,\n message: 'Cannot set telemetry consent in CI environment',\n }\n }\n\n if (isTrueish(process.env.DO_NOT_TRACK) && status === 'granted') {\n return {\n changed: false,\n currentStatus: currentConsent,\n message:\n 'Cannot enable telemetry while DO_NOT_TRACK environment variable is set. Unset DO_NOT_TRACK to enable telemetry.',\n }\n }\n\n // Check if already at desired status\n if (currentConsent.status === status) {\n const message =\n status === 'granted'\n ? \"You've already enabled telemetry data collection to help us improve Sanity.\"\n : currentConsent.reason === 'localOverride'\n ? \"You've already opted out of telemetry data collection.\\nNo data is collected from your machine.\\n\\nUsing DO_NOT_TRACK environment variable.\"\n : \"You've already opted out of telemetry data collection.\\nNo data is collected from your Sanity account.\"\n\n return {\n changed: false,\n currentStatus: currentConsent,\n message,\n }\n }\n\n // User must be logged in to set consent\n if (currentConsent.status === 'undetermined' && currentConsent.reason === 'unauthenticated') {\n return {\n changed: false,\n currentStatus: currentConsent,\n message: 'You need to log in first to set telemetry preferences.',\n }\n }\n\n try {\n const client = await getGlobalCliClient({\n apiVersion: '2023-12-18',\n requireUser: true,\n })\n\n const uri = `/users/me/consents/telemetry/status/${status}`\n telemetryDebug('Sending telemetry consent status to %s', uri)\n\n await client.request({\n method: 'PUT',\n uri,\n })\n\n // Clear cached telemetry consent\n const userConfig = getUserConfig()\n userConfig.delete(TELEMETRY_CONSENT_CONFIG_KEY)\n\n const successMessage =\n status === 'granted'\n ? \"You've now enabled telemetry data collection to help us improve Sanity.\"\n : \"You've opted out of telemetry data collection.\\nNo data will be collected from your Sanity account.\"\n\n const newConsent = await resolveConsent()\n\n return {\n changed: true,\n currentStatus: newConsent,\n message: successMessage,\n }\n } catch (err: unknown) {\n const errorMessage = `Failed to ${status === 'granted' ? 'enable' : 'disable'} telemetry`\n\n if (isHttpError(err) && err.statusCode === 403) {\n // Create a new error without stack trace from original error\n const message = err.response?.body?.message\n ? `${errorMessage}: ${err.response.body.message}`\n : errorMessage\n throw new Error(message)\n }\n\n if (isHttpError(err)) {\n // For other errors, preserve the original error but update the message\n err.message = err.response?.body?.message\n ? `${errorMessage}: ${err.response.body.message}`\n : errorMessage\n throw err\n }\n\n // For non-HTTP errors, wrap in a new error\n throw new Error(errorMessage)\n }\n}\n"],"names":["getGlobalCliClient","getUserConfig","isCi","TELEMETRY_CONSENT_CONFIG_KEY","isTrueish","resolveConsent","telemetryDebug","isHttpError","error","setConsent","status","currentConsent","changed","currentStatus","message","process","env","DO_NOT_TRACK","reason","client","apiVersion","requireUser","uri","request","method","userConfig","delete","successMessage","newConsent","err","errorMessage","statusCode","response","body","Error"],"mappings":"AAAA,SAAiCA,kBAAkB,EAAEC,aAAa,EAAEC,IAAI,QAAO,mBAAkB;AAEjG,SAAQC,4BAA4B,QAAmC,8BAA6B;AACpG,SAAQC,SAAS,QAAO,iBAAgB;AACxC,SAAQC,cAAc,QAAO,sBAAqB;AAClD,SAAQC,cAAc,QAAO,sBAAqB;AAIlD,oDAAoD;AACpD,SAASC,YAAYC,KAAc;IAKjC,OAAO,OAAOA,UAAU,YAAYA,UAAU,QAAQ,gBAAgBA,SAAS,aAAaA;AAC9F;AAYA,OAAO,eAAeC,WAAW,EAACC,MAAM,EAAoB;IAC1DJ,eAAe,qCAAqCI;IAEpD,qCAAqC;IACrC,MAAMC,iBAAiB,MAAMN;IAE7B,qCAAqC;IACrC,IAAIH,QAAQ;QACV,OAAO;YACLU,SAAS;YACTC,eAAeF;YACfG,SAAS;QACX;IACF;IAEA,IAAIV,UAAUW,QAAQC,GAAG,CAACC,YAAY,KAAKP,WAAW,WAAW;QAC/D,OAAO;YACLE,SAAS;YACTC,eAAeF;YACfG,SACE;QACJ;IACF;IAEA,qCAAqC;IACrC,IAAIH,eAAeD,MAAM,KAAKA,QAAQ;QACpC,MAAMI,UACJJ,WAAW,YACP,gFACAC,eAAeO,MAAM,KAAK,kBACxB,gJACA;QAER,OAAO;YACLN,SAAS;YACTC,eAAeF;YACfG;QACF;IACF;IAEA,wCAAwC;IACxC,IAAIH,eAAeD,MAAM,KAAK,kBAAkBC,eAAeO,MAAM,KAAK,mBAAmB;QAC3F,OAAO;YACLN,SAAS;YACTC,eAAeF;YACfG,SAAS;QACX;IACF;IAEA,IAAI;QACF,MAAMK,SAAS,MAAMnB,mBAAmB;YACtCoB,YAAY;YACZC,aAAa;QACf;QAEA,MAAMC,MAAM,CAAC,oCAAoC,EAAEZ,QAAQ;QAC3DJ,eAAe,0CAA0CgB;QAEzD,MAAMH,OAAOI,OAAO,CAAC;YACnBC,QAAQ;YACRF;QACF;QAEA,iCAAiC;QACjC,MAAMG,aAAaxB;QACnBwB,WAAWC,MAAM,CAACvB;QAElB,MAAMwB,iBACJjB,WAAW,YACP,4EACA;QAEN,MAAMkB,aAAa,MAAMvB;QAEzB,OAAO;YACLO,SAAS;YACTC,eAAee;YACfd,SAASa;QACX;IACF,EAAE,OAAOE,KAAc;QACrB,MAAMC,eAAe,CAAC,UAAU,EAAEpB,WAAW,YAAY,WAAW,UAAU,UAAU,CAAC;QAEzF,IAAIH,YAAYsB,QAAQA,IAAIE,UAAU,KAAK,KAAK;YAC9C,6DAA6D;YAC7D,MAAMjB,UAAUe,IAAIG,QAAQ,EAAEC,MAAMnB,UAChC,GAAGgB,aAAa,EAAE,EAAED,IAAIG,QAAQ,CAACC,IAAI,CAACnB,OAAO,EAAE,GAC/CgB;YACJ,MAAM,IAAII,MAAMpB;QAClB;QAEA,IAAIP,YAAYsB,MAAM;YACpB,uEAAuE;YACvEA,IAAIf,OAAO,GAAGe,IAAIG,QAAQ,EAAEC,MAAMnB,UAC9B,GAAGgB,aAAa,EAAE,EAAED,IAAIG,QAAQ,CAACC,IAAI,CAACnB,OAAO,EAAE,GAC/CgB;YACJ,MAAMD;QACR;QAEA,2CAA2C;QAC3C,MAAM,IAAIK,MAAMJ;IAClB;AACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { styleText } from 'node:util';
|
|
1
2
|
import { ux } from '@oclif/core';
|
|
2
3
|
import { getUserConfig, isCi } from '@sanity/cli-core';
|
|
3
|
-
import {
|
|
4
|
-
import boxen from 'boxen';
|
|
4
|
+
import { boxen } from '@sanity/cli-core/ux';
|
|
5
5
|
import { telemetryDebug } from './telemetryDebug.js';
|
|
6
6
|
import { telemetryLearnMoreMessage } from './telemetryLearnMoreMessage.js';
|
|
7
7
|
const TELEMETRY_DISCLOSED_CONFIG_KEY = 'telemetryDisclosed';
|
|
@@ -19,7 +19,7 @@ export function telemetryDisclosure() {
|
|
|
19
19
|
ux.stderr(boxen(`The Sanity CLI now collects telemetry data on general usage and errors.
|
|
20
20
|
This helps us improve Sanity and prioritize features.
|
|
21
21
|
|
|
22
|
-
To opt in/out, run ${
|
|
22
|
+
To opt in/out, run ${styleText('cyan', 'npx sanity telemetry enable/disable')}.
|
|
23
23
|
|
|
24
24
|
${telemetryLearnMoreMessage('unset')}`, {
|
|
25
25
|
borderColor: 'yellow',
|