@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/actions/dev/startStudioDevServer.ts"],"sourcesContent":["import {isInteractive} from '@sanity/cli-core'\nimport {chalk, confirm, logSymbols, spinner} from '@sanity/cli-core/ux'\nimport semver from 'semver'\n\nimport {startDevServer} from '../../server/devServer.js'\nimport {gracefulServerDeath} from '../../server/gracefulServerDeath.js'\nimport {getProjectById} from '../../services/projects.js'\nimport {getAppId} from '../../util/appId.js'\nimport {compareDependencyVersions} from '../../util/compareDependencyVersions.js'\nimport {getPackageManagerChoice} from '../../util/packageManager/packageManagerChoice.js'\nimport {upgradePackages} from '../../util/packageManager/upgradePackages.js'\nimport {readModuleVersion} from '../../util/readModuleVersion.js'\nimport {warnAboutMissingAppId} from '../../util/warnAboutMissingAppId.js'\nimport {checkRequiredDependencies} from '../build/checkRequiredDependencies.js'\nimport {checkStudioDependencyVersions} from '../build/checkStudioDependencyVersions.js'\nimport {shouldAutoUpdate} from '../build/shouldAutoUpdate.js'\nimport {devDebug} from './devDebug.js'\nimport {getCoreAppURL} from './getCoreAppUrl.js'\nimport {getDevServerConfig} from './getDevServerConfig.js'\nimport {type DevActionOptions} from './types.js'\n\nexport async function startStudioDevServer(\n options: DevActionOptions,\n): Promise<{close?: () => Promise<void>}> {\n const {cliConfig, flags, output, workDir} = options\n const projectId = cliConfig?.api?.projectId\n let organizationId: string | undefined\n\n const loadInDashboard = flags['load-in-dashboard']\n\n // Check studio dependency versions\n await checkStudioDependencyVersions(workDir, output)\n\n const {installedSanityVersion} = await checkRequiredDependencies(options)\n\n // Check if auto-updates are enabled\n const autoUpdatesEnabled = shouldAutoUpdate({cliConfig, flags, output})\n\n if (autoUpdatesEnabled) {\n // Get the clean version without build metadata: https://semver.org/#spec-item-10\n const cleanSanityVersion = semver.parse(installedSanityVersion)?.version\n if (!cleanSanityVersion) {\n throw new Error(`Failed to parse installed Sanity version: ${installedSanityVersion}`)\n }\n\n const sanityDependencies = [\n {name: 'sanity', version: cleanSanityVersion},\n {name: '@sanity/vision', version: cleanSanityVersion},\n ]\n\n output.log(`${logSymbols.info} Running with auto-updates enabled`)\n\n // Check local versions against deployed versions\n let result: Awaited<ReturnType<typeof compareDependencyVersions>> | undefined\n\n const appId = getAppId(cliConfig)\n\n try {\n result = await compareDependencyVersions(sanityDependencies, workDir, {appId})\n } catch (err) {\n output.warn(`Failed to compare local versions against auto-updating versions: ${err}`)\n }\n\n if (!appId) {\n warnAboutMissingAppId({\n appType: 'studio',\n output,\n projectId,\n })\n }\n\n // mismatch between local and auto-updating dependencies\n if (result?.length) {\n const message =\n `The following local package versions are different from the versions currently served at runtime.\\n` +\n `When using auto updates, we recommend that you run with the same versions locally as will be used when deploying.\\n\\n` +\n `${result.map((mod) => ` - ${mod.pkg} (local version: ${mod.installed}, runtime version: ${mod.remote})`).join('\\n')}\\n\\n`\n\n if (isInteractive()) {\n const shouldUpgrade = await confirm({\n default: true,\n message: chalk.yellow(`${message}Do you want to upgrade local versions?`),\n })\n if (shouldUpgrade) {\n await upgradePackages(\n {\n packageManager: (await getPackageManagerChoice(workDir, {interactive: false})).chosen,\n packages: result.map((res) => [res.pkg, res.remote]),\n },\n {output, workDir},\n )\n }\n } else {\n // In this case we warn the user but we don't ask them if they want to upgrade because it's not interactive.\n output.log(chalk.yellow(message))\n }\n }\n }\n\n const config = getDevServerConfig({cliConfig, flags, output, workDir})\n\n if (loadInDashboard) {\n if (!projectId) {\n output.error('Project Id is required to load in dashboard', {exit: 1})\n }\n\n try {\n const project = await getProjectById(projectId!)\n organizationId = project.organizationId!\n } catch (error) {\n devDebug('Error getting organization id from project id', error)\n output.error('Failed to get organization id from project id', {exit: 1})\n }\n }\n\n try {\n const startTime = Date.now()\n const spin = spinner('Starting dev server').start()\n const {close, server} = await startDevServer(config)\n\n const {info: loggerInfo} = server.config.logger\n const {port} = server.config.server\n const httpHost = config.httpHost || 'localhost'\n\n if (loadInDashboard) {\n spin.succeed()\n\n output.log(`Dev server started on port ${port}`)\n output.log(`View your studio in the Sanity dashboard here:`)\n output.log(\n chalk.blue(\n chalk.underline(\n getCoreAppURL({\n httpHost,\n httpPort: port,\n organizationId: organizationId!,\n }),\n ),\n ),\n )\n } else {\n const startupDuration = Date.now() - startTime\n const url = `http://${httpHost || 'localhost'}:${port}${config.basePath}`\n const appType = 'Sanity Studio'\n\n const viteVersion = await readModuleVersion(import.meta.url, 'vite')\n spin.succeed()\n\n loggerInfo(\n `${appType} ` +\n `using ${chalk.cyan(`vite@${viteVersion}`)} ` +\n `ready in ${chalk.cyan(`${Math.ceil(startupDuration)}ms`)} ` +\n `and running at ${chalk.cyan(url)}`,\n )\n }\n\n return {close}\n } catch (err) {\n devDebug('Error starting studio dev server', err)\n throw gracefulServerDeath('dev', config.httpHost, config.httpPort, err)\n }\n}\n"],"names":["isInteractive","chalk","confirm","logSymbols","spinner","semver","startDevServer","gracefulServerDeath","getProjectById","getAppId","compareDependencyVersions","getPackageManagerChoice","upgradePackages","readModuleVersion","warnAboutMissingAppId","checkRequiredDependencies","checkStudioDependencyVersions","shouldAutoUpdate","devDebug","getCoreAppURL","getDevServerConfig","startStudioDevServer","options","cliConfig","flags","output","workDir","projectId","api","organizationId","loadInDashboard","installedSanityVersion","autoUpdatesEnabled","cleanSanityVersion","parse","version","Error","sanityDependencies","name","log","info","result","appId","err","warn","appType","length","message","map","mod","pkg","installed","remote","join","shouldUpgrade","default","yellow","packageManager","interactive","chosen","packages","res","config","error","exit","project","startTime","Date","now","spin","start","close","server","loggerInfo","logger","port","httpHost","succeed","blue","underline","httpPort","startupDuration","url","basePath","viteVersion","cyan","Math","ceil"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/dev/startStudioDevServer.ts"],"sourcesContent":["import {styleText} from 'node:util'\n\nimport {isInteractive} from '@sanity/cli-core'\nimport {confirm, logSymbols, spinner} from '@sanity/cli-core/ux'\nimport semver from 'semver'\n\nimport {startDevServer} from '../../server/devServer.js'\nimport {gracefulServerDeath} from '../../server/gracefulServerDeath.js'\nimport {getProjectById} from '../../services/projects.js'\nimport {getAppId} from '../../util/appId.js'\nimport {compareDependencyVersions} from '../../util/compareDependencyVersions.js'\nimport {getLocalPackageVersion} from '../../util/getLocalPackageVersion.js'\nimport {getPackageManagerChoice} from '../../util/packageManager/packageManagerChoice.js'\nimport {upgradePackages} from '../../util/packageManager/upgradePackages.js'\nimport {checkRequiredDependencies} from '../build/checkRequiredDependencies.js'\nimport {checkStudioDependencyVersions} from '../build/checkStudioDependencyVersions.js'\nimport {shouldAutoUpdate} from '../build/shouldAutoUpdate.js'\nimport {devDebug} from './devDebug.js'\nimport {getDashboardAppURL} from './getDashboardAppUrl.js'\nimport {getDevServerConfig} from './getDevServerConfig.js'\nimport {type DevActionOptions} from './types.js'\n\nexport async function startStudioDevServer(\n options: DevActionOptions,\n): Promise<{close?: () => Promise<void>}> {\n const {cliConfig, flags, output, workDir} = options\n const projectId = cliConfig?.api?.projectId\n let organizationId: string | undefined\n\n const loadInDashboard = flags['load-in-dashboard']\n\n // Check studio dependency versions\n await checkStudioDependencyVersions(workDir, output)\n\n const {installedSanityVersion} = await checkRequiredDependencies(options)\n\n // Check if auto-updates are enabled\n const autoUpdatesEnabled = shouldAutoUpdate({cliConfig, flags, output})\n\n if (autoUpdatesEnabled) {\n // Get the clean version without build metadata: https://semver.org/#spec-item-10\n const cleanSanityVersion = semver.parse(installedSanityVersion)?.version\n if (!cleanSanityVersion) {\n throw new Error(`Failed to parse installed Sanity version: ${installedSanityVersion}`)\n }\n\n const sanityDependencies = [\n {name: 'sanity', version: cleanSanityVersion},\n {name: '@sanity/vision', version: cleanSanityVersion},\n ]\n\n output.log(`${logSymbols.info} Running with auto-updates enabled`)\n\n // Check local versions against deployed versions\n let result: Awaited<ReturnType<typeof compareDependencyVersions>> | undefined\n\n const appId = getAppId(cliConfig)\n\n try {\n result = await compareDependencyVersions(sanityDependencies, workDir, {appId})\n } catch (err) {\n output.warn(`Failed to compare local versions against auto-updating versions: ${err}`)\n }\n\n if (result?.unresolvedPrerelease.length) {\n for (const mod of result.unresolvedPrerelease) {\n output.warn(\n `Your local version of ${mod.pkg} (${mod.version}) is a prerelease not available on the auto-updates CDN. The locally installed version will be used.`,\n )\n }\n }\n\n // mismatch between local and auto-updating dependencies\n if (result?.mismatched.length) {\n const message =\n `The following local package versions are different from the versions currently served at runtime.\\n` +\n `When using auto updates, we recommend that you run with the same versions locally as will be used when deploying.\\n\\n` +\n `${result.mismatched.map((mod) => ` - ${mod.pkg} (local version: ${mod.installed}, runtime version: ${mod.remote})`).join('\\n')}\\n\\n`\n\n if (isInteractive()) {\n const shouldUpgrade = await confirm({\n default: true,\n message: styleText('yellow', `${message}Do you want to upgrade local versions?`),\n })\n if (shouldUpgrade) {\n await upgradePackages(\n {\n packageManager: (await getPackageManagerChoice(workDir, {interactive: false})).chosen,\n packages: result.mismatched.map((res) => [res.pkg, res.remote]),\n },\n {output, workDir},\n )\n }\n } else {\n // In this case we warn the user but we don't ask them if they want to upgrade because it's not interactive.\n output.log(styleText('yellow', message))\n }\n }\n }\n\n if (cliConfig?.schemaExtraction?.enabled) {\n output.log(`${logSymbols.info} Running dev server with schema extraction enabled`)\n }\n\n const config = getDevServerConfig({cliConfig, flags, output, workDir})\n\n if (loadInDashboard) {\n if (!projectId) {\n output.error('Project Id is required to load in dashboard', {exit: 1})\n }\n\n try {\n const project = await getProjectById(projectId!)\n organizationId = project.organizationId!\n } catch (error) {\n devDebug('Error getting organization id from project id', error)\n output.error('Failed to get organization id from project id', {exit: 1})\n }\n }\n\n try {\n const startTime = Date.now()\n const spin = spinner('Starting dev server').start()\n const {close, server} = await startDevServer(config)\n\n const {info: loggerInfo} = server.config.logger\n const {port} = server.config.server\n const httpHost = config.httpHost || 'localhost'\n\n if (loadInDashboard) {\n spin.succeed()\n\n output.log(`Dev server started on port ${port}`)\n output.log(`View your studio in the Sanity dashboard here:`)\n output.log(\n styleText(\n ['blue', 'underline'],\n await getDashboardAppURL({\n httpHost,\n httpPort: port,\n organizationId: organizationId!,\n }),\n ),\n )\n } else {\n const startupDuration = Date.now() - startTime\n const url = `http://${httpHost || 'localhost'}:${port}${config.basePath}`\n const appType = 'Sanity Studio'\n\n const viteVersion = await getLocalPackageVersion('vite', import.meta.url)\n spin.succeed()\n\n loggerInfo(\n `${appType} ` +\n `using ${styleText('cyan', `vite@${viteVersion}`)} ` +\n `ready in ${styleText('cyan', `${Math.ceil(startupDuration)}ms`)} ` +\n `and running at ${styleText('cyan', url)}`,\n )\n }\n\n return {close}\n } catch (err) {\n devDebug('Error starting studio dev server', err)\n throw gracefulServerDeath('dev', config.httpHost, config.httpPort, err)\n }\n}\n"],"names":["styleText","isInteractive","confirm","logSymbols","spinner","semver","startDevServer","gracefulServerDeath","getProjectById","getAppId","compareDependencyVersions","getLocalPackageVersion","getPackageManagerChoice","upgradePackages","checkRequiredDependencies","checkStudioDependencyVersions","shouldAutoUpdate","devDebug","getDashboardAppURL","getDevServerConfig","startStudioDevServer","options","cliConfig","flags","output","workDir","projectId","api","organizationId","loadInDashboard","installedSanityVersion","autoUpdatesEnabled","cleanSanityVersion","parse","version","Error","sanityDependencies","name","log","info","result","appId","err","warn","unresolvedPrerelease","length","mod","pkg","mismatched","message","map","installed","remote","join","shouldUpgrade","default","packageManager","interactive","chosen","packages","res","schemaExtraction","enabled","config","error","exit","project","startTime","Date","now","spin","start","close","server","loggerInfo","logger","port","httpHost","succeed","httpPort","startupDuration","url","basePath","appType","viteVersion","Math","ceil"],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { detectCliInstallation } from '../../../util/packageManager/installationInfo/detectCliInstallation.js';
|
|
2
|
+
export const cliInstallationCheck = {
|
|
3
|
+
name: 'cli',
|
|
4
|
+
title: 'CLI Installation',
|
|
5
|
+
async run (context) {
|
|
6
|
+
const info = await detectCliInstallation({
|
|
7
|
+
cwd: context.cwd
|
|
8
|
+
});
|
|
9
|
+
const messages = [];
|
|
10
|
+
// Check if we're in a studio folder (sanity is declared or installed)
|
|
11
|
+
const sanityPkg = info.packages.sanity;
|
|
12
|
+
const isStudioFolder = sanityPkg?.declared || sanityPkg?.installed;
|
|
13
|
+
if (!isStudioFolder) {
|
|
14
|
+
messages.push({
|
|
15
|
+
text: 'No Sanity studio detected in this directory. Run inside a studio folder for full diagnostics.',
|
|
16
|
+
type: 'info'
|
|
17
|
+
});
|
|
18
|
+
return {
|
|
19
|
+
messages,
|
|
20
|
+
status: 'passed'
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
// Map issues to messages
|
|
24
|
+
if (info.issues.length === 0) {
|
|
25
|
+
// Everything is fine — brief success
|
|
26
|
+
const version = sanityPkg?.installed?.version;
|
|
27
|
+
messages.push({
|
|
28
|
+
text: version ? `sanity@${version} — no issues found` : 'No issues found',
|
|
29
|
+
type: 'success'
|
|
30
|
+
});
|
|
31
|
+
} else {
|
|
32
|
+
// Add each issue as a self-contained message
|
|
33
|
+
for (const issue of info.issues){
|
|
34
|
+
const suggestions = [];
|
|
35
|
+
if (issue.suggestion) {
|
|
36
|
+
suggestions.push(issue.suggestion);
|
|
37
|
+
}
|
|
38
|
+
messages.push({
|
|
39
|
+
suggestions: suggestions.length > 0 ? suggestions : undefined,
|
|
40
|
+
text: issue.message,
|
|
41
|
+
type: issue.severity === 'error' ? 'error' : issue.severity === 'warning' ? 'warning' : 'info'
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Determine overall status
|
|
46
|
+
const hasErrors = info.issues.some((i)=>i.severity === 'error');
|
|
47
|
+
const hasWarnings = info.issues.some((i)=>i.severity === 'warning');
|
|
48
|
+
const status = hasErrors ? 'error' : hasWarnings ? 'warning' : 'passed';
|
|
49
|
+
return {
|
|
50
|
+
messages,
|
|
51
|
+
status
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=cliInstallation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/actions/doctor/checks/cliInstallation.ts"],"sourcesContent":["import {detectCliInstallation} from '../../../util/packageManager/installationInfo/detectCliInstallation.js'\nimport {\n type CheckMessage,\n type CheckResult,\n type DoctorCheck,\n type DoctorContext,\n} from '../types.js'\n\nexport const cliInstallationCheck: DoctorCheck = {\n name: 'cli',\n title: 'CLI Installation',\n\n async run(context: DoctorContext): Promise<CheckResult> {\n const info = await detectCliInstallation({cwd: context.cwd})\n const messages: CheckMessage[] = []\n\n // Check if we're in a studio folder (sanity is declared or installed)\n const sanityPkg = info.packages.sanity\n const isStudioFolder = sanityPkg?.declared || sanityPkg?.installed\n\n if (!isStudioFolder) {\n messages.push({\n text: 'No Sanity studio detected in this directory. Run inside a studio folder for full diagnostics.',\n type: 'info',\n })\n return {messages, status: 'passed'}\n }\n\n // Map issues to messages\n if (info.issues.length === 0) {\n // Everything is fine — brief success\n const version = sanityPkg?.installed?.version\n messages.push({\n text: version ? `sanity@${version} — no issues found` : 'No issues found',\n type: 'success',\n })\n } else {\n // Add each issue as a self-contained message\n for (const issue of info.issues) {\n const suggestions: string[] = []\n if (issue.suggestion) {\n suggestions.push(issue.suggestion)\n }\n\n messages.push({\n suggestions: suggestions.length > 0 ? suggestions : undefined,\n text: issue.message,\n type:\n issue.severity === 'error'\n ? 'error'\n : issue.severity === 'warning'\n ? 'warning'\n : 'info',\n })\n }\n }\n\n // Determine overall status\n const hasErrors = info.issues.some((i) => i.severity === 'error')\n const hasWarnings = info.issues.some((i) => i.severity === 'warning')\n const status = hasErrors ? 'error' : hasWarnings ? 'warning' : 'passed'\n\n return {messages, status}\n },\n}\n"],"names":["detectCliInstallation","cliInstallationCheck","name","title","run","context","info","cwd","messages","sanityPkg","packages","sanity","isStudioFolder","declared","installed","push","text","type","status","issues","length","version","issue","suggestions","suggestion","undefined","message","severity","hasErrors","some","i","hasWarnings"],"mappings":"AAAA,SAAQA,qBAAqB,QAAO,yEAAwE;AAQ5G,OAAO,MAAMC,uBAAoC;IAC/CC,MAAM;IACNC,OAAO;IAEP,MAAMC,KAAIC,OAAsB;QAC9B,MAAMC,OAAO,MAAMN,sBAAsB;YAACO,KAAKF,QAAQE,GAAG;QAAA;QAC1D,MAAMC,WAA2B,EAAE;QAEnC,sEAAsE;QACtE,MAAMC,YAAYH,KAAKI,QAAQ,CAACC,MAAM;QACtC,MAAMC,iBAAiBH,WAAWI,YAAYJ,WAAWK;QAEzD,IAAI,CAACF,gBAAgB;YACnBJ,SAASO,IAAI,CAAC;gBACZC,MAAM;gBACNC,MAAM;YACR;YACA,OAAO;gBAACT;gBAAUU,QAAQ;YAAQ;QACpC;QAEA,yBAAyB;QACzB,IAAIZ,KAAKa,MAAM,CAACC,MAAM,KAAK,GAAG;YAC5B,qCAAqC;YACrC,MAAMC,UAAUZ,WAAWK,WAAWO;YACtCb,SAASO,IAAI,CAAC;gBACZC,MAAMK,UAAU,CAAC,OAAO,EAAEA,QAAQ,kBAAkB,CAAC,GAAG;gBACxDJ,MAAM;YACR;QACF,OAAO;YACL,6CAA6C;YAC7C,KAAK,MAAMK,SAAShB,KAAKa,MAAM,CAAE;gBAC/B,MAAMI,cAAwB,EAAE;gBAChC,IAAID,MAAME,UAAU,EAAE;oBACpBD,YAAYR,IAAI,CAACO,MAAME,UAAU;gBACnC;gBAEAhB,SAASO,IAAI,CAAC;oBACZQ,aAAaA,YAAYH,MAAM,GAAG,IAAIG,cAAcE;oBACpDT,MAAMM,MAAMI,OAAO;oBACnBT,MACEK,MAAMK,QAAQ,KAAK,UACf,UACAL,MAAMK,QAAQ,KAAK,YACjB,YACA;gBACV;YACF;QACF;QAEA,2BAA2B;QAC3B,MAAMC,YAAYtB,KAAKa,MAAM,CAACU,IAAI,CAAC,CAACC,IAAMA,EAAEH,QAAQ,KAAK;QACzD,MAAMI,cAAczB,KAAKa,MAAM,CAACU,IAAI,CAAC,CAACC,IAAMA,EAAEH,QAAQ,KAAK;QAC3D,MAAMT,SAASU,YAAY,UAAUG,cAAc,YAAY;QAE/D,OAAO;YAACvB;YAAUU;QAAM;IAC1B;AACF,EAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { cliInstallationCheck } from './cliInstallation.js';
|
|
2
|
+
/**
|
|
3
|
+
* Map of available doctor checks, keyed by facet name.
|
|
4
|
+
* Runs in the order of declaration, so the most "important" checks should be listed first.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/ export const doctorChecks = {
|
|
8
|
+
cli: cliInstallationCheck
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* List of keys for known checks, used for validation
|
|
12
|
+
*
|
|
13
|
+
* @internal
|
|
14
|
+
*/ export const KNOWN_CHECKS = Object.keys(doctorChecks);
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/actions/doctor/checks/index.ts"],"sourcesContent":["import {type DoctorCheck} from '../types.js'\nimport {cliInstallationCheck} from './cliInstallation.js'\n\n/**\n * Map of available doctor checks, keyed by facet name.\n * Runs in the order of declaration, so the most \"important\" checks should be listed first.\n *\n * @internal\n */\nexport const doctorChecks = {\n cli: cliInstallationCheck,\n} satisfies Record<string, DoctorCheck>\n\nexport type DoctorCheckName = keyof typeof doctorChecks\n\n/**\n * List of keys for known checks, used for validation\n *\n * @internal\n */\nexport const KNOWN_CHECKS: DoctorCheckName[] = Object.keys(doctorChecks) as DoctorCheckName[]\n"],"names":["cliInstallationCheck","doctorChecks","cli","KNOWN_CHECKS","Object","keys"],"mappings":"AACA,SAAQA,oBAAoB,QAAO,uBAAsB;AAEzD;;;;;CAKC,GACD,OAAO,MAAMC,eAAe;IAC1BC,KAAKF;AACP,EAAuC;AAIvC;;;;CAIC,GACD,OAAO,MAAMG,eAAkCC,OAAOC,IAAI,CAACJ,cAAkC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export async function runDoctorChecks(context, checks) {
|
|
2
|
+
const results = [];
|
|
3
|
+
// Run checks sequentially (some may depend on earlier results in the future)
|
|
4
|
+
for (const check of checks){
|
|
5
|
+
let result;
|
|
6
|
+
try {
|
|
7
|
+
result = await check.run(context);
|
|
8
|
+
} catch (err) {
|
|
9
|
+
result = {
|
|
10
|
+
messages: [
|
|
11
|
+
{
|
|
12
|
+
text: err instanceof Error ? err.message : String(err),
|
|
13
|
+
type: 'error'
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
status: 'error'
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
results.push({
|
|
20
|
+
...result,
|
|
21
|
+
name: check.name,
|
|
22
|
+
title: check.title
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
// Calculate summary
|
|
26
|
+
const summary = {
|
|
27
|
+
errors: 0,
|
|
28
|
+
passed: 0,
|
|
29
|
+
warnings: 0
|
|
30
|
+
};
|
|
31
|
+
for (const result of results){
|
|
32
|
+
switch(result.status){
|
|
33
|
+
case 'error':
|
|
34
|
+
{
|
|
35
|
+
summary.errors++;
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
case 'passed':
|
|
39
|
+
{
|
|
40
|
+
summary.passed++;
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
case 'warning':
|
|
44
|
+
{
|
|
45
|
+
summary.warnings++;
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
checks: results,
|
|
52
|
+
summary
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=runDoctorChecks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/doctor/runDoctorChecks.ts"],"sourcesContent":["import {\n type CheckResult,\n type CheckResultWithMeta,\n type DoctorCheck,\n type DoctorContext,\n type DoctorResults,\n} from './types.js'\n\nexport async function runDoctorChecks(\n context: DoctorContext,\n checks: DoctorCheck[],\n): Promise<DoctorResults> {\n const results: CheckResultWithMeta[] = []\n\n // Run checks sequentially (some may depend on earlier results in the future)\n for (const check of checks) {\n let result: CheckResult\n try {\n result = await check.run(context)\n } catch (err) {\n result = {\n messages: [{text: err instanceof Error ? err.message : String(err), type: 'error'}],\n status: 'error',\n }\n }\n results.push({\n ...result,\n name: check.name,\n title: check.title,\n })\n }\n\n // Calculate summary\n const summary = {errors: 0, passed: 0, warnings: 0}\n for (const result of results) {\n switch (result.status) {\n case 'error': {\n summary.errors++\n break\n }\n case 'passed': {\n summary.passed++\n break\n }\n case 'warning': {\n summary.warnings++\n break\n }\n // No default\n }\n }\n\n return {checks: results, summary}\n}\n"],"names":["runDoctorChecks","context","checks","results","check","result","run","err","messages","text","Error","message","String","type","status","push","name","title","summary","errors","passed","warnings"],"mappings":"AAQA,OAAO,eAAeA,gBACpBC,OAAsB,EACtBC,MAAqB;IAErB,MAAMC,UAAiC,EAAE;IAEzC,6EAA6E;IAC7E,KAAK,MAAMC,SAASF,OAAQ;QAC1B,IAAIG;QACJ,IAAI;YACFA,SAAS,MAAMD,MAAME,GAAG,CAACL;QAC3B,EAAE,OAAOM,KAAK;YACZF,SAAS;gBACPG,UAAU;oBAAC;wBAACC,MAAMF,eAAeG,QAAQH,IAAII,OAAO,GAAGC,OAAOL;wBAAMM,MAAM;oBAAO;iBAAE;gBACnFC,QAAQ;YACV;QACF;QACAX,QAAQY,IAAI,CAAC;YACX,GAAGV,MAAM;YACTW,MAAMZ,MAAMY,IAAI;YAChBC,OAAOb,MAAMa,KAAK;QACpB;IACF;IAEA,oBAAoB;IACpB,MAAMC,UAAU;QAACC,QAAQ;QAAGC,QAAQ;QAAGC,UAAU;IAAC;IAClD,KAAK,MAAMhB,UAAUF,QAAS;QAC5B,OAAQE,OAAOS,MAAM;YACnB,KAAK;gBAAS;oBACZI,QAAQC,MAAM;oBACd;gBACF;YACA,KAAK;gBAAU;oBACbD,QAAQE,MAAM;oBACd;gBACF;YACA,KAAK;gBAAW;oBACdF,QAAQG,QAAQ;oBAChB;gBACF;QAEF;IACF;IAEA,OAAO;QAACnB,QAAQC;QAASe;IAAO;AAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/doctor/types.ts"],"sourcesContent":["export interface DoctorCheck {\n name: string\n run(context: DoctorContext): Promise<CheckResult>\n title: string\n}\n\nexport type CheckResultStatus = 'error' | 'passed' | 'warning'\n\nexport type MessageType = 'error' | 'info' | 'success' | 'warning'\n\nexport type SummaryTypes = 'errors' | 'passed' | 'warnings'\n\nexport interface DoctorContext {\n cwd: string\n}\n\nexport interface CheckResult {\n messages: CheckMessage[]\n status: CheckResultStatus\n}\n\nexport interface CheckMessage {\n text: string\n type: MessageType\n\n suggestions?: string[]\n}\n\nexport interface DoctorResults {\n checks: CheckResultWithMeta[]\n summary: Record<SummaryTypes, number>\n}\n\nexport interface CheckResultWithMeta extends CheckResult {\n name: string\n title: string\n}\n"],"names":[],"mappings":"AAiCA,WAGC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/actions/documents/types.ts"],"sourcesContent":["import {type ValidationMarker} from '@sanity/types'\n\nexport type Level = ValidationMarker['level']\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/documents/types.ts"],"sourcesContent":["import {type Output} from '@sanity/cli-core'\nimport {type ClientConfig} from '@sanity/client'\nimport {type ValidationMarker} from '@sanity/types'\nimport {type WorkerChannel, type WorkerChannelReceiver} from '@sanity/worker-channels'\n\nimport {type ValidateDocumentsCommand} from '../../commands/documents/validate.js'\n\nexport type Level = ValidationMarker['level']\n\n/** @internal */\nexport interface ValidateDocumentsWorkerData {\n workDir: string\n\n clientConfig?: Partial<ClientConfig>\n dataset?: string\n level?: ValidationMarker['level']\n maxCustomValidationConcurrency?: number\n maxFetchConcurrency?: number\n ndjsonFilePath?: string\n projectId?: string\n studioHost?: string\n workspace?: string\n}\n\n/** @internal */\nexport type ValidationWorkerChannel = WorkerChannel.Definition<{\n exportFinished: WorkerChannel.Event<{totalDocumentsToValidate: number}>\n exportProgress: WorkerChannel.Stream<{documentCount: number; downloadedCount: number}>\n loadedDocumentCount: WorkerChannel.Event<{documentCount: number}>\n loadedReferenceIntegrity: WorkerChannel.Event\n loadedWorkspace: WorkerChannel.Event<{\n basePath: string\n dataset: string\n name: string\n projectId: string\n }>\n validation: WorkerChannel.Stream<{\n documentId: string\n documentType: string\n intentUrl?: string\n level: ValidationMarker['level']\n markers: ValidationMarker[]\n revision: string\n validatedCount: number\n }>\n}>\n\n/**\n * Combines the package's receiver API with a `dispose()` method that\n * unsubscribes from worker messages AND terminates the worker thread.\n */\nexport interface ValidationReceiver {\n dispose: () => Promise<number>\n event: WorkerChannelReceiver<ValidationWorkerChannel>['event']\n stream: WorkerChannelReceiver<ValidationWorkerChannel>['stream']\n}\n\nexport type BuiltInValidationReporter = (options: {\n flags: ValidateDocumentsCommand['flags']\n output: Output\n worker: ValidationReceiver\n}) => Promise<Level>\n"],"names":[],"mappings":"AAyDA,WAIoB"}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import { Worker } from 'node:worker_threads';
|
|
4
|
-
import { getGlobalCliClient } from '@sanity/cli-core';
|
|
5
|
-
import { readPackageUp } from 'read-package-up';
|
|
6
|
-
import { createReceiver } from '../../util/workerChannels.js';
|
|
1
|
+
import { createStudioWorker, getGlobalCliClient } from '@sanity/cli-core';
|
|
2
|
+
import { WorkerChannelReceiver } from '@sanity/worker-channels';
|
|
7
3
|
import { DOCUMENTS_API_VERSION } from './constants.js';
|
|
8
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
9
4
|
const defaultReporter = ({ dispose, stream })=>{
|
|
10
5
|
async function* createValidationGenerator() {
|
|
11
6
|
for await (const { documentId, documentType, level, markers, revision } of stream.validation()){
|
|
@@ -28,13 +23,6 @@ export async function validateDocuments(options) {
|
|
|
28
23
|
apiVersion: DOCUMENTS_API_VERSION,
|
|
29
24
|
requireUser: true
|
|
30
25
|
});
|
|
31
|
-
const rootPkgPath = (await readPackageUp({
|
|
32
|
-
cwd: __dirname
|
|
33
|
-
}))?.path;
|
|
34
|
-
if (!rootPkgPath) {
|
|
35
|
-
throw new Error('Could not find root directory for `sanity` package');
|
|
36
|
-
}
|
|
37
|
-
const workerPath = path.join(path.dirname(rootPkgPath), 'dist', 'threads', 'validateDocuments.js');
|
|
38
26
|
const clientConfig = {
|
|
39
27
|
...apiClient.config(),
|
|
40
28
|
// we set this explictly to true because we pass in a token via the
|
|
@@ -49,8 +37,9 @@ export async function validateDocuments(options) {
|
|
|
49
37
|
// `requireProject` is set to false
|
|
50
38
|
useProjectHostname: true
|
|
51
39
|
};
|
|
52
|
-
const worker = new
|
|
53
|
-
|
|
40
|
+
const worker = createStudioWorker(new URL('validateDocuments.worker.js', import.meta.url), {
|
|
41
|
+
name: 'validateDocuments',
|
|
42
|
+
studioRootPath: workDir,
|
|
54
43
|
workerData: {
|
|
55
44
|
// removes props in the config that make this object fail to serialize
|
|
56
45
|
clientConfig: structuredClone(clientConfig),
|
|
@@ -65,7 +54,16 @@ export async function validateDocuments(options) {
|
|
|
65
54
|
workspace
|
|
66
55
|
}
|
|
67
56
|
});
|
|
68
|
-
|
|
57
|
+
const receiver = WorkerChannelReceiver.from(worker);
|
|
58
|
+
const validationReceiver = {
|
|
59
|
+
dispose: async ()=>{
|
|
60
|
+
receiver.unsubscribe();
|
|
61
|
+
return worker.terminate();
|
|
62
|
+
},
|
|
63
|
+
event: receiver.event,
|
|
64
|
+
stream: receiver.stream
|
|
65
|
+
};
|
|
66
|
+
return reporter(validationReceiver);
|
|
69
67
|
}
|
|
70
68
|
|
|
71
69
|
//# sourceMappingURL=validate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/actions/documents/validate.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/documents/validate.ts"],"sourcesContent":["import {createStudioWorker, getGlobalCliClient} from '@sanity/cli-core'\nimport {type ClientConfig} from '@sanity/client'\nimport {type ValidationMarker} from '@sanity/types'\nimport {WorkerChannelReceiver} from '@sanity/worker-channels'\n\nimport {DOCUMENTS_API_VERSION} from './constants.js'\nimport {\n Level,\n type ValidateDocumentsWorkerData,\n type ValidationReceiver,\n type ValidationWorkerChannel,\n} from './types.js'\n\ninterface ValidateDocumentsOptions<TReturn = unknown> {\n dataset?: string // override\n level?: Level\n maxCustomValidationConcurrency?: number\n maxFetchConcurrency?: number\n ndjsonFilePath?: string\n projectId?: string // override\n reporter?: (worker: ValidationReceiver) => TReturn\n studioHost?: string\n workDir?: string\n workspace?: string\n}\n\ninterface DocumentValidationResult {\n documentId: string\n documentType: string\n level: ValidationMarker['level']\n markers: ValidationMarker[]\n revision: string\n}\n\nconst defaultReporter = ({dispose, stream}: ValidationReceiver) => {\n async function* createValidationGenerator() {\n for await (const {documentId, documentType, level, markers, revision} of stream.validation()) {\n const result: DocumentValidationResult = {\n documentId,\n documentType,\n level,\n markers,\n revision,\n }\n\n yield result\n }\n\n await dispose()\n }\n\n return createValidationGenerator()\n}\n\nexport function validateDocuments<TReturn>(\n options: Required<Pick<ValidateDocumentsOptions<TReturn>, 'reporter'>> &\n ValidateDocumentsOptions<TReturn>,\n): Promise<TReturn>\nexport function validateDocuments(\n options: ValidateDocumentsOptions,\n): Promise<AsyncIterable<DocumentValidationResult>>\nexport async function validateDocuments(options: ValidateDocumentsOptions): Promise<unknown> {\n const {\n dataset,\n level,\n maxCustomValidationConcurrency,\n maxFetchConcurrency,\n ndjsonFilePath,\n projectId,\n reporter = defaultReporter,\n workDir = process.cwd(),\n workspace,\n } = options\n\n const apiClient = await getGlobalCliClient({\n apiVersion: DOCUMENTS_API_VERSION,\n requireUser: true,\n })\n\n const clientConfig: ClientConfig = {\n ...apiClient.config(),\n // we set this explictly to true because we pass in a token via the\n // `clientConfiguration` object and also mock a browser environment in\n // this worker which triggers the browser warning\n ignoreBrowserTokenWarning: true,\n // Removing from object so config can be serialized\n // before sent to validation worker\n requester: undefined,\n // we set this explictly to true because the default client configuration\n // from the CLI comes configured with `useProjectHostname: false` when\n // `requireProject` is set to false\n useProjectHostname: true,\n }\n\n const worker = createStudioWorker(new URL('validateDocuments.worker.js', import.meta.url), {\n name: 'validateDocuments',\n studioRootPath: workDir,\n workerData: {\n // removes props in the config that make this object fail to serialize\n clientConfig: structuredClone(clientConfig),\n dataset,\n level,\n maxCustomValidationConcurrency,\n maxFetchConcurrency,\n ndjsonFilePath,\n projectId,\n studioHost: options.studioHost,\n workDir,\n workspace,\n } satisfies ValidateDocumentsWorkerData,\n })\n\n const receiver = WorkerChannelReceiver.from<ValidationWorkerChannel>(worker)\n const validationReceiver: ValidationReceiver = {\n dispose: async () => {\n receiver.unsubscribe()\n return worker.terminate()\n },\n event: receiver.event,\n stream: receiver.stream,\n }\n\n return reporter(validationReceiver)\n}\n"],"names":["createStudioWorker","getGlobalCliClient","WorkerChannelReceiver","DOCUMENTS_API_VERSION","defaultReporter","dispose","stream","createValidationGenerator","documentId","documentType","level","markers","revision","validation","result","validateDocuments","options","dataset","maxCustomValidationConcurrency","maxFetchConcurrency","ndjsonFilePath","projectId","reporter","workDir","process","cwd","workspace","apiClient","apiVersion","requireUser","clientConfig","config","ignoreBrowserTokenWarning","requester","undefined","useProjectHostname","worker","URL","url","name","studioRootPath","workerData","structuredClone","studioHost","receiver","from","validationReceiver","unsubscribe","terminate","event"],"mappings":"AAAA,SAAQA,kBAAkB,EAAEC,kBAAkB,QAAO,mBAAkB;AAGvE,SAAQC,qBAAqB,QAAO,0BAAyB;AAE7D,SAAQC,qBAAqB,QAAO,iBAAgB;AA6BpD,MAAMC,kBAAkB,CAAC,EAACC,OAAO,EAAEC,MAAM,EAAqB;IAC5D,gBAAgBC;QACd,WAAW,MAAM,EAACC,UAAU,EAAEC,YAAY,EAAEC,KAAK,EAAEC,OAAO,EAAEC,QAAQ,EAAC,IAAIN,OAAOO,UAAU,GAAI;YAC5F,MAAMC,SAAmC;gBACvCN;gBACAC;gBACAC;gBACAC;gBACAC;YACF;YAEA,MAAME;QACR;QAEA,MAAMT;IACR;IAEA,OAAOE;AACT;AASA,OAAO,eAAeQ,kBAAkBC,OAAiC;IACvE,MAAM,EACJC,OAAO,EACPP,KAAK,EACLQ,8BAA8B,EAC9BC,mBAAmB,EACnBC,cAAc,EACdC,SAAS,EACTC,WAAWlB,eAAe,EAC1BmB,UAAUC,QAAQC,GAAG,EAAE,EACvBC,SAAS,EACV,GAAGV;IAEJ,MAAMW,YAAY,MAAM1B,mBAAmB;QACzC2B,YAAYzB;QACZ0B,aAAa;IACf;IAEA,MAAMC,eAA6B;QACjC,GAAGH,UAAUI,MAAM,EAAE;QACrB,mEAAmE;QACnE,sEAAsE;QACtE,iDAAiD;QACjDC,2BAA2B;QAC3B,mDAAmD;QACnD,mCAAmC;QACnCC,WAAWC;QACX,yEAAyE;QACzE,sEAAsE;QACtE,mCAAmC;QACnCC,oBAAoB;IACtB;IAEA,MAAMC,SAASpC,mBAAmB,IAAIqC,IAAI,+BAA+B,YAAYC,GAAG,GAAG;QACzFC,MAAM;QACNC,gBAAgBjB;QAChBkB,YAAY;YACV,sEAAsE;YACtEX,cAAcY,gBAAgBZ;YAC9Bb;YACAP;YACAQ;YACAC;YACAC;YACAC;YACAsB,YAAY3B,QAAQ2B,UAAU;YAC9BpB;YACAG;QACF;IACF;IAEA,MAAMkB,WAAW1C,sBAAsB2C,IAAI,CAA0BT;IACrE,MAAMU,qBAAyC;QAC7CzC,SAAS;YACPuC,SAASG,WAAW;YACpB,OAAOX,OAAOY,SAAS;QACzB;QACAC,OAAOL,SAASK,KAAK;QACrB3C,QAAQsC,SAAStC,MAAM;IACzB;IAEA,OAAOgB,SAASwB;AAClB"}
|
|
@@ -4,20 +4,19 @@ import path from 'node:path';
|
|
|
4
4
|
import readline from 'node:readline';
|
|
5
5
|
import { Readable } from 'node:stream';
|
|
6
6
|
import { workerData as _workerData, isMainThread, parentPort } from 'node:worker_threads';
|
|
7
|
-
import {
|
|
7
|
+
import { getStudioWorkspaces, resolveLocalPackage } from '@sanity/cli-core';
|
|
8
8
|
import { createClient } from '@sanity/client';
|
|
9
|
+
import { WorkerChannelReporter } from '@sanity/worker-channels';
|
|
9
10
|
import pMap from 'p-map';
|
|
10
|
-
import {
|
|
11
|
-
import { extractDocumentsFromNdjsonOrTarball } from '
|
|
12
|
-
import { getWorkspace } from '
|
|
13
|
-
import {
|
|
14
|
-
import { DOCUMENT_VALIDATION_TIMEOUT, getReferenceIds, isValidId, levelValues, MAX_VALIDATION_CONCURRENCY, REFERENCE_INTEGRITY_BATCH_SIZE, shouldIncludeDocument } from '../util/validation/validateDocumentsUtils.js';
|
|
15
|
-
import { createReporter } from '../util/workerChannels.js';
|
|
11
|
+
import { checkDocumentAvailability, exportDocuments, getDocumentCount } from '../../services/documents.js';
|
|
12
|
+
import { extractDocumentsFromNdjsonOrTarball } from '../../util/extractDocumentsFromNdjsonOrTarball.js';
|
|
13
|
+
import { getWorkspace } from '../../util/getWorkspace.js';
|
|
14
|
+
import { DOCUMENT_VALIDATION_TIMEOUT, getReferenceIds, isValidId, levelValues, MAX_VALIDATION_CONCURRENCY, REFERENCE_INTEGRITY_BATCH_SIZE, shouldIncludeDocument } from '../../util/validation/validateDocumentsUtils.js';
|
|
16
15
|
const { clientConfig, dataset, level, maxCustomValidationConcurrency, maxFetchConcurrency, ndjsonFilePath, projectId, studioHost, workDir, workspace: workspaceName } = _workerData;
|
|
17
16
|
if (isMainThread || !parentPort) {
|
|
18
17
|
throw new Error('This module must be run as a worker thread');
|
|
19
18
|
}
|
|
20
|
-
const report =
|
|
19
|
+
const report = WorkerChannelReporter.from(parentPort);
|
|
21
20
|
// eslint-disable-next-line n/no-unsupported-features/node-builtins
|
|
22
21
|
async function* readerToGenerator(reader) {
|
|
23
22
|
while(true){
|
|
@@ -29,12 +28,14 @@ async function* readerToGenerator(reader) {
|
|
|
29
28
|
await main();
|
|
30
29
|
process.exit();
|
|
31
30
|
async function loadWorkspace() {
|
|
32
|
-
const workspaces = await
|
|
31
|
+
const workspaces = await getStudioWorkspaces(workDir);
|
|
33
32
|
const workspace = getWorkspace(workspaces, workspaceName);
|
|
33
|
+
const resolvedDataset = dataset || workspace.dataset;
|
|
34
|
+
const resolvedProjectId = projectId || workspace.projectId;
|
|
34
35
|
const client = createClient({
|
|
35
36
|
...clientConfig,
|
|
36
|
-
dataset:
|
|
37
|
-
projectId:
|
|
37
|
+
dataset: resolvedDataset,
|
|
38
|
+
projectId: resolvedProjectId,
|
|
38
39
|
requestTagPrefix: 'sanity.cli.validate'
|
|
39
40
|
}).config({
|
|
40
41
|
apiVersion: 'v2021-03-25'
|
|
@@ -47,23 +48,22 @@ async function loadWorkspace() {
|
|
|
47
48
|
});
|
|
48
49
|
return {
|
|
49
50
|
client,
|
|
51
|
+
dataset: resolvedDataset,
|
|
52
|
+
projectId: resolvedProjectId,
|
|
50
53
|
workspace
|
|
51
54
|
};
|
|
52
55
|
}
|
|
53
|
-
async function downloadFromExport(
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
+
async function downloadFromExport({ dataset: datasetName, projectId: projId }) {
|
|
57
|
+
const documentCount = await getDocumentCount({
|
|
58
|
+
dataset: datasetName,
|
|
59
|
+
projectId: projId
|
|
60
|
+
});
|
|
56
61
|
report.event.loadedDocumentCount({
|
|
57
62
|
documentCount
|
|
58
63
|
});
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
headers: new Headers({
|
|
63
|
-
...token && {
|
|
64
|
-
Authorization: `Bearer ${token}`
|
|
65
|
-
}
|
|
66
|
-
})
|
|
64
|
+
const response = await exportDocuments({
|
|
65
|
+
dataset: datasetName,
|
|
66
|
+
projectId: projId
|
|
67
67
|
});
|
|
68
68
|
const reader = response.body?.getReader();
|
|
69
69
|
if (!reader) throw new Error('Could not get reader from response body.');
|
|
@@ -129,7 +129,7 @@ async function downloadFromFile(filePath) {
|
|
|
129
129
|
referencedIds
|
|
130
130
|
};
|
|
131
131
|
}
|
|
132
|
-
async function checkReferenceExistence({
|
|
132
|
+
async function checkReferenceExistence({ dataset: datasetName, documentIds, projectId: projId, referencedIds: _referencedIds }) {
|
|
133
133
|
const existingIds = new Set(documentIds);
|
|
134
134
|
const idsToCheck = [
|
|
135
135
|
..._referencedIds
|
|
@@ -139,13 +139,10 @@ async function checkReferenceExistence({ client, documentIds, referencedIds: _re
|
|
|
139
139
|
batches.push(idsToCheck.slice(i, i + REFERENCE_INTEGRITY_BATCH_SIZE));
|
|
140
140
|
}
|
|
141
141
|
for (const batch of batches){
|
|
142
|
-
const { omitted } = await
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
},
|
|
147
|
-
tag: 'documents-availability',
|
|
148
|
-
uri: client.getDataUrl('doc', batch.join(','))
|
|
142
|
+
const { omitted } = await checkDocumentAvailability({
|
|
143
|
+
dataset: datasetName,
|
|
144
|
+
documentIds: batch,
|
|
145
|
+
projectId: projId
|
|
149
146
|
});
|
|
150
147
|
const omittedIds = {};
|
|
151
148
|
for (const item of omitted){
|
|
@@ -165,15 +162,18 @@ async function checkReferenceExistence({ client, documentIds, referencedIds: _re
|
|
|
165
162
|
};
|
|
166
163
|
}
|
|
167
164
|
async function main() {
|
|
168
|
-
const cleanupBrowserEnvironment = await mockBrowserEnvironment(workDir);
|
|
169
165
|
let cleanupDownloadedDocuments;
|
|
170
166
|
try {
|
|
171
|
-
const { client, workspace } = await loadWorkspace();
|
|
172
|
-
const { cleanup, documentIds, getDocuments, referencedIds } = ndjsonFilePath ? await downloadFromFile(ndjsonFilePath) : await downloadFromExport(
|
|
167
|
+
const { client, dataset: datasetName, projectId: projId, workspace } = await loadWorkspace();
|
|
168
|
+
const { cleanup, documentIds, getDocuments, referencedIds } = ndjsonFilePath ? await downloadFromFile(ndjsonFilePath) : await downloadFromExport({
|
|
169
|
+
dataset: datasetName,
|
|
170
|
+
projectId: projId
|
|
171
|
+
});
|
|
173
172
|
cleanupDownloadedDocuments = cleanup;
|
|
174
173
|
const { existingIds } = await checkReferenceExistence({
|
|
175
|
-
|
|
174
|
+
dataset: datasetName,
|
|
176
175
|
documentIds,
|
|
176
|
+
projectId: projId,
|
|
177
177
|
referencedIds
|
|
178
178
|
});
|
|
179
179
|
const getClient = (options)=>client.withConfig(options);
|
|
@@ -192,6 +192,7 @@ async function main() {
|
|
|
192
192
|
let markers;
|
|
193
193
|
try {
|
|
194
194
|
const timeout = Symbol('timeout');
|
|
195
|
+
const { validateDocument } = await resolveLocalPackage('sanity', workDir);
|
|
195
196
|
const result = await Promise.race([
|
|
196
197
|
validateDocument({
|
|
197
198
|
document,
|
|
@@ -214,7 +215,7 @@ async function main() {
|
|
|
214
215
|
return markerValue <= flagLevelValue;
|
|
215
216
|
});
|
|
216
217
|
} catch (err) {
|
|
217
|
-
const errorMessage =
|
|
218
|
+
const errorMessage = err instanceof Error ? err.message : 'Unknown error';
|
|
218
219
|
const message = `Exception occurred while validating value: ${errorMessage}`;
|
|
219
220
|
markers = [
|
|
220
221
|
{
|
|
@@ -244,8 +245,7 @@ async function main() {
|
|
|
244
245
|
report.stream.validation.end();
|
|
245
246
|
} finally{
|
|
246
247
|
await cleanupDownloadedDocuments?.();
|
|
247
|
-
cleanupBrowserEnvironment();
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
250
|
|
|
251
|
-
//# sourceMappingURL=validateDocuments.js.map
|
|
251
|
+
//# sourceMappingURL=validateDocuments.worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/documents/validateDocuments.worker.ts"],"sourcesContent":["import fs from 'node:fs'\nimport os from 'node:os'\nimport path from 'node:path'\nimport readline from 'node:readline'\nimport {Readable} from 'node:stream'\nimport {workerData as _workerData, isMainThread, parentPort} from 'node:worker_threads'\n\nimport {getStudioWorkspaces, resolveLocalPackage} from '@sanity/cli-core'\nimport {type ClientConfig, createClient, type SanityDocument} from '@sanity/client'\nimport {type ValidationContext, type ValidationMarker} from '@sanity/types'\nimport {WorkerChannelReporter} from '@sanity/worker-channels'\nimport pMap from 'p-map'\n\nimport {\n type AvailabilityResponse,\n checkDocumentAvailability,\n exportDocuments,\n getDocumentCount,\n} from '../../services/documents.js'\nimport {extractDocumentsFromNdjsonOrTarball} from '../../util/extractDocumentsFromNdjsonOrTarball.js'\nimport {getWorkspace} from '../../util/getWorkspace.js'\nimport {\n DOCUMENT_VALIDATION_TIMEOUT,\n getReferenceIds,\n isValidId,\n levelValues,\n MAX_VALIDATION_CONCURRENCY,\n REFERENCE_INTEGRITY_BATCH_SIZE,\n shouldIncludeDocument,\n} from '../../util/validation/validateDocumentsUtils.js'\nimport {type ValidateDocumentsWorkerData, type ValidationWorkerChannel} from './types.js'\n\nconst {\n clientConfig,\n dataset,\n level,\n maxCustomValidationConcurrency,\n maxFetchConcurrency,\n ndjsonFilePath,\n projectId,\n studioHost,\n workDir,\n workspace: workspaceName,\n} = _workerData as ValidateDocumentsWorkerData\n\nif (isMainThread || !parentPort) {\n throw new Error('This module must be run as a worker thread')\n}\n\nconst report = WorkerChannelReporter.from<ValidationWorkerChannel>(parentPort)\n\n// eslint-disable-next-line n/no-unsupported-features/node-builtins\nasync function* readerToGenerator(reader: ReadableStreamDefaultReader<Uint8Array>) {\n while (true) {\n const {done, value} = await reader.read()\n if (value) yield value\n if (done) return\n }\n}\n\nawait main()\nprocess.exit()\n\nasync function loadWorkspace() {\n const workspaces = await getStudioWorkspaces(workDir)\n const workspace = getWorkspace(workspaces, workspaceName)\n\n const resolvedDataset = dataset || workspace.dataset\n const resolvedProjectId = projectId || workspace.projectId\n\n const client = createClient({\n ...clientConfig,\n dataset: resolvedDataset,\n projectId: resolvedProjectId,\n requestTagPrefix: 'sanity.cli.validate',\n }).config({apiVersion: 'v2021-03-25'})\n\n report.event.loadedWorkspace({\n basePath: workspace.basePath,\n dataset: workspace.dataset,\n name: workspace.name,\n projectId: workspace.projectId,\n })\n\n return {client, dataset: resolvedDataset, projectId: resolvedProjectId, workspace}\n}\n\ninterface DownloadFromExportOptions {\n dataset: string\n projectId: string\n}\n\nasync function downloadFromExport({\n dataset: datasetName,\n projectId: projId,\n}: DownloadFromExportOptions) {\n const documentCount = await getDocumentCount({dataset: datasetName, projectId: projId})\n report.event.loadedDocumentCount({documentCount})\n\n const response = await exportDocuments({dataset: datasetName, projectId: projId})\n\n const reader = response.body?.getReader()\n if (!reader) throw new Error('Could not get reader from response body.')\n\n let downloadedCount = 0\n const referencedIds = new Set<string>()\n const documentIds = new Set<string>()\n const lines = readline.createInterface({input: Readable.from(readerToGenerator(reader))})\n\n // Note: we stream the export to a file and then re-read from that file to\n // make this less memory intensive.\n // this is a similar pattern to the import/export CLI commands\n const slugDate = new Date()\n .toISOString()\n .replaceAll(/[^a-z0-9]/gi, '-')\n .toLowerCase()\n const tempOutputFile = path.join(os.tmpdir(), `sanity-validate-${slugDate}.ndjson`)\n const outputStream = fs.createWriteStream(tempOutputFile)\n\n for await (const line of lines) {\n const document = JSON.parse(line) as SanityDocument\n\n if (shouldIncludeDocument(document)) {\n documentIds.add(document._id)\n for (const referenceId of getReferenceIds(document)) {\n referencedIds.add(referenceId)\n }\n\n outputStream.write(`${line}\\n`)\n }\n\n downloadedCount++\n report.stream.exportProgress.emit({documentCount, downloadedCount})\n }\n\n await new Promise<void>((resolve, reject) =>\n outputStream.close((err) => (err ? reject(err) : resolve())),\n )\n\n report.stream.exportProgress.end()\n report.event.exportFinished({totalDocumentsToValidate: documentIds.size})\n\n const getDocuments = () =>\n extractDocumentsFromNdjsonOrTarball(fs.createReadStream(tempOutputFile))\n\n return {cleanup: () => fs.promises.rm(tempOutputFile), documentIds, getDocuments, referencedIds}\n}\n\nasync function downloadFromFile(filePath: string) {\n const referencedIds = new Set<string>()\n const documentIds = new Set<string>()\n const getDocuments = () => extractDocumentsFromNdjsonOrTarball(fs.createReadStream(filePath))\n\n for await (const document of getDocuments()) {\n if (shouldIncludeDocument(document)) {\n documentIds.add(document._id)\n for (const referenceId of getReferenceIds(document)) {\n referencedIds.add(referenceId)\n }\n }\n }\n\n report.event.exportFinished({totalDocumentsToValidate: documentIds.size})\n\n return {cleanup: undefined, documentIds, getDocuments, referencedIds}\n}\n\ninterface CheckReferenceExistenceOptions {\n dataset: string\n documentIds: Set<string>\n projectId: string\n referencedIds: Set<string>\n}\n\nasync function checkReferenceExistence({\n dataset: datasetName,\n documentIds,\n projectId: projId,\n referencedIds: _referencedIds,\n}: CheckReferenceExistenceOptions) {\n const existingIds = new Set(documentIds)\n const idsToCheck = [..._referencedIds]\n .filter((id) => !existingIds.has(id) && isValidId(id))\n .toSorted()\n\n const batches: string[][] = []\n for (let i = 0; i < idsToCheck.length; i += REFERENCE_INTEGRITY_BATCH_SIZE) {\n batches.push(idsToCheck.slice(i, i + REFERENCE_INTEGRITY_BATCH_SIZE))\n }\n\n for (const batch of batches) {\n const {omitted} = await checkDocumentAvailability({\n dataset: datasetName,\n documentIds: batch,\n projectId: projId,\n })\n\n const omittedIds: Record<string, AvailabilityResponse['omitted'][number]['reason']> = {}\n for (const item of omitted) {\n omittedIds[item.id] = item.reason\n }\n\n for (const id of batch) {\n // unless the document ID is in the `omitted` object explictly due to\n // the reason `'existence'`, then it should exist\n if (omittedIds[id] !== 'existence') {\n existingIds.add(id)\n }\n }\n }\n report.event.loadedReferenceIntegrity()\n\n return {existingIds}\n}\n\nasync function main() {\n let cleanupDownloadedDocuments: (() => Promise<void>) | undefined\n\n try {\n const {client, dataset: datasetName, projectId: projId, workspace} = await loadWorkspace()\n const {cleanup, documentIds, getDocuments, referencedIds} = ndjsonFilePath\n ? await downloadFromFile(ndjsonFilePath)\n : await downloadFromExport({dataset: datasetName, projectId: projId})\n cleanupDownloadedDocuments = cleanup\n const {existingIds} = await checkReferenceExistence({\n dataset: datasetName,\n documentIds,\n projectId: projId,\n referencedIds,\n })\n\n const getClient = <TOptions extends Partial<ClientConfig>>(options: TOptions) =>\n client.withConfig(options)\n\n const getDocumentExists: ValidationContext['getDocumentExists'] = ({id}) =>\n Promise.resolve(existingIds.has(id))\n\n const getLevel = (markers: ValidationMarker[]) => {\n let foundWarning = false\n for (const marker of markers) {\n if (marker.level === 'error') return 'error'\n if (marker.level === 'warning') foundWarning = true\n }\n\n if (foundWarning) return 'warning'\n return 'info'\n }\n\n let validatedCount = 0\n\n const validate = async (document: SanityDocument) => {\n let markers: ValidationMarker[]\n\n try {\n const timeout = Symbol('timeout')\n\n const {validateDocument} = await resolveLocalPackage<typeof import('sanity')>(\n 'sanity',\n workDir,\n )\n\n const result = await Promise.race([\n validateDocument({\n document,\n environment: 'cli',\n getClient,\n getDocumentExists,\n maxCustomValidationConcurrency,\n maxFetchConcurrency,\n workspace,\n }),\n new Promise<typeof timeout>((resolve) =>\n setTimeout(() => resolve(timeout), DOCUMENT_VALIDATION_TIMEOUT),\n ),\n ])\n\n if (result === timeout) {\n throw new Error(\n `Document '${document._id}' failed to validate within ${DOCUMENT_VALIDATION_TIMEOUT}ms.`,\n )\n }\n\n markers = result\n // filter out unwanted levels\n .filter((marker) => {\n const markerValue = levelValues[marker.level]\n const flagLevelValue =\n levelValues[level as keyof typeof levelValues] ?? levelValues.info\n return markerValue <= flagLevelValue\n })\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : 'Unknown error'\n\n const message = `Exception occurred while validating value: ${errorMessage}`\n\n markers = [\n {\n level: 'error',\n message,\n path: [],\n },\n ]\n }\n\n validatedCount++\n\n const intentUrl =\n studioHost &&\n `${studioHost}${path.resolve(\n workspace.basePath,\n `/intent/edit/id=${encodeURIComponent(document._id)};type=${encodeURIComponent(\n document._type,\n )}`,\n )}`\n\n report.stream.validation.emit({\n documentId: document._id,\n documentType: document._type,\n ...(intentUrl && {intentUrl}),\n level: getLevel(markers),\n markers,\n revision: document._rev,\n validatedCount,\n })\n }\n\n await pMap(getDocuments(), validate, {concurrency: MAX_VALIDATION_CONCURRENCY})\n\n report.stream.validation.end()\n } finally {\n await cleanupDownloadedDocuments?.()\n }\n}\n"],"names":["fs","os","path","readline","Readable","workerData","_workerData","isMainThread","parentPort","getStudioWorkspaces","resolveLocalPackage","createClient","WorkerChannelReporter","pMap","checkDocumentAvailability","exportDocuments","getDocumentCount","extractDocumentsFromNdjsonOrTarball","getWorkspace","DOCUMENT_VALIDATION_TIMEOUT","getReferenceIds","isValidId","levelValues","MAX_VALIDATION_CONCURRENCY","REFERENCE_INTEGRITY_BATCH_SIZE","shouldIncludeDocument","clientConfig","dataset","level","maxCustomValidationConcurrency","maxFetchConcurrency","ndjsonFilePath","projectId","studioHost","workDir","workspace","workspaceName","Error","report","from","readerToGenerator","reader","done","value","read","main","process","exit","loadWorkspace","workspaces","resolvedDataset","resolvedProjectId","client","requestTagPrefix","config","apiVersion","event","loadedWorkspace","basePath","name","downloadFromExport","datasetName","projId","documentCount","loadedDocumentCount","response","body","getReader","downloadedCount","referencedIds","Set","documentIds","lines","createInterface","input","slugDate","Date","toISOString","replaceAll","toLowerCase","tempOutputFile","join","tmpdir","outputStream","createWriteStream","line","document","JSON","parse","add","_id","referenceId","write","stream","exportProgress","emit","Promise","resolve","reject","close","err","end","exportFinished","totalDocumentsToValidate","size","getDocuments","createReadStream","cleanup","promises","rm","downloadFromFile","filePath","undefined","checkReferenceExistence","_referencedIds","existingIds","idsToCheck","filter","id","has","toSorted","batches","i","length","push","slice","batch","omitted","omittedIds","item","reason","loadedReferenceIntegrity","cleanupDownloadedDocuments","getClient","options","withConfig","getDocumentExists","getLevel","markers","foundWarning","marker","validatedCount","validate","timeout","Symbol","validateDocument","result","race","environment","setTimeout","markerValue","flagLevelValue","info","errorMessage","message","intentUrl","encodeURIComponent","_type","validation","documentId","documentType","revision","_rev","concurrency"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/actions/documents/validation/reporters/jsonReporter.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../../../src/actions/documents/validation/reporters/jsonReporter.ts"],"sourcesContent":["import omit from 'lodash-es/omit.js'\n\nimport {type BuiltInValidationReporter, Level} from '../../types.js'\n\n// TODO: replace with Array.fromAsync when it's out of stage3\nasync function arrayFromAsync<T>(iterable: AsyncIterable<T>) {\n const results: T[] = []\n for await (const item of iterable) results.push(item)\n return results\n}\n\nexport const json: BuiltInValidationReporter = async ({output, worker}) => {\n const results = await arrayFromAsync(worker.stream.validation())\n const formatted = results\n // report out only documents with some markers\n .filter(({markers}) => markers.length)\n // remove validatedCount from the results\n .map((result) => omit(result, ['validatedCount']))\n\n await worker.dispose()\n\n output.log(JSON.stringify(formatted))\n\n let overallLevel: Level = 'info'\n\n for (const {level} of formatted) {\n if (level === 'error') overallLevel = 'error'\n if (level === 'warning' && overallLevel !== 'error') overallLevel = 'warning'\n }\n\n return overallLevel\n}\n"],"names":["omit","arrayFromAsync","iterable","results","item","push","json","output","worker","stream","validation","formatted","filter","markers","length","map","result","dispose","log","JSON","stringify","overallLevel","level"],"mappings":"AAAA,OAAOA,UAAU,oBAAmB;AAIpC,6DAA6D;AAC7D,eAAeC,eAAkBC,QAA0B;IACzD,MAAMC,UAAe,EAAE;IACvB,WAAW,MAAMC,QAAQF,SAAUC,QAAQE,IAAI,CAACD;IAChD,OAAOD;AACT;AAEA,OAAO,MAAMG,OAAkC,OAAO,EAACC,MAAM,EAAEC,MAAM,EAAC;IACpE,MAAML,UAAU,MAAMF,eAAeO,OAAOC,MAAM,CAACC,UAAU;IAC7D,MAAMC,YAAYR,OAChB,8CAA8C;KAC7CS,MAAM,CAAC,CAAC,EAACC,OAAO,EAAC,GAAKA,QAAQC,MAAM,CACrC,yCAAyC;KACxCC,GAAG,CAAC,CAACC,SAAWhB,KAAKgB,QAAQ;YAAC;SAAiB;IAElD,MAAMR,OAAOS,OAAO;IAEpBV,OAAOW,GAAG,CAACC,KAAKC,SAAS,CAACT;IAE1B,IAAIU,eAAsB;IAE1B,KAAK,MAAM,EAACC,KAAK,EAAC,IAAIX,UAAW;QAC/B,IAAIW,UAAU,SAASD,eAAe;QACtC,IAAIC,UAAU,aAAaD,iBAAiB,SAASA,eAAe;IACtE;IAEA,OAAOA;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/actions/documents/validation/reporters/ndjsonReporter.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../../../src/actions/documents/validation/reporters/ndjsonReporter.ts"],"sourcesContent":["import omit from 'lodash-es/omit.js'\n\nimport {type BuiltInValidationReporter, Level} from '../../types.js'\n\nexport const ndjson: BuiltInValidationReporter = async ({output, worker}) => {\n let overallLevel: Level = 'info'\n\n for await (const item of worker.stream.validation()) {\n const result = omit(item, ['validatedCount'])\n\n if (result.level === 'error') overallLevel = 'error'\n if (result.level === 'warning' && overallLevel !== 'error') overallLevel = 'warning'\n\n if (result.markers.length > 0) {\n output.log(JSON.stringify(result))\n }\n }\n\n await worker.dispose()\n\n return overallLevel\n}\n"],"names":["omit","ndjson","output","worker","overallLevel","item","stream","validation","result","level","markers","length","log","JSON","stringify","dispose"],"mappings":"AAAA,OAAOA,UAAU,oBAAmB;AAIpC,OAAO,MAAMC,SAAoC,OAAO,EAACC,MAAM,EAAEC,MAAM,EAAC;IACtE,IAAIC,eAAsB;IAE1B,WAAW,MAAMC,QAAQF,OAAOG,MAAM,CAACC,UAAU,GAAI;QACnD,MAAMC,SAASR,KAAKK,MAAM;YAAC;SAAiB;QAE5C,IAAIG,OAAOC,KAAK,KAAK,SAASL,eAAe;QAC7C,IAAII,OAAOC,KAAK,KAAK,aAAaL,iBAAiB,SAASA,eAAe;QAE3E,IAAII,OAAOE,OAAO,CAACC,MAAM,GAAG,GAAG;YAC7BT,OAAOU,GAAG,CAACC,KAAKC,SAAS,CAACN;QAC5B;IACF;IAEA,MAAML,OAAOY,OAAO;IAEpB,OAAOX;AACT,EAAC"}
|
package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { styleText } from 'node:util';
|
|
2
|
+
import { logSymbols } from '@sanity/cli-core/ux';
|
|
3
|
+
import { convertToTree, formatTree, maxKeyLength } from './tree.js';
|
|
3
4
|
import { isTty, levelValues } from './util.js';
|
|
4
5
|
const levelHeaders = {
|
|
5
|
-
error: isTty ?
|
|
6
|
-
info: isTty ?
|
|
7
|
-
warning: isTty ?
|
|
6
|
+
error: isTty ? styleText('bold', styleText('bgRed', styleText('black', ' ERROR '))) : styleText('red', '[ERROR]'),
|
|
7
|
+
info: isTty ? styleText('bold', styleText('cyan', styleText('black', ' INFO '))) : styleText('cyan', '[INFO]'),
|
|
8
|
+
warning: isTty ? styleText('bold', styleText('bgYellow', styleText('black', ' WARN '))) : styleText('yellow', '[WARN]')
|
|
8
9
|
};
|
|
9
10
|
/**
|
|
10
11
|
* Creates a terminal hyperlink. Only outputs a hyperlink if the output is
|
|
11
12
|
* determined to be a TTY
|
|
12
|
-
*/ const link = (
|
|
13
|
+
*/ const link = (linkText, url)=>isTty ? `\u001B]8;;${url}\u0007${linkText}\u001B]8;;\u0007` : styleText('underline', linkText);
|
|
13
14
|
/**
|
|
14
15
|
* For sorting markers
|
|
15
16
|
*/ const compareLevels = (a, b)=>levelValues[a.level] - levelValues[b.level];
|
|
@@ -36,8 +37,8 @@ const levelHeaders = {
|
|
|
36
37
|
* Formats document validation results into a user-friendly tree structure
|
|
37
38
|
*/ export function formatDocumentValidation({ documentId, documentType, intentUrl, level, markers }) {
|
|
38
39
|
const tree = convertToTree(markers);
|
|
39
|
-
const documentTypeHeader = isTty ?
|
|
40
|
-
const header = `${levelHeaders[level]} ${documentTypeHeader} ${intentUrl ? link(documentId, intentUrl) :
|
|
40
|
+
const documentTypeHeader = isTty ? styleText('bgWhite', styleText('black', ` ${documentType} `)) : `[${documentType}]`;
|
|
41
|
+
const header = `${levelHeaders[level]} ${documentTypeHeader} ${intentUrl ? link(documentId, intentUrl) : styleText('underline', documentId)}`;
|
|
41
42
|
const paddingLength = Math.max(maxKeyLength(tree.children) + 2, 30);
|
|
42
43
|
const childErrors = formatTree({
|
|
43
44
|
getMessage: (marker)=>[
|