├── .github └── workflows │ └── validate-schemas.yml ├── .gitignore ├── LICENSE ├── README.md ├── SECURITY.md ├── api-extractor ├── api-extractor.schema.json ├── api-json.schema.json └── v7 │ ├── api-documenter.schema.json │ └── api-extractor.schema.json ├── azure-pipelines.yml ├── copilot ├── declarative-agent │ ├── v1.0 │ │ └── schema.json │ ├── v1.2 │ │ └── schema.json │ ├── v1.3 │ │ └── schema.json │ └── v1.4 │ │ └── schema.json └── plugin │ ├── v2.1 │ └── schema.json │ ├── v2.2 │ └── schema.json │ └── v2.3 │ └── schema.json ├── core-build ├── api-extractor.schema.json ├── copy-static-assets.schema.json ├── copy.schema.json ├── jest.schema.json ├── karma.schema.json ├── lint-cmd.schema.json ├── sass.schema.json ├── serve.schema.json ├── tsc-cmd.schema.json ├── tslint-cmd.schema.json ├── tslint.schema.json ├── typescript.schema.json └── webpack.schema.json ├── dotnet └── target-framework-moniker.schema.json ├── fabric ├── gitIntegration │ └── platformProperties │ │ ├── 2.0.0 │ │ └── schema.json │ │ └── 2.1.0 │ │ └── schema.json ├── item │ ├── graphInstance │ │ └── definition │ │ │ ├── dataSources │ │ │ └── 1.0.0 │ │ │ │ └── schema.json │ │ │ ├── graphDefinition │ │ │ └── 1.0.0 │ │ │ │ └── schema.json │ │ │ ├── graphType │ │ │ └── 1.0.0 │ │ │ │ └── schema.json │ │ │ └── stylingConfiguration │ │ │ └── 1.0.0 │ │ │ └── schema.json │ ├── graphqlApi │ │ └── definition │ │ │ └── 1.0.0 │ │ │ └── schema.json │ ├── metricSet │ │ └── definition │ │ │ ├── metricSet │ │ │ └── 1.0.0 │ │ │ │ └── schema.json │ │ │ └── semanticModel │ │ │ └── 1.0.0 │ │ │ └── schema.json │ ├── mirroredAzureDatabricksCatalog │ │ └── definition │ │ │ └── mirroredAzureDatabricksCatalogDefinition │ │ │ └── 1.0.0 │ │ │ └── schema.json │ ├── orgapp │ │ └── definition │ │ │ └── orgAppDefinition │ │ │ ├── 1.0.0 │ │ │ └── schema.json │ │ │ └── 2.0.0 │ │ │ └── schema.json │ ├── report │ │ ├── README.md │ │ ├── definition │ │ │ ├── bookmark │ │ │ │ ├── 1.0.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.1.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.2.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.3.0 │ │ │ │ │ └── schema.json │ │ │ │ └── CHANGELOG.md │ │ │ ├── bookmarksMetadata │ │ │ │ ├── 1.0.0 │ │ │ │ │ └── schema.json │ │ │ │ └── CHANGELOG.md │ │ │ ├── filterConfiguration │ │ │ │ ├── 1.0.0 │ │ │ │ │ ├── schema-embedded.json │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.1.0 │ │ │ │ │ ├── schema-embedded.json │ │ │ │ │ └── schema.json │ │ │ │ └── CHANGELOG.md │ │ │ ├── formattingObjectDefinitions │ │ │ │ ├── 1.0.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.1.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.2.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.3.0 │ │ │ │ │ └── schema.json │ │ │ │ └── CHANGELOG.md │ │ │ ├── page │ │ │ │ ├── 1.0.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.1.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.2.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.3.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.4.0 │ │ │ │ │ └── schema.json │ │ │ │ └── CHANGELOG.md │ │ │ ├── pagesMetadata │ │ │ │ ├── 1.0.0 │ │ │ │ │ └── schema.json │ │ │ │ └── CHANGELOG.md │ │ │ ├── report │ │ │ │ ├── 1.0.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.1.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.2.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.3.0 │ │ │ │ │ └── schema.json │ │ │ │ └── CHANGELOG.md │ │ │ ├── reportExtension │ │ │ │ ├── 1.0.0 │ │ │ │ │ └── schema.json │ │ │ │ └── CHANGELOG.md │ │ │ ├── semanticQuery │ │ │ │ ├── 1.0.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.1.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.2.0 │ │ │ │ │ └── schema.json │ │ │ │ └── CHANGELOG.md │ │ │ ├── versionMetadata │ │ │ │ ├── 1.0.0 │ │ │ │ │ └── schema.json │ │ │ │ └── CHANGELOG.md │ │ │ ├── visualConfiguration │ │ │ │ ├── 1.5.0 │ │ │ │ │ ├── schema-embedded.json │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.6.0 │ │ │ │ │ ├── schema-embedded.json │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.7.0 │ │ │ │ │ ├── schema-embedded.json │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.8.0 │ │ │ │ │ ├── schema-embedded.json │ │ │ │ │ └── schema.json │ │ │ │ ├── 2.0.0 │ │ │ │ │ ├── schema-embedded.json │ │ │ │ │ └── schema.json │ │ │ │ └── CHANGELOG.md │ │ │ ├── visualContainer │ │ │ │ ├── 1.0.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.1.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.2.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.3.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.4.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.5.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.6.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.7.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 1.8.0 │ │ │ │ │ └── schema.json │ │ │ │ ├── 2.0.0 │ │ │ │ │ └── schema.json │ │ │ │ └── CHANGELOG.md │ │ │ └── visualContainerMobileState │ │ │ │ ├── 1.0.0 │ │ │ │ └── schema.json │ │ │ │ ├── 1.1.0 │ │ │ │ └── schema.json │ │ │ │ ├── 1.2.0 │ │ │ │ └── schema.json │ │ │ │ ├── 1.3.0 │ │ │ │ └── schema.json │ │ │ │ ├── 1.4.0 │ │ │ │ └── schema.json │ │ │ │ ├── 1.5.0 │ │ │ │ └── schema.json │ │ │ │ ├── 2.0.0 │ │ │ │ └── schema.json │ │ │ │ └── CHANGELOG.md │ │ ├── definitionProperties │ │ │ └── 1.0.0 │ │ │ │ └── schema.json │ │ └── localSettings │ │ │ └── 1.0.0 │ │ │ └── schema.json │ ├── semanticModel │ │ ├── definitionProperties │ │ │ └── 1.0.0 │ │ │ │ └── schema.json │ │ ├── editorSettings │ │ │ └── 1.0.0 │ │ │ │ └── schema.json │ │ ├── localSettings │ │ │ └── 1.1.0 │ │ │ │ └── schema.json │ │ ├── modelReference │ │ │ └── 2.0.0 │ │ │ │ └── schema.json │ │ └── unappliedChanges │ │ │ └── 1.0.0 │ │ │ └── schema.json │ ├── userDataFunction │ │ └── definition │ │ │ ├── 1.0.0 │ │ │ └── schema.json │ │ │ ├── 1.1.0 │ │ │ └── schema.json │ │ │ └── CHANGELOG.md │ └── variableLibrary │ │ └── definition │ │ ├── AuxiliaryTypes │ │ └── 1.0.0 │ │ │ └── schema.json │ │ ├── common │ │ └── 1.0.0 │ │ │ └── schema.json │ │ ├── settings │ │ └── 1.0.0 │ │ │ └── schema.json │ │ ├── valueSet │ │ └── 1.0.0 │ │ │ └── schema.json │ │ └── variables │ │ └── 1.0.0 │ │ └── schema.json └── pbip │ └── pbipProperties │ └── 1.0.0 │ └── schema.json ├── heft ├── anything.schema.json ├── api-extractor-task.schema.json ├── heft-jest-plugin.schema.json ├── heft-sass-plugin.schema.json ├── heft.schema.json ├── node-service.schema.json ├── typescript.schema.json └── v0 │ ├── anything.schema.json │ ├── api-extractor-task.schema.json │ ├── copy-files-options.schema.json │ ├── delete-files-options.schema.json │ ├── heft-jest-plugin.schema.json │ ├── heft-lint-plugin.schema.json │ ├── heft-plugin.schema.json │ ├── heft-sass-plugin.schema.json │ ├── heft-webpack4-plugin.schema.json │ ├── heft-webpack5-plugin.schema.json │ ├── heft.schema.json │ ├── node-service.schema.json │ ├── run-script-options.schema.json │ ├── set-environment-variables-plugin.schema.json │ ├── storybook.schema.json │ └── typescript.schema.json ├── lockfile-explorer └── lockfile-lint.schema.json ├── office-js ├── custom-functions.schema.json ├── dynamic-ribbon.schema.json └── extended-manifest.schema.json ├── pnp ├── provisioning │ ├── 201909 │ │ └── extract-configuration.schema.json │ ├── 201910 │ │ └── extract-configuration.schema.json │ └── 202102 │ │ └── extract-configuration.schema.json └── samples │ └── v1.0 │ └── metadata-schema.json ├── rig-package └── rig.schema.json ├── rush ├── approved-packages.schema.json ├── rush.schema.json ├── v4 │ ├── approved-packages.schema.json │ ├── command-line.schema.json │ ├── rush.schema.json │ └── version-policies.schema.json ├── v5 │ ├── amazon-s3-config.schema.json │ ├── anything.schema.json │ ├── approved-packages.schema.json │ ├── artifactory.schema.json │ ├── azure-blob-storage-config.schema.json │ ├── azure-interactive-auth.schema.json │ ├── build-cache.schema.json │ ├── change-file.schema.json │ ├── changelog.schema.json │ ├── cobuild.schema.json │ ├── command-line.schema.json │ ├── common-versions.schema.json │ ├── credentials.schema.json │ ├── custom-tips.schema.json │ ├── deploy-scenario.schema.json │ ├── experiments.schema.json │ ├── pnpm-config.schema.json │ ├── redis-config.schema.json │ ├── repo-state.schema.json │ ├── rush-alerts.schema.json │ ├── rush-buildxl-graph-plugin.schema.json │ ├── rush-plugin-manifest.schema.json │ ├── rush-plugins.schema.json │ ├── rush-project-serve.schema.json │ ├── rush-project.schema.json │ ├── rush-serve-plugin-options.schema.json │ ├── rush-user-settings.schema.json │ ├── rush.schema.json │ ├── subspaces.schema.json │ └── version-policies.schema.json └── version-policies.schema.json ├── sp ├── column-formatting.schema.json ├── site-design-script-actions.schema.json ├── test.schema.json ├── v1 │ └── column-formatting.schema.json ├── v2 │ ├── board-formatting.schema.json │ ├── calendar-formatting.schema.json │ ├── column-formatting.schema.json │ ├── command-bar-formatting.schema.json │ ├── row-formatting.schema.json │ ├── tile-formatting.schema.json │ └── view-formatting.schema.json └── view-formatting.schema.json ├── spfx-build ├── config.1.0.schema.json ├── config.2.0.schema.json ├── configure-webpack-external-bundling.schema.json ├── configure-webpack.schema.json ├── copy-assets.schema.json ├── copy-static-assets.schema.json ├── deploy-azure-storage.schema.json ├── package-solution.schema.json ├── spfx-serve.schema.json └── write-manifests.schema.json ├── spfx ├── 1.10 │ ├── any-value.schema.json │ ├── client-side-application-manifest.schema.json │ ├── client-side-assembly-manifest.schema.json │ ├── client-side-component-loader-configuration.schema.json │ ├── client-side-component-manifest.schema.json │ ├── client-side-extension-manifest.schema.json │ ├── client-side-library-manifest.schema.json │ ├── client-side-manifest-base.schema.json │ ├── client-side-multi-version-manifest.schema.json │ ├── client-side-web-part-manifest.schema.json │ ├── command-set-extension-manifest.schema.json │ ├── guid.schema.json │ ├── localized-string.schema.json │ └── semver.schema.json ├── 1.11 │ ├── any-value.schema.json │ ├── client-side-application-manifest.schema.json │ ├── client-side-assembly-manifest.schema.json │ ├── client-side-component-loader-configuration.schema.json │ ├── client-side-component-manifest.schema.json │ ├── client-side-extension-manifest.schema.json │ ├── client-side-library-manifest.schema.json │ ├── client-side-manifest-base.schema.json │ ├── client-side-multi-version-manifest.schema.json │ ├── client-side-web-part-manifest.schema.json │ ├── command-set-extension-manifest.schema.json │ ├── guid.schema.json │ ├── localized-string.schema.json │ ├── package-solution.schema.json │ └── semver.schema.json ├── 1.12 │ ├── any-value.schema.json │ ├── client-side-application-manifest.schema.json │ ├── client-side-assembly-manifest.schema.json │ ├── client-side-component-loader-configuration.schema.json │ ├── client-side-component-manifest.schema.json │ ├── client-side-extension-manifest.schema.json │ ├── client-side-library-manifest.schema.json │ ├── client-side-manifest-base.schema.json │ ├── client-side-multi-version-manifest.schema.json │ ├── client-side-web-part-manifest.schema.json │ ├── command-set-extension-manifest.schema.json │ ├── guid.schema.json │ ├── localized-string.schema.json │ └── semver.schema.json ├── 1.13 │ ├── any-value.schema.json │ ├── client-side-application-manifest.schema.json │ ├── client-side-assembly-manifest.schema.json │ ├── client-side-component-loader-configuration.schema.json │ ├── client-side-component-manifest.schema.json │ ├── client-side-extension-manifest.schema.json │ ├── client-side-library-manifest.schema.json │ ├── client-side-manifest-base.schema.json │ ├── client-side-multi-version-manifest.schema.json │ ├── client-side-web-part-manifest.schema.json │ ├── command-set-extension-manifest.schema.json │ ├── guid.schema.json │ ├── localized-string.schema.json │ └── semver.schema.json ├── 1.14 │ ├── any-value.schema.json │ ├── client-side-application-manifest.schema.json │ ├── client-side-assembly-manifest.schema.json │ ├── client-side-component-loader-configuration.schema.json │ ├── client-side-component-manifest.schema.json │ ├── client-side-extension-manifest.schema.json │ ├── client-side-library-manifest.schema.json │ ├── client-side-manifest-base.schema.json │ ├── client-side-multi-version-manifest.schema.json │ ├── client-side-web-part-manifest.schema.json │ ├── command-set-extension-manifest.schema.json │ ├── guid.schema.json │ ├── localized-string.schema.json │ └── semver.schema.json ├── 1.9.1 │ ├── any-value.schema.json │ ├── client-side-application-manifest.schema.json │ ├── client-side-assembly-manifest.schema.json │ ├── client-side-component-loader-configuration.schema.json │ ├── client-side-component-manifest.schema.json │ ├── client-side-extension-manifest.schema.json │ ├── client-side-library-manifest.schema.json │ ├── client-side-web-part-manifest.schema.json │ ├── command-set-extension-manifest.schema.json │ ├── guid.schema.json │ ├── localized-string.schema.json │ └── semver.schema.json ├── adaptive-card-extension-manifest.schema.json ├── any-value.schema.json ├── client-side-application-manifest.schema.json ├── client-side-assembly-manifest.schema.json ├── client-side-component-loader-configuration.schema.json ├── client-side-component-manifest.schema.json ├── client-side-extension-manifest.schema.json ├── client-side-library-manifest.schema.json ├── client-side-manifest-base.schema.json ├── client-side-multi-version-manifest.schema.json ├── client-side-web-part-manifest.schema.json ├── command-set-extension-manifest.schema.json ├── guid.schema.json ├── localized-string.schema.json ├── prefab-app-manifest.schema.json └── semver.schema.json ├── teams-toolkit ├── teamsapp-yaml │ ├── 1.0.0 │ │ └── yaml.schema.json │ ├── 1.1.0 │ │ └── yaml.schema.json │ ├── v1.2 │ │ └── yaml.schema.json │ ├── v1.3 │ │ └── yaml.schema.json │ ├── v1.4 │ │ └── yaml.schema.json │ ├── v1.5 │ │ └── yaml.schema.json │ ├── v1.6 │ │ └── yaml.schema.json │ ├── v1.7 │ │ └── yaml.schema.json │ └── v1.8 │ │ └── yaml.schema.json └── teamsapptesttool-config │ └── 0.1.0 │ └── config.schema.json ├── teams ├── v1.0 │ └── MicrosoftTeams.schema.json ├── v1.1 │ └── MicrosoftTeams.schema.json ├── v1.10 │ ├── MicrosoftTeams.Localization.schema.json │ └── MicrosoftTeams.schema.json ├── v1.11 │ ├── MicrosoftTeams.Localization.schema.json │ └── MicrosoftTeams.schema.json ├── v1.12 │ ├── MicrosoftTeams.Localization.schema.json │ └── MicrosoftTeams.schema.json ├── v1.13 │ ├── MicrosoftTeams.Localization.schema.json │ └── MicrosoftTeams.schema.json ├── v1.14 │ ├── MicrosoftTeams.Localization.schema.json │ └── MicrosoftTeams.schema.json ├── v1.15 │ ├── MicrosoftTeams.Localization.schema.json │ └── MicrosoftTeams.schema.json ├── v1.16 │ ├── MicrosoftTeams.Localization.schema.json │ └── MicrosoftTeams.schema.json ├── v1.17 │ ├── MicrosoftTeams.Localization.schema.json │ ├── MicrosoftTeams.ResponseRenderingTemplate.schema.json │ └── MicrosoftTeams.schema.json ├── v1.19 │ ├── MicrosoftTeams.Localization.schema.json │ ├── MicrosoftTeams.ResponseRenderingTemplate.schema.json │ └── MicrosoftTeams.schema.json ├── v1.2 │ └── MicrosoftTeams.schema.json ├── v1.20 │ ├── MicrosoftTeams.Localization.schema.json │ ├── MicrosoftTeams.ResponseRenderingTemplate.schema.json │ └── MicrosoftTeams.schema.json ├── v1.21 │ ├── MicrosoftTeams.Localization.schema.json │ ├── MicrosoftTeams.ResponseRenderingTemplate.schema.json │ └── MicrosoftTeams.schema.json ├── v1.22 │ ├── MicrosoftTeams.Localization.schema.json │ ├── MicrosoftTeams.ResponseRenderingTemplate.schema.json │ └── MicrosoftTeams.schema.json ├── v1.3 │ └── MicrosoftTeams.schema.json ├── v1.4 │ └── MicrosoftTeams.schema.json ├── v1.5 │ ├── MicrosoftTeams.Localization.schema.json │ └── MicrosoftTeams.schema.json ├── v1.6 │ ├── MicrosoftTeams.Localization.schema.json │ └── MicrosoftTeams.schema.json ├── v1.7 │ ├── MicrosoftTeams.Localization.schema.json │ └── MicrosoftTeams.schema.json ├── v1.8 │ ├── MicrosoftTeams.Localization.schema.json │ └── MicrosoftTeams.schema.json ├── v1.9 │ ├── MicrosoftTeams.Localization.schema.json │ └── MicrosoftTeams.schema.json └── vDevPreview │ ├── MicrosoftTeams.Localization.schema.json │ ├── MicrosoftTeams.ResponseRenderingTemplate.schema.json │ └── MicrosoftTeams.schema.json ├── tests └── validate-schemas_test.py └── tsdoc └── v0 └── tsdoc.schema.json /.github/workflows/validate-schemas.yml: -------------------------------------------------------------------------------- 1 | name: validate schemas 2 | 3 | on: 4 | pull_request: 5 | paths: 6 | - 'fabric/item/**/*.json' 7 | 8 | jobs: 9 | test: 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - name: Checkout repository 14 | uses: actions/checkout@v3 15 | 16 | - name: Setup Python 17 | uses: actions/setup-python@v4 18 | with: 19 | python-version: '3.10' 20 | 21 | - name: Install dependencies 22 | run: | 23 | pip install pytest 24 | 25 | - name: Run tests 26 | run: | 27 | pytest -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Microsoft Corporation. All rights reserved. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Microsoft JSON schema publishing repository 2 | 3 | This repository contains schemas which are published at https://developer.microsoft.com/json-schemas/. Maintenance and publishing is performed by Microsoft employees from different organizations. 4 | 5 | Notice. You cannot access the schemas directly from above URL, they are simply hosted there based on the folder structure in this repository. Tools are pointing automatically to the exact schema files as needed. 6 | -------------------------------------------------------------------------------- /api-extractor/v7/api-documenter.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "API Documenter Configuration", 3 | "description": "Describes how the API Documenter tool will process a project.", 4 | "type": "object", 5 | "properties": { 6 | "$schema": { 7 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 8 | "type": "string" 9 | }, 10 | 11 | "outputTarget": { 12 | "description": "Specifies what type of documentation will be generated", 13 | "type": "string", 14 | "enum": ["docfx", "markdown"] 15 | }, 16 | 17 | "newlineKind": { 18 | "description": "Specifies what type of newlines API Documenter should use when writing output files. By default, the output files will be written with Windows-style newlines. To use POSIX-style newlines, specify \"lf\" instead. To use the OS's default newline kind, specify \"os\".", 19 | "type": "string", 20 | "enum": ["crlf", "lf", "os"], 21 | "default": "crlf" 22 | }, 23 | 24 | "newDocfxNamespaces": { 25 | "description": "This enables an experimental feature that will be officially released with the next major version of API Documenter. It requires DocFX 2.46 or newer. It enables documentation for namespaces and adds them to the table of contents. This will also affect file layout as namespaced items will be nested under a directory for the namespace instead of just within the package.", 26 | "type": "boolean" 27 | }, 28 | 29 | "plugins": { 30 | "description": "Specifies plugin packages to be loaded", 31 | "type": "array" 32 | }, 33 | 34 | "tableOfContents": { 35 | "description": "Configures how the table of contents is generated.", 36 | "type": "object", 37 | "additionalProperties": true 38 | }, 39 | 40 | "showInheritedMembers": { 41 | "description": "Specifies whether inherited members should also be shown on an API item's page.", 42 | "type": "boolean" 43 | } 44 | }, 45 | 46 | "additionalProperties": false 47 | } 48 | -------------------------------------------------------------------------------- /azure-pipelines.yml: -------------------------------------------------------------------------------- 1 | # Starter pipeline 2 | # Start with a minimal pipeline that you can customize to build and deploy your code. 3 | # Add steps that build, run tests, deploy, and more: 4 | # https://aka.ms/yaml 5 | 6 | trigger: 7 | - main 8 | 9 | pool: 10 | vmImage: 'windows-latest' 11 | 12 | steps: 13 | - script: echo Triggering staging deployment of JSON-SCHEMAS in github, this copy files to staging blob storage! 14 | displayName: 'Staging deployment JSON-SCHEMAS' 15 | 16 | - task: AzureFileCopy@5 17 | inputs: 18 | SourcePath: '$(Build.Repository.LocalPath)\*' 19 | azureSubscription: 'M365DevPortals-ContentDeployment-StagingBlob - STAGING' 20 | Destination: 'AzureBlob' 21 | storage: 'graphstagingblobstorage' 22 | ContainerName: 'content' 23 | BlobPrefix: 'json-schemas' 24 | additionalFlags: '--sync-copy' -------------------------------------------------------------------------------- /core-build/copy-static-assets.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "copy-static-assets Configuration", 3 | "description": "Defines which static assets should be copied from the src directory to the lib directory", 4 | 5 | "type": "object", 6 | "additionalProperties": false, 7 | "properties": { 8 | "$schema": { 9 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 10 | "type": "string" 11 | }, 12 | 13 | "includeExtensions": { 14 | "title": "Include Extensions", 15 | "description": "list of extensions to be copied", 16 | 17 | "type": "array", 18 | "uniqueItems": true, 19 | "items": { 20 | "type": "string" 21 | } 22 | }, 23 | 24 | "excludeExtensions": { 25 | "title": "Exclude Extensions", 26 | "description": "list of extensions not to be copied. Takes prescedence over includeExtensions", 27 | 28 | "type": "array", 29 | "uniqueItems": true, 30 | "items": { 31 | "type": "string" 32 | } 33 | }, 34 | 35 | "includeFiles": { 36 | "title": "Include Files", 37 | "description": "list of globs to be copied. Takes prescedence over extensions", 38 | 39 | "type": "array", 40 | "uniqueItems": true, 41 | "items": { 42 | "type": "string" 43 | } 44 | }, 45 | 46 | "excludeFiles": { 47 | "title": "Exclude Files", 48 | "description": "list of globs not to be copied. Takes precedence over includeFiles", 49 | 50 | "type": "array", 51 | "uniqueItems": true, 52 | "items": { 53 | "type": "string" 54 | } 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /core-build/copy.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Copy Task configuration", 3 | "description": "Defines the static assets which should be copied as a build step", 4 | 5 | "type": "object", 6 | "required": ["copyTo"], 7 | "properties": { 8 | "$schema": { 9 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 10 | "type": "string" 11 | }, 12 | "copyTo": { 13 | "description": "A mapping of destination folders to a list of files to get copied", 14 | "type": "object", 15 | "patternProperties": { 16 | "^[a-zA-Z0-9_@/-]+$": { 17 | "type": "array", 18 | "description": "A list of paths to the source files which get copied", 19 | "minItems": 1, 20 | "uniqueItems": true, 21 | "items": { 22 | "type": "string" 23 | } 24 | } 25 | } 26 | }, 27 | "shouldFlatten": { 28 | "description": "An optional property that indicates whether to keep the directory structure intact. By default it copies all files to the same directory level", 29 | "type": "boolean" 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /core-build/jest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Jest Task configuration", 3 | "description": "Defines Jest task configuration. Same definitions as Jest CLI has.", 4 | 5 | "type": "object", 6 | "properties": { 7 | "$schema": { 8 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 9 | "type": "string" 10 | }, 11 | "isEnabled": { 12 | "description": "Indicate whether the test is enabled", 13 | "type": "boolean", 14 | "default": false 15 | }, 16 | "cache": { 17 | "description": "Indicate whether Jest cache is enabled or not", 18 | "type": "boolean" 19 | }, 20 | "cacheDirectory": { 21 | "description": "The directory where Jest should store its cached information", 22 | "type": "string" 23 | }, 24 | "collectCoverageFrom": { 25 | "description": "Same as Jest CLI option collectCoverageFrom", 26 | "type": "array", 27 | "items": { 28 | "type": "string" 29 | } 30 | }, 31 | "coverage": { 32 | "description": "Same as Jest CLI option coverage", 33 | "type": "boolean", 34 | "default": true 35 | }, 36 | "coverageReporters": { 37 | "description": "Same as Jest CLI option coverageReporters", 38 | "type": "array", 39 | "items": { 40 | "type": "string" 41 | } 42 | }, 43 | "testPathIgnorePatterns": { 44 | "description": "Same as Jest CLI option testPathIgnorePatterns", 45 | "type": "array", 46 | "items": { 47 | "type": "string" 48 | } 49 | }, 50 | "moduleDirectories": { 51 | "description": "Same as Jest CLI option moduleDirectories", 52 | "type": "array", 53 | "items": { 54 | "type": "string" 55 | } 56 | }, 57 | "maxWorkers": { 58 | "description": "Same as Jest CLI option maxWorkers", 59 | "type": "number" 60 | }, 61 | "testMatch": { 62 | "description": "Same as Jest CLI option testMatch", 63 | "type": "array", 64 | "items": { 65 | "type": "string" 66 | } 67 | } 68 | }, 69 | "additionalProperties": false 70 | } 71 | -------------------------------------------------------------------------------- /core-build/karma.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Karma Tester Task Configuration", 3 | "description": "Defines parameters for the Karma testing utility", 4 | 5 | "type": "object", 6 | "additionalProperties": false, 7 | "properties": { 8 | "$schema": { 9 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 10 | "type": "string" 11 | }, 12 | "karmaConfigPath": { 13 | "title": "Path to the karma config file", 14 | "description": "Sets the path to the Karma Configuration file to use. If one has not been created, this task will prompt the user to run it again with the --initkarma flag.", 15 | "type": "string" 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /core-build/lint-cmd.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | 4 | "title": "Lint Task configuration", 5 | "description": "Defines configuration options for the lint task which supports both ESLint or TSLint", 6 | 7 | "type": "object", 8 | "additionalProperties": false, 9 | "properties": { 10 | "$schema": { 11 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 12 | "type": "string" 13 | }, 14 | "buildDirectory": { 15 | "description": "The directory in which TSLint or ESLint should be invoked.", 16 | "type": "string" 17 | }, 18 | "displayAsError": { 19 | "description": "If true, displays warnings as errors. Defaults to false.", 20 | "type": "boolean" 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /core-build/tsc-cmd.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | 4 | "title": "Typescript Task configuration", 5 | "description": "Defines configuration options for the typescript compilation task", 6 | 7 | "type": "object", 8 | "additionalProperties": false, 9 | "properties": { 10 | "$schema": { 11 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 12 | "type": "string" 13 | }, 14 | "overridePackagePath": { 15 | "description": "The path to the typescript compiler package to use.", 16 | "type": "string" 17 | }, 18 | "staticMatch": { 19 | "description": "Glob matches for files to be passed through the build", 20 | "type": "array", 21 | "items": { 22 | "type": "string", 23 | "minLength": 1 24 | }, 25 | "minItems": 1 26 | }, 27 | "customArgs": { 28 | "description": "Optional list of custom args to pass to \"tsc\"", 29 | "type": "array", 30 | "items": { 31 | "type": "string", 32 | "minLength": 1 33 | }, 34 | "minItems": 1 35 | }, 36 | "buildDirectory": { 37 | "description": "The directory in which the typescript compiler should be invoked.", 38 | "type": "string" 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /core-build/tslint-cmd.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | 4 | "title": "Tslint Task configuration", 5 | "description": "Defines configuration options for the tslint task", 6 | 7 | "type": "object", 8 | "additionalProperties": false, 9 | "properties": { 10 | "$schema": { 11 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 12 | "type": "string" 13 | }, 14 | "overridePackagePath": { 15 | "description": "The path to the typescript compiler package to use.", 16 | "type": "string" 17 | }, 18 | "customArgs": { 19 | "description": "Optional list of custom args to pass to \"tslint\"", 20 | "type": "array", 21 | "items": { 22 | "type": "string", 23 | "minLength": 1 24 | }, 25 | "minItems": 1 26 | }, 27 | "buildDirectory": { 28 | "description": "The directory in which tslint should be invoked.", 29 | "type": "string" 30 | }, 31 | "displayAsError": { 32 | "description": "If true, displays warnings as errors. Defaults to false.", 33 | "type": "boolean" 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /core-build/tslint.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | 4 | "title": "Typescript Linter Task configuration", 5 | "description": "Defines configuration options for the tslint tool", 6 | 7 | "type": "object", 8 | "additionalProperties": false, 9 | "properties": { 10 | "$schema": { 11 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 12 | "type": "string" 13 | }, 14 | "lintConfig": { 15 | "description": "A TsLint configuration object, options are from https://github.com/palantir/tslint#configuration", 16 | "type": "object" 17 | }, 18 | "rulesDirectory": { 19 | "description": "Directories to search for custom linter rules", 20 | "oneOf": [ 21 | { 22 | "type": "string", 23 | "minLength": 1 24 | }, 25 | { 26 | "type": "array", 27 | "items": { 28 | "type": "string", 29 | "minLength": 1 30 | }, 31 | "minItems": 1 32 | } 33 | ] 34 | }, 35 | "sourceMatch": { 36 | "description": "An array of file selectors (glob syntax) which the linter should analyze", 37 | "type": "array", 38 | "items": { 39 | "type": "string", 40 | "minLength": 1 41 | }, 42 | "minItems": 1 43 | }, 44 | "displayAsWarning": { 45 | "description": "If true, displays warnings as errors. If the reporter function is overwritten, it should reference this flag. Defaults to `false`.", 46 | "type": "boolean" 47 | }, 48 | "removeExistingRules": { 49 | "description": "If true, the lintConfig rules which were previously set will be removed. This flag is useful for ensuring that there are no rules activated from previous calls to setConfig(). Default is 'false'.", 50 | "type": "boolean" 51 | }, 52 | "useDefaultConfigAsBase": { 53 | "description": "If false, does not use a default tslint configuration as the basis for creating the list of active rules. Defaults to 'true'", 54 | "type": "boolean" 55 | } 56 | } 57 | } -------------------------------------------------------------------------------- /core-build/typescript.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | 4 | "title": "Typescript Task configuration", 5 | "description": "Defines configuration options for the typescript compilation task", 6 | 7 | "type": "object", 8 | "additionalProperties": false, 9 | "properties": { 10 | "$schema": { 11 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 12 | "type": "string" 13 | }, 14 | "failBuildOnErrors": { 15 | "description": "Fails the build when errors occur", 16 | "type": "boolean" 17 | }, 18 | "sourceMatch": { 19 | "description": "An array of file selectors (glob syntax) which should be compiled by Typescript", 20 | "type": "array", 21 | "items": { 22 | "type": "string", 23 | "minLength": 1 24 | }, 25 | "minItems": 1 26 | }, 27 | "staticMatch": { 28 | "description": "Glob matches for files to be passed through the build", 29 | "type": "array", 30 | "items": { 31 | "type": "string", 32 | "minLength": 1 33 | }, 34 | "minItems": 1 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /core-build/webpack.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Webpack Task Configuration", 3 | "description": "Defines parameters for the webpack bundler", 4 | 5 | "type": "object", 6 | "additionalProperties": false, 7 | "properties": { 8 | "$schema": { 9 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 10 | "type": "string" 11 | }, 12 | "config": { 13 | "title": "WebPack configuration object.", 14 | "description": "If a path is specified by `configPath,` and it is valid, this option is ignored.", 15 | 16 | "type": "object", 17 | "additionalProperties": true 18 | }, 19 | 20 | "configPath": { 21 | "title": "Path to a webpack config", 22 | "description": "A path to a config takes precedence over the `config` option.", 23 | "type": "string" 24 | }, 25 | 26 | "suppressWarnings": { 27 | "title": "Warnings To Suppress", 28 | "description": "If a warning matches any of these, it will not be logged.", 29 | "type": "array", 30 | "items": { 31 | "type": "string" 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /fabric/gitIntegration/platformProperties/2.0.0/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "title": "Fabric item Git integration configuration", 4 | "description": "Configuration file used by fabric Git integration on items in Git repositories", 5 | "type": "object", 6 | "properties": { 7 | "$schema": { 8 | "type": "string", 9 | "description": "Link to json schema in json repository" 10 | }, 11 | "metadata": { 12 | "type": "object", 13 | "properties": { 14 | "type": { 15 | "type": "string", 16 | "description": "The type of the item" 17 | }, 18 | "displayName": { 19 | "type": "string", 20 | "description": "How the item is listed in the UI" 21 | }, 22 | "description": { 23 | "type": "string", 24 | "description": "Verbal description of the item, as written by the author" 25 | } 26 | }, 27 | "required": ["type", "displayName"] 28 | }, 29 | "config": { 30 | "type": "object", 31 | "properties": { 32 | "version": { 33 | "type": "string", 34 | "description": "The version of the metadata" 35 | }, 36 | "logicalId": { 37 | "type": "string", 38 | "description": "Logical ID of the item" 39 | } 40 | }, 41 | "required": ["version", "logicalId"] 42 | } 43 | }, 44 | "required": ["$schema", "metadata", "config"] 45 | } -------------------------------------------------------------------------------- /fabric/gitIntegration/platformProperties/2.1.0/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "title": "Fabric item Git integration configuration", 4 | "description": "Configuration file used by fabric Git integration on items in Git repositories", 5 | "type": "object", 6 | "properties": { 7 | "$schema": { 8 | "type": "string", 9 | "description": "Link to json schema in json repository" 10 | }, 11 | "metadata": { 12 | "type": "object", 13 | "properties": { 14 | "type": { 15 | "type": "string", 16 | "description": "The type of the item" 17 | }, 18 | "displayName": { 19 | "type": "string", 20 | "description": "How the item is listed in the UI" 21 | }, 22 | "description": { 23 | "type": "string", 24 | "description": "Verbal description of the item, as written by the author" 25 | }, 26 | "sensitivityLabelId": { 27 | "type": "string", 28 | "description": "Unique identifier for the sensitivity label applied to the item" 29 | } 30 | }, 31 | "required": ["type", "displayName"] 32 | }, 33 | "config": { 34 | "type": "object", 35 | "properties": { 36 | "version": { 37 | "type": "string", 38 | "description": "The version of the metadata" 39 | }, 40 | "logicalId": { 41 | "type": "string", 42 | "description": "Logical ID of the item" 43 | } 44 | }, 45 | "required": ["version", "logicalId"] 46 | } 47 | }, 48 | "required": ["$schema", "metadata", "config"] 49 | } 50 | -------------------------------------------------------------------------------- /fabric/item/graphInstance/definition/dataSources/1.0.0/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$id": "https://developer.microsoft.com/json-schemas/fabric/item/graphInstance/definition/dataSources/1.0.0/schema.json", 3 | "$schema": "http://json-schema.org/draft-07/schema#", 4 | "title": "DataSources", 5 | "type": "object", 6 | "properties": { 7 | "schemaVersion": { 8 | "type": "string", 9 | "pattern": "^\\d+\\.\\d+\\.\\d+$" 10 | }, 11 | "dataSources": { 12 | "type": "array", 13 | "items": { 14 | "type": "object", 15 | "properties": { 16 | "name": { 17 | "type": "string" 18 | }, 19 | "type": { 20 | "type": "string", 21 | "enum": ["DeltaTable"] 22 | }, 23 | "properties": { 24 | "type": "object", 25 | "properties": { 26 | "path": { 27 | "type": "string", 28 | "format": "uri" 29 | } 30 | }, 31 | "required": ["path"] 32 | } 33 | }, 34 | "required": ["name", "type", "properties"] 35 | } 36 | } 37 | }, 38 | "required": ["schemaVersion", "dataSources"] 39 | } -------------------------------------------------------------------------------- /fabric/item/graphInstance/definition/stylingConfiguration/1.0.0/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$id": "https://developer.microsoft.com/json-schemas/fabric/item/graphInstance/definition/stylingConfiguration/1.0.0/schema.json", 3 | "$schema": "http://json-schema.org/draft-07/schema#", 4 | "title": "StylingConfiguration", 5 | "type": "object", 6 | "properties": { 7 | "schemaVersion": { 8 | "type": "string", 9 | "pattern": "^\\d+\\.\\d+\\.\\d+$" 10 | }, 11 | "modelLayout": { 12 | "type": "object", 13 | "properties": { 14 | "positions": { 15 | "type": "object", 16 | "additionalProperties": { 17 | "type": "object", 18 | "properties": { 19 | "x": { 20 | "type": "number" 21 | }, 22 | "y": { 23 | "type": "number" 24 | } 25 | }, 26 | "required": ["x", "y"] 27 | } 28 | }, 29 | "styles": { 30 | "type": "object", 31 | "additionalProperties": { 32 | "type": "object", 33 | "properties": { 34 | "size": { 35 | "type": "number" 36 | } 37 | }, 38 | "required": ["size"] 39 | } 40 | }, 41 | "pan": { 42 | "type": "object", 43 | "properties": { 44 | "x": { 45 | "type": "number" 46 | }, 47 | "y": { 48 | "type": "number" 49 | } 50 | }, 51 | "required": ["x", "y"] 52 | }, 53 | "zoomLevel": { 54 | "type": "number" 55 | } 56 | }, 57 | "required": ["positions", "styles", "pan", "zoomLevel"] 58 | }, 59 | "visualFormat": { 60 | "type": "object" 61 | } 62 | }, 63 | "required": ["schemaVersion", "modelLayout", "visualFormat"] 64 | } -------------------------------------------------------------------------------- /fabric/item/graphqlApi/definition/1.0.0/schema.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /fabric/item/metricSet/definition/metricSet/1.0.0/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$id": "https://developer.microsoft.com/json-schemas/fabric/item/metricSet/definition/metricSet/1.0.0/schema.json", 3 | "$schema": "http://json-schema.org/draft-07/schema#", 4 | "title": "MetricSet", 5 | "type": "object", 6 | "properties": { 7 | "objectId": { 8 | "type": "string", 9 | "format": "uuid" 10 | }, 11 | "displayName": { 12 | "type": [ 13 | "string", 14 | "null" 15 | ] 16 | }, 17 | "metrics": { 18 | "type": [ 19 | "array", 20 | "null" 21 | ], 22 | "items": { 23 | "$ref": "../../semanticModel/1.0.0/schema.json" 24 | } 25 | }, 26 | "createdTime": { 27 | "type": "string", 28 | "format": "date-time" 29 | }, 30 | "lastModifiedTime": { 31 | "type": "string", 32 | "format": "date-time" 33 | }, 34 | "lastModifiedBy": { 35 | "type": [ 36 | "string", 37 | "null" 38 | ] 39 | }, 40 | "owner": { 41 | "type": [ 42 | "string", 43 | "null" 44 | ] 45 | }, 46 | "description": { 47 | "type": [ 48 | "string", 49 | "null" 50 | ] 51 | }, 52 | "folderObjectId": { 53 | "type": "string", 54 | "format": "uuid" 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /fabric/item/metricSet/definition/semanticModel/1.0.0/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$id": "https://developer.microsoft.com/json-schemas/fabric/item/metricSet/definition/semanticModel/1.0.0/schema.json", 3 | "$schema": "http://json-schema.org/draft-07/schema#", 4 | "title": "SemanticMetricContract", 5 | "type": "object", 6 | "properties": { 7 | "name": { 8 | "type": [ 9 | "string", 10 | "null" 11 | ] 12 | }, 13 | "description": { 14 | "type": [ 15 | "string", 16 | "null" 17 | ] 18 | }, 19 | "metricSetId": { 20 | "type": [ 21 | "string", 22 | "null" 23 | ], 24 | "format": "uuid" 25 | }, 26 | "id": { 27 | "type": "string", 28 | "format": "uuid" 29 | }, 30 | "createdTime": { 31 | "type": "string", 32 | "format": "date-time" 33 | }, 34 | "lastModifiedTime": { 35 | "type": "string", 36 | "format": "date-time" 37 | }, 38 | "lastModifiedBy": { 39 | "type": [ 40 | "string", 41 | "null" 42 | ] 43 | }, 44 | "owner": { 45 | "type": [ 46 | "string", 47 | "null" 48 | ] 49 | }, 50 | "ownerAadAppId": { 51 | "type": [ 52 | "string", 53 | "null" 54 | ], 55 | "format": "uuid" 56 | }, 57 | "lastModifiedByAadAppId": { 58 | "type": [ 59 | "string", 60 | "null" 61 | ], 62 | "format": "uuid" 63 | }, 64 | "isFollowed": { 65 | "type": [ 66 | "boolean", 67 | "null" 68 | ] 69 | }, 70 | "ownerUser": { 71 | "type": [ 72 | "object", 73 | "null" 74 | ], 75 | "properties": { 76 | "givenName": { 77 | "type": [ 78 | "string", 79 | "null" 80 | ] 81 | }, 82 | "familyName": { 83 | "type": [ 84 | "string", 85 | "null" 86 | ] 87 | }, 88 | "emailAddress": { 89 | "type": [ 90 | "string", 91 | "null" 92 | ] 93 | }, 94 | "aadAppId": { 95 | "type": [ 96 | "string", 97 | "null" 98 | ], 99 | "format": "uuid" 100 | }, 101 | "userPrincipalName": { 102 | "type": [ 103 | "string", 104 | "null" 105 | ] 106 | } 107 | } 108 | }, 109 | "definition": { 110 | "type": [ 111 | "object", 112 | "null" 113 | ] 114 | } 115 | } 116 | } 117 | -------------------------------------------------------------------------------- /fabric/item/report/definition/bookmark/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Bookmark Versions 2 | 3 | ### 1.3.0 4 | 5 | Released in: May 2025
6 | Notes: 7 | - Added `sortDirection` property to `ParameterState` definition 8 | - Updates the reference to the `formattingObjectDefinitions` schema from `1.2.0` to `1.3.0` 9 | 10 | ### 1.2.0 11 | 12 | Released in: September 2024
13 | Notes: 14 | - Updates the reference to the `formattingObjectDefinitions` schema from `1.1.0` to `1.2.0` 15 | - Updates the reference to the `semanticQuery` schema from `1.1.0` to `1.2.0` 16 | 17 | ### 1.1.0 18 | 19 | Released in: August 2024
20 | Notes: 21 | - Updates the reference to the `formattingObjectDefinitions` schema from `1.0.0` to `1.1.0` 22 | - Updates the reference to the `semanticQuery` schema from `1.0.0` to `1.1.0` 23 | 24 | ### 1.0.0 25 | 26 | Released in: June 2024
27 | Notes: 28 | - Initial release of the bookmark schema 29 | - See [Power BI enhanced report format (PBIR) in Power BI Desktop developer mode (Preview)](https://powerbi.microsoft.com/en-us/blog/power-bi-enhanced-report-format-pbir-in-power-bi-desktop-developer-mode-preview/) -------------------------------------------------------------------------------- /fabric/item/report/definition/bookmarksMetadata/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Bookmarks Metadata Versions 2 | 3 | ### 1.0.0 4 | 5 | Released in: June 2024
6 | Notes: 7 | - Initial release of the bookmarks metadata schema 8 | - See [Power BI enhanced report format (PBIR) in Power BI Desktop developer mode (Preview)](https://powerbi.microsoft.com/en-us/blog/power-bi-enhanced-report-format-pbir-in-power-bi-desktop-developer-mode-preview/) -------------------------------------------------------------------------------- /fabric/item/report/definition/filterConfiguration/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Filter Configuration Versions 2 | 3 | ### 1.1.0 4 | 5 | Released in: May 2025
6 | Notes: 7 | - Updates the reference to the `formattingObjectDefinitions` schema from `1.2.0` to `1.3.0` 8 | 9 | ### 1.0.0 10 | 11 | Released in: December 2024
12 | Notes: 13 | - Initial release of the separated filter configuration schema -------------------------------------------------------------------------------- /fabric/item/report/definition/formattingObjectDefinitions/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Formatting Object Definitions Versions 2 | 3 | ### 1.3.0 4 | 5 | Released in: May 2025
6 | Notes: 7 | - Added `hierarchyMatching` property to `Selector` definition 8 | 9 | ### 1.2.0 10 | 11 | Released in: September 2024
12 | Notes: 13 | - Updates the reference to the `semanticQuery` schema from `1.1.0` to `1.2.0` 14 | 15 | ### 1.1.0 16 | 17 | Released in: August 2024
18 | Notes: 19 | - Updates the reference to the `semanticQuery` schema from `1.0.0` to `1.1.0` 20 | 21 | ### 1.0.0 22 | 23 | Released in: June 2024
24 | Notes: 25 | - Initial release of the formatting object definitions schema 26 | - See [Power BI enhanced report format (PBIR) in Power BI Desktop developer mode (Preview)](https://powerbi.microsoft.com/en-us/blog/power-bi-enhanced-report-format-pbir-in-power-bi-desktop-developer-mode-preview/) -------------------------------------------------------------------------------- /fabric/item/report/definition/page/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Page Versions 2 | 3 | ### 1.4.0 4 | 5 | Released in: May 2025
6 | Notes: 7 | - Updates the reference to the `filterConfiguration` schema from `1.0.0` to `1.1.0` 8 | - Updates the reference to the `formattingObjectDefinitions` schema from `1.2.0` to `1.3.0` 9 | 10 | ### 1.3.0 11 | 12 | Released in: December 2024
13 | Notes: 14 | - Added an optional `type` property to address a bug where page type formatting was not persisting 15 | - Now references separated `filterConfiguration` schema 16 | 17 | ### 1.2.0 18 | 19 | Released in: September 2024
20 | Notes: 21 | - Updates the reference to the `formattingObjectDefinitions` schema from `1.1.0` to `1.2.0` 22 | - Updates the reference to the `semanticQuery` schema from `1.1.0` to `1.2.0` 23 | 24 | ### 1.1.0 25 | 26 | Released in: August 2024
27 | Notes: 28 | - Updates the reference to the `formattingObjectDefinitions` schema from `1.0.0` to `1.1.0` 29 | - Updates the reference to the `semanticQuery` schema from `1.0.0` to `1.1.0` 30 | 31 | ### 1.0.0 32 | 33 | Released in: June 2024
34 | Notes: 35 | - Initial release of the page schema 36 | - See [Power BI enhanced report format (PBIR) in Power BI Desktop developer mode (Preview)](https://powerbi.microsoft.com/en-us/blog/power-bi-enhanced-report-format-pbir-in-power-bi-desktop-developer-mode-preview/) -------------------------------------------------------------------------------- /fabric/item/report/definition/pagesMetadata/1.0.0/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$id": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/pagesMetadata/1.0.0/schema.json", 3 | "$schema": "http://json-schema.org/draft-07/schema#", 4 | "title": "Pages metadata", 5 | "description": "Defines additional information about the report's pages.", 6 | "type": "object", 7 | "properties": { 8 | "pageOrder": { 9 | "description": "Defines the order in which report pages are rendered (page names). If omitted, they will be ordered by display name by default.\nIf there are pages in this list, that don't have a corresponding definition, they will be ignored.\nPages with definitions, but not in this list will be ordered by display name and appended to the end, after pages that exist in this list.", 10 | "type": "array", 11 | "items": { 12 | "type": "string" 13 | } 14 | }, 15 | "activePageName": { 16 | "description": "Report will open on this page by default - if omitted, report will open on first page based on order defined by pageOrder semantics.", 17 | "type": "string" 18 | }, 19 | "$schema": { 20 | "description": "Defines the schema to use for an item.", 21 | "type": "string", 22 | "const": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/pagesMetadata/1.0.0/schema.json" 23 | } 24 | }, 25 | "additionalProperties": false, 26 | "required": [ 27 | "$schema" 28 | ] 29 | } -------------------------------------------------------------------------------- /fabric/item/report/definition/pagesMetadata/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Pages Metadata Versions 2 | 3 | ### 1.0.0 4 | 5 | Released in: June 2024
6 | Notes: 7 | - Initial release of the pages metadata schema 8 | - See [Power BI enhanced report format (PBIR) in Power BI Desktop developer mode (Preview)](https://powerbi.microsoft.com/en-us/blog/power-bi-enhanced-report-format-pbir-in-power-bi-desktop-developer-mode-preview/) -------------------------------------------------------------------------------- /fabric/item/report/definition/report/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Report Versions 2 | 3 | ### 1.3.0 4 | 5 | Released in: May 2025
6 | Notes: 7 | - Now references separated `filterConfiguration` schema (`1.1.0`) 8 | - Updates the reference to the `formattingObjectDefinitions` schema from `1.2.0` to `1.3.0` 9 | 10 | ### 1.2.0 11 | 12 | Released in: September 2024
13 | Notes: 14 | - Updates the reference to the `formattingObjectDefinitions` schema from `1.1.0` to `1.2.0` 15 | - Updates the reference to the `semanticQuery` schema from `1.1.0` to `1.2.0` 16 | 17 | ### 1.1.0 18 | 19 | Released in: August 2024
20 | Notes: 21 | - Updates the reference to the `formattingObjectDefinitions` schema from `1.0.0` to `1.1.0` 22 | - Updates the reference to the `semanticQuery` schema from `1.0.0` to `1.1.0` 23 | - Adds a `VisualTopN` const to the `#/definitions/FilterContainer` property `type` 24 | 25 | ### 1.0.0 26 | 27 | Released in: June 2024
28 | Notes: 29 | - Initial release of the report schema 30 | - See [Power BI enhanced report format (PBIR) in Power BI Desktop developer mode (Preview)](https://powerbi.microsoft.com/en-us/blog/power-bi-enhanced-report-format-pbir-in-power-bi-desktop-developer-mode-preview/) -------------------------------------------------------------------------------- /fabric/item/report/definition/reportExtension/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Report Extension Versions 2 | 3 | ### 1.0.0 4 | 5 | Released in: June 2024
6 | Notes: 7 | - Initial release of the report extension schema 8 | - See [Power BI enhanced report format (PBIR) in Power BI Desktop developer mode (Preview)](https://powerbi.microsoft.com/en-us/blog/power-bi-enhanced-report-format-pbir-in-power-bi-desktop-developer-mode-preview/) -------------------------------------------------------------------------------- /fabric/item/report/definition/semanticQuery/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Semantic Query Versions 2 | 3 | ### 1.2.0 4 | 5 | Released in: September 2024
6 | Notes: 7 | - Added data type to QueryNativeVisualCalc which allows users to specify the data type of the visual calculation. It overwrites the default dataType of Double 8 | 9 | ### 1.1.0 10 | 11 | Released in: August 2024
12 | Notes: 13 | - Adds a new definition `#/definitions/QueryVisualTopNExpression` 14 | - Adds a new `oneOf` option `VisualTopN` of type `#/definitions/QueryVisualTopNExpression` to the definition `#/definitions/QueryExpressionContainer` 15 | 16 | ### 1.0.0 17 | 18 | Released in: June 2024
19 | Notes: 20 | - Initial release of the semantic query schema 21 | - See [Power BI enhanced report format (PBIR) in Power BI Desktop developer mode (Preview)](https://powerbi.microsoft.com/en-us/blog/power-bi-enhanced-report-format-pbir-in-power-bi-desktop-developer-mode-preview/) -------------------------------------------------------------------------------- /fabric/item/report/definition/versionMetadata/1.0.0/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$id": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/versionMetadata/1.0.0/schema.json", 3 | "$schema": "http://json-schema.org/draft-07/schema#", 4 | "title": "Version metadata", 5 | "description": "Defines version information about the report definition.", 6 | "type": "object", 7 | "properties": { 8 | "$schema": { 9 | "description": "Defines the schema to use for an item.", 10 | "type": "string", 11 | "const": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/versionMetadata/1.0.0/schema.json" 12 | }, 13 | "version": { 14 | "description": "Defines the report definition version, format of version is major.minor.patch\n- major: >=1\n- minor: >=0\n- patch: always 0", 15 | "pattern": "^[1-9][0-9]*\\.(0|[1-9][0-9]*)\\.0$", 16 | "type": "string" 17 | } 18 | }, 19 | "additionalProperties": false, 20 | "required": [ 21 | "$schema", 22 | "version" 23 | ] 24 | } -------------------------------------------------------------------------------- /fabric/item/report/definition/versionMetadata/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Version Metadata Versions 2 | 3 | ### 1.0.0 4 | 5 | Released in: June 2024
6 | Notes: 7 | - Initial release of the version metadata schema 8 | - See [Power BI enhanced report format (PBIR) in Power BI Desktop developer mode (Preview)](https://powerbi.microsoft.com/en-us/blog/power-bi-enhanced-report-format-pbir-in-power-bi-desktop-developer-mode-preview/) -------------------------------------------------------------------------------- /fabric/item/report/definition/visualConfiguration/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Visual Configuration Versions 2 | 3 | ### 2.0.0 4 | 5 | Released in: May 2025
6 | Notes: 7 | - Updates IDs for some advanced slicer objects. 8 | 9 | ### 1.8.0 10 | 11 | Released in: May 2025
12 | Notes: 13 | - Added `sortDirection` property to `RoleFieldParameter` definition 14 | - Updates the reference to the `formattingObjectDefinitions` schema from `1.2.0` to `1.3.0` 15 | 16 | ### 1.7.0 17 | 18 | Released in: April 2025
19 | Notes: 20 | - "Includes Reference Layer" for "Auto Zoom" now set to false for Azure Maps Visuals 21 | 22 | ### 1.6.0 23 | 24 | Released in: March 2025
25 | Notes: 26 | - Reference line improvements: Shade area, etc. 27 | - Button slicer improvements: Images and expansion states, etc. 28 | 29 | ### 1.5.0 30 | 31 | Released in: December 2024
32 | Notes: 33 | - Initial release of the separated visual configuration schema (as 1.5.0 to stay in line with visual container) -------------------------------------------------------------------------------- /fabric/item/report/definition/visualContainerMobileState/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Visual Container Mobile State Versions 2 | 3 | ### 2.0.0 4 | 5 | Released in: May 2025
6 | Notes: 7 | - Updates the reference to the `visualConfiguration` schema from `1.8.0` to `2.0.0` 8 | 9 | ### 1.5.0 10 | 11 | Released in: May 2025
12 | Notes: 13 | - Updates the reference to the `formattingObjectDefinitions` schema from `1.2.0` to `1.3.0` 14 | - Updates the reference to the `visualConfiguration` schema from `1.7.0` to `1.8.0` 15 | 16 | ### 1.4.0 17 | 18 | Released in: April 2025
19 | Notes: 20 | - "Includes Reference Layer" for "Auto Zoom" now set to false for Azure Maps Visuals 21 | 22 | ### 1.3.0 23 | 24 | Released in: March 2025
25 | Notes: 26 | - Reference line improvements: Shade area, etc. 27 | - Button slicer improvements: Images and expansion states, etc. 28 | 29 | ### 1.2.0 30 | 31 | Released in: September 2024
32 | Notes: 33 | - Updates the reference to the `formattingObjectDefinitions` schema from `1.1.0` to `1.2.0` 34 | 35 | ### 1.1.0 36 | 37 | Released in: August 2024
38 | Notes: 39 | - Updates the reference to the `formattingObjectDefinitions` schema from `1.0.0` to `1.1.0` 40 | - Adds a new optional property `width` to the definition `#/definitions/Border` 41 | - Adds a new optional property `showSetAlertButton` to the definition `#/definitions/VisualHeader` 42 | - Adds a new optional property `showFollowVisualButton` to the definition `#/definitions/VisualHeader` 43 | 44 | ### 1.0.0 45 | 46 | Released in: June 2024
47 | Notes: 48 | - Initial release of the visual container mobile state schema 49 | - See [Power BI enhanced report format (PBIR) in Power BI Desktop developer mode (Preview)](https://powerbi.microsoft.com/en-us/blog/power-bi-enhanced-report-format-pbir-in-power-bi-desktop-developer-mode-preview/) -------------------------------------------------------------------------------- /fabric/item/report/localSettings/1.0.0/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "$id": "https://developer.microsoft.com/json-schemas/fabric/item/report/localSettings/1.0.0/schema.json", 4 | "title": "ReportLocalSettings", 5 | "description": "The ReportLocalSettings stored as localSettings.json holds report settings that only apply for the current user/machine. This file is optional.", 6 | "definitions": { 7 | "ReportRemoteArtifact": { 8 | "type": "object", 9 | "additionalProperties": false, 10 | "properties": { 11 | "reportId": { 12 | "title": "ReportId", 13 | "description": "The ID of a published report created from this definition.", 14 | "type": [ 15 | "string", 16 | "null" 17 | ] 18 | } 19 | }, 20 | "required": [ 21 | "reportId" 22 | ] 23 | } 24 | }, 25 | "type": "object", 26 | "additionalProperties": false, 27 | "properties": { 28 | "$schema": { 29 | "type": "string", 30 | "pattern": "^https://developer.microsoft.com/json-schemas/fabric/item/report/localSettings/1.[0-9]+.[0-9]+/schema.json$" 31 | }, 32 | "remoteArtifacts": { 33 | "title": "RemoteArtifacts", 34 | "description": "Describes the published Power BI artifacts associated with this definition.", 35 | "type": [ 36 | "array", 37 | "null" 38 | ], 39 | "items": { 40 | "$ref": "#/definitions/ReportRemoteArtifact" 41 | } 42 | }, 43 | "securityBindingsSignature": { 44 | "title": "SecurityBindingsSignature", 45 | "description": "A base64 encoded signature which when absent or invalid will reset saved properties which require user review or consent.", 46 | "type": [ 47 | "string", 48 | "null" 49 | ] 50 | } 51 | }, 52 | "required": [ 53 | "$schema" 54 | ] 55 | } -------------------------------------------------------------------------------- /fabric/item/semanticModel/definitionProperties/1.0.0/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "$id": "https://developer.microsoft.com/json-schemas/fabric/item/semanticModel/definitionProperties/1.0.0/schema.json", 4 | "title": "DatasetDefinition", 5 | "description": "The DatasetDefinition stored as definition.pbism holds information about the overall semantic model definition. This file is required.", 6 | "definitions": { 7 | "DatasetSettings": { 8 | "title": "Settings", 9 | "description": "Settings for this semantic model that do not impact the behavior of the data model itself. Instead, these settings control the behavior of other Power BI features associated with the semantic model.", 10 | "type": [ 11 | "object", 12 | "null" 13 | ], 14 | "additionalProperties": false, 15 | "properties": { 16 | "qnaEnabled": { 17 | "title": "QnaEnabled", 18 | "description": "Whether Q&A is enabled for this semantic model.", 19 | "type": [ 20 | "boolean", 21 | "null" 22 | ] 23 | }, 24 | "qnaLsdlSharingPermissions": { 25 | "title": "QnaLsdlSharingPermissions", 26 | "description": "Describes how the linguistic schema (LSDL) can be shared with other users within the same tenant. Allowed values are 0 (LSDL can be shared with users with read permission) and 1 (LSDL can be shared with all users).", 27 | "type": "integer", 28 | "enum": [ 29 | 0, 30 | 1 31 | ] 32 | } 33 | } 34 | } 35 | }, 36 | "type": "object", 37 | "additionalProperties": false, 38 | "properties": { 39 | "$schema": { 40 | "type": "string", 41 | "pattern": "^https://developer.microsoft.com/json-schemas/fabric/item/semanticModel/definitionProperties/1.[0-9]+.[0-9]+/schema.json$" 42 | }, 43 | "version": { 44 | "title": "Version", 45 | "description": "Version of the semantic model item file format. This also serves as the version number for the .pbism file format.", 46 | "type": "string" 47 | }, 48 | "settings": { 49 | "$ref": "#/definitions/DatasetSettings" 50 | } 51 | }, 52 | "required": [ 53 | "$schema", 54 | "version" 55 | ] 56 | } -------------------------------------------------------------------------------- /fabric/item/semanticModel/editorSettings/1.0.0/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "$id": "https://developer.microsoft.com/json-schemas/fabric/item/semanticModel/editorSettings/1.0.0/schema.json", 4 | "title": "EditorSettings", 5 | "description": "The EditorSettings stored as editorSettings.json holds semantic model editor settings that are saved as part of the semantic model definition for use across users or environments. This file is optional.", 6 | "type": "object", 7 | "additionalProperties": false, 8 | "properties": { 9 | "$schema": { 10 | "type": "string", 11 | "pattern": "^https://developer.microsoft.com/json-schemas/fabric/item/semanticModel/editorSettings/1.[0-9]+.[0-9]+/schema.json$" 12 | }, 13 | "showHiddenFields": { 14 | "title": "ShowHiddenFields", 15 | "description": "Whether hidden fields should be shown in a field list.", 16 | "type": "boolean" 17 | }, 18 | "autodetectRelationships": { 19 | "title": "AutodetectRelationships", 20 | "description": "Whether relationships should be automatically detected when adding tables.", 21 | "type": "boolean" 22 | }, 23 | "parallelQueryLoading": { 24 | "title": "ParallelQueryLoading", 25 | "description": "Whether multiple M queries should be run in parallel.", 26 | "type": "boolean" 27 | }, 28 | "typeDetectionEnabled": { 29 | "title": "TypeDetectionEnabled", 30 | "description": "Whether to detect column types and headers for unstructured data sources.", 31 | "type": "boolean" 32 | }, 33 | "relationshipImportEnabled": { 34 | "title": "RelationshipImportEnabled", 35 | "description": "Whether relationships should be imported from data sources during the first load of data.", 36 | "type": "boolean" 37 | }, 38 | "relationshipRefreshEnabled": { 39 | "title": "RelationshipRefreshEnabled", 40 | "description": "Whether relationships should be updated or deleted when refreshing data.", 41 | "type": "boolean" 42 | }, 43 | "runBackgroundAnalysis": { 44 | "title": "RunBackgroundAnalysis", 45 | "description": "Whether to load data previews for the query editor in the background.", 46 | "type": "boolean" 47 | }, 48 | "shouldNotifyUserOfNameConflictResolution": { 49 | "title": "ShouldNotifyUserOfNameConflictResolution", 50 | "description": "Whether we should alert the user when we automatically update a user's table and/or measure names.", 51 | "type": "boolean" 52 | } 53 | }, 54 | "required": [ 55 | "$schema" 56 | ] 57 | } -------------------------------------------------------------------------------- /fabric/item/semanticModel/modelReference/2.0.0/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "$id": "https://developer.microsoft.com/json-schemas/fabric/item/semanticModel/modelReference/2.0.0/schema.json", 4 | "title": "DatasetModelReference", 5 | "description": "The DatasetModelReference stored as modelReference.json holds a reference to a data model hosted outside Power BI. This file is optional.", 6 | "type": "object", 7 | "additionalProperties": false, 8 | "properties": { 9 | "$schema": { 10 | "type": "string", 11 | "pattern": "^https://developer.microsoft.com/json-schemas/fabric/item/semanticModel/modelReference/2.[0-9]+.[0-9]+/schema.json$" 12 | }, 13 | "connectionString": { 14 | "title": "ConnectionString", 15 | "description": "The Analysis Services connection string for the target data model.", 16 | "type": [ 17 | "string", 18 | "null" 19 | ] 20 | }, 21 | "isMultiDimentional": { 22 | "title": "IsMultiDimentional", 23 | "description": "Whether the target data model is an Analysis Services multidimensional cube. False if the target data model is a tabular model.", 24 | "type": "boolean" 25 | }, 26 | "connectionType": { 27 | "title": "ConnectionType", 28 | "description": "The type of connection. This is for any connection type that is hosted outside of Power BI.", 29 | "type": [ 30 | "string", 31 | "null" 32 | ] 33 | } 34 | }, 35 | "required": [ 36 | "$schema", 37 | "connectionType" 38 | ] 39 | } -------------------------------------------------------------------------------- /fabric/item/userDataFunction/definition/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ### 1.1.0 2 | 3 | Released in: April 2025
4 | Notes: 5 | - Differentiates between two types of `libraries`: `public` and `private` 6 | 7 | ### 1.0.0 8 | 9 | Released in: February 2025
10 | Notes: 11 | - Initial release of the user data functions schema 12 | -------------------------------------------------------------------------------- /fabric/item/variableLibrary/definition/AuxiliaryTypes/1.0.0/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$id": "https://developer.microsoft.com/json-schemas/fabric/item/variableLibrary/definition/auxiliaryTypes/1.0.0/schema.json", 3 | "$schema": "https://json-schema.org/draft-07/schema", 4 | "definitions": { 5 | "Guid": { 6 | "description": "A string representing a Globally Unique Identifier (GUID).", 7 | "type": "string", 8 | "format": "uuid" 9 | }, 10 | "DateTime": { 11 | "description": "A string representing date and time in UTC format. For example 2024-11-25T08:30:10Z.", 12 | "type": "string", 13 | "format": "date-time", 14 | "pattern": "^.*Z$" 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /fabric/item/variableLibrary/definition/common/1.0.0/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$id": "https://developer.microsoft.com/json-schemas/fabric/item/variableLibrary/definition/common/1.0.0/schema.json", 3 | "$schema": "https://json-schema.org/draft-07/schema", 4 | "definitions": { 5 | "ContainerName": { 6 | "type": "string", 7 | "pattern": "^[A-Za-z_][A-Za-z\\d_\\- ]{0,254}(?/config/jest.config.json\".", 13 | "type": "string" 14 | }, 15 | "disableConfigurationModuleResolution": { 16 | "title": "Disable Configuration Module Resolution", 17 | "description": "If set to true, modules specified in the Jest configuration will be resolved using Jest default (rootDir-relative) resolution. Otherwise, modules will be resolved using Node module resolution.", 18 | "type": "boolean" 19 | }, 20 | "enableNodeEnvManagement": { 21 | "title": "Enable management of the NODE_ENV variable", 22 | "description": "If set to false, heft-jest-plugin will not set or unset the NODE_ENV variable. Otherwise, NODE_ENV will be set to `test` before execution and cleared after. If the NODE_ENV value is already set to a value that is not `test`, warning message appears.", 23 | "type": "boolean" 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /heft/v0/heft-lint-plugin.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Heft Lint Plugin Options Configuration", 4 | "description": "This schema describes the \"options\" field that can be specified in heft.json when loading \"@rushstack/heft-lint-plugin\".", 5 | "type": "object", 6 | 7 | "additionalProperties": false, 8 | 9 | "properties": { 10 | "alwaysFix": { 11 | "title": "Always Fix", 12 | "description": "If set to true, fix all encountered rule violations where the violated rule provides a fixer, regardless of if the \"--fix\" command-line argument is provided. When running in production mode, fixes will be disabled regardless of this setting.", 13 | "type": "boolean" 14 | }, 15 | 16 | "sarifLogPath": { 17 | "title": "SARIF Log Path", 18 | "description": "If specified and using ESLint, a log describing the lint configuration and all messages (suppressed or not) will be emitted in the Static Analysis Results Interchange Format (https://sarifweb.azurewebsites.net/) at the provided path, relative to the project root.", 19 | "type": "string" 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /heft/v0/heft-webpack4-plugin.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Webpack 4 Plugin Configuration", 4 | "description": "Defines options for Webpack 4 plugin execution.", 5 | "type": "object", 6 | 7 | "additionalProperties": false, 8 | 9 | "properties": { 10 | "$schema": { 11 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 12 | "type": "string" 13 | }, 14 | 15 | "devConfigurationPath": { 16 | "description": "Specifies a relative path to the Webpack dev configuration, which is used in \"serve\" mode. The default value is \"./webpack.dev.config.js\".", 17 | "type": "string" 18 | }, 19 | 20 | "configurationPath": { 21 | "description": "Specifies a relative path to the Webpack configuration. The default value is \"./webpack.config.js\".", 22 | "type": "string" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /heft/v0/heft-webpack5-plugin.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Webpack 5 Plugin Configuration", 4 | "description": "Defines options for Webpack 5 plugin execution.", 5 | "type": "object", 6 | 7 | "additionalProperties": false, 8 | 9 | "properties": { 10 | "$schema": { 11 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 12 | "type": "string" 13 | }, 14 | 15 | "devConfigurationPath": { 16 | "description": "Specifies a relative path to the Webpack dev configuration, which is used in \"serve\" mode. The default value is \"./webpack.dev.config.js\".", 17 | "type": "string" 18 | }, 19 | 20 | "configurationPath": { 21 | "description": "Specifies a relative path to the Webpack configuration. The default value is \"./webpack.config.js\".", 22 | "type": "string" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /heft/v0/node-service.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Node Service Configuration", 4 | "description": "Configures the Node Service plugin for Heft", 5 | "type": "object", 6 | 7 | "additionalProperties": false, 8 | 9 | "properties": { 10 | "$schema": { 11 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 12 | "type": "string" 13 | }, 14 | 15 | "extends": { 16 | "description": "Optionally specifies another JSON config file that this file extends from. This provides a way for standard settings to be shared across multiple projects.", 17 | "type": "string" 18 | }, 19 | 20 | "commandName": { 21 | "description": "Specifies the name of a \"scripts\" command from the project's package.json file. When \"heft start\" is invoked, it will use this shell command to launch the service process.", 22 | "type": "string" 23 | }, 24 | 25 | "ignoreMissingScript": { 26 | "description": "If false, then an error is reported if the \"scripts\" command is not found in the project's package.json. If true, then no action will be taken.", 27 | "type": "boolean" 28 | }, 29 | 30 | "waitForTerminateMs": { 31 | "description": "Customizes the number of milliseconds to wait for the child process to be terminated (SIGTERM) before forcibly killing it.", 32 | "type": "number" 33 | }, 34 | 35 | "waitForKillMs": { 36 | "description": "Customizes the number of milliseconds to wait for the child process to be killed (SIGKILL) before giving up and abandoning it.", 37 | "type": "number" 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /heft/v0/run-script-options.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "RunScript Heft Task Event Options", 4 | "description": "Defines configuration used by the \"runScript\" Heft task event.", 5 | "type": "object", 6 | 7 | "definitions": { 8 | "anything": { 9 | "type": ["array", "boolean", "integer", "number", "object", "string"], 10 | "items": { "$ref": "#/definitions/anything" } 11 | } 12 | }, 13 | 14 | "additionalProperties": false, 15 | "required": ["scriptPath"], 16 | 17 | "properties": { 18 | "scriptPath": { 19 | "title": "Script Path", 20 | "type": "string", 21 | "description": "Path to the script that will be run, relative to the project root.", 22 | "pattern": "[^\\\\]" 23 | }, 24 | 25 | "scriptOptions": { 26 | "title": "Script Options", 27 | "type": "object", 28 | "description": "Optional parameters that will be passed to the script at runtime.", 29 | "patternProperties": { 30 | "^.*$": { "$ref": "#/definitions/anything" } 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /heft/v0/set-environment-variables-plugin.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "CopyFiles Heft Task Event Options", 4 | "description": "Defines configuration used by the \"copyFiles\" Heft task event.", 5 | "type": "object", 6 | 7 | "additionalProperties": false, 8 | "required": ["environmentVariablesToSet"], 9 | 10 | "properties": { 11 | "environmentVariablesToSet": { 12 | "type": "object", 13 | "additionalProperties": { 14 | "type": "string", 15 | "pattern": ".+" 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /lockfile-explorer/lockfile-lint.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Lockfile Lint Configuration", 4 | "description": "The lockfile-explorer.json configuration file for lockfile-lint tool.", 5 | "type": "object", 6 | "additionalProperties": false, 7 | "properties": { 8 | "$schema": { 9 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 10 | "type": "string" 11 | }, 12 | "rules": { 13 | "description": "The rules adopted by Monorepo and the lockfile-lint will help to check.", 14 | "type": "array", 15 | "items": { 16 | "type": "object", 17 | "oneOf": [ 18 | { 19 | "type": "object", 20 | "required": ["rule", "project", "requiredVersions"], 21 | "properties": { 22 | "rule": { 23 | "description": "Rule name applied to the project.", 24 | "const": "restrict-versions" 25 | }, 26 | "project": { 27 | "description": "Project name.", 28 | "type": "string" 29 | }, 30 | "requiredVersions": { 31 | "description": "List of restrict dependency version.", 32 | "type": "object", 33 | "patternProperties": { 34 | ".*": { 35 | "type": "string" 36 | } 37 | } 38 | } 39 | } 40 | } 41 | ] 42 | } 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /rig-package/rig.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Describes the config/rig.json file", 4 | "description": "The rig.json file is a standard for sharing project configuration in a monorepo without duplicating files", 5 | "type": "object", 6 | 7 | "additionalProperties": false, 8 | 9 | "properties": { 10 | "$schema": { 11 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 12 | "type": "string" 13 | }, 14 | 15 | "rigPackageName": { 16 | "type": "string", 17 | "description": "(Required) The name of the rig package to inherit from. It should be an NPM package name with the \"-rig\" suffix." 18 | }, 19 | 20 | "rigProfile": { 21 | "type": "string", 22 | "description": "Selects a config profile from the rig package. The name must consist of lowercase alphanumeric words separated by hyphens, for example \"sample-profile\". If omitted, then the \"default\" profile will be used." 23 | } 24 | }, 25 | 26 | "required": ["rigPackageName"] 27 | } 28 | -------------------------------------------------------------------------------- /rush/approved-packages.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Rush Approved Packages File", 3 | "description": "For use with the Rush tool, this file tracks a list of NPM packages that have been approved for usage.", 4 | "definitions": { 5 | "packageInfo": { 6 | "type": "object", 7 | "properties": { 8 | "name": { 9 | "description": "The name of the NPM package, e.g. \"@scope/example\"", 10 | "type": "string" 11 | }, 12 | "allowedCategories": { 13 | "description": "If rush.json is using the \"reviewCategories\" field to classify projects, then the approval is limited to the listed \"allowedCategories\"; otherwise, any project may use the package.", 14 | "type": "array", 15 | "items": { 16 | "type": "string" 17 | } 18 | } 19 | }, 20 | "additionalProperties": false, 21 | "required": [ "name" ] 22 | } 23 | }, 24 | "type": "object", 25 | "properties": { 26 | "$schema": { 27 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 28 | "type": "string" 29 | }, 30 | "packages": { 31 | "description": "A list of NPM packages that are approved for usage.", 32 | "type": "array", 33 | "items": { "$ref": "#/definitions/packageInfo" } 34 | } 35 | }, 36 | "additionalProperties": false, 37 | "required": [ "packages" ] 38 | } 39 | -------------------------------------------------------------------------------- /rush/v4/approved-packages.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Rush Approved Packages File", 3 | "description": "For use with the Rush tool, this file tracks a list of NPM packages that have been approved for usage.", 4 | "definitions": { 5 | "packageInfo": { 6 | "type": "object", 7 | "properties": { 8 | "name": { 9 | "description": "The name of the NPM package, e.g. \"@scope/example\"", 10 | "type": "string" 11 | }, 12 | "allowedCategories": { 13 | "description": "If rush.json is using the \"reviewCategories\" field to classify projects, then the approval is limited to the listed \"allowedCategories\"; otherwise, any project may use the package.", 14 | "type": "array", 15 | "items": { 16 | "type": "string" 17 | } 18 | } 19 | }, 20 | "additionalProperties": false, 21 | "required": [ "name" ] 22 | } 23 | }, 24 | "type": "object", 25 | "properties": { 26 | "$schema": { 27 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 28 | "type": "string" 29 | }, 30 | "packages": { 31 | "description": "A list of NPM packages that are approved for usage.", 32 | "type": "array", 33 | "items": { "$ref": "#/definitions/packageInfo" } 34 | } 35 | }, 36 | "additionalProperties": false, 37 | "required": [ "packages" ] 38 | } 39 | -------------------------------------------------------------------------------- /rush/v4/version-policies.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Rush version policy definitions", 3 | "description": "For use with the Rush tool, this file defines version policies", 4 | 5 | "type": "array", 6 | "items": { 7 | "type": "object", 8 | "oneOf": [ 9 | { "$ref": "#/definitions/lockStepVersion" }, 10 | { "$ref": "#/definitions/individualVersion" } 11 | ] 12 | }, 13 | "definitions": { 14 | "lockStepVersion": { 15 | "type":"object", 16 | "description": "Lockstep version policy", 17 | "properties": { 18 | "policyName": { 19 | "description": "The name of the version policy", 20 | "type": "string" 21 | }, 22 | "definitionName": { 23 | "description": "The name of version policy definition", 24 | "type": "string", 25 | "enum": [ "lockStepVersion" ] 26 | }, 27 | "version": { 28 | "description": "Current version for projects with lockStepVersion policy", 29 | "type":"string" 30 | }, 31 | "nextBump": { 32 | "description": "Type of next version bump", 33 | "enum": [ "prerelease", "release", "minor", "patch", "major" ] 34 | }, 35 | "mainProject": { 36 | "description": "The main project for this version policy", 37 | "type": "string" 38 | } 39 | }, 40 | "required": [ "policyName", "definitionName", "version", "nextBump" ], 41 | "additionalProperties": false 42 | }, 43 | "individualVersion": { 44 | "type":"object", 45 | "description": "Lockstep version policy", 46 | "properties": { 47 | "policyName": { 48 | "description": "The name of the version policy", 49 | "type": "string" 50 | }, 51 | "definitionName": { 52 | "description": "The name of version policy definition", 53 | "type": "string", 54 | "enum": [ "individualVersion" ] 55 | }, 56 | "lockedMajor": { 57 | "description": "The locked major version", 58 | "type": "number" 59 | } 60 | }, 61 | "required": [ "policyName", "definitionName" ], 62 | "additionalProperties": false 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /rush/v5/amazon-s3-config.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Configuration for build cache with Amazon S3 configuration", 4 | "type": "object", 5 | "oneOf": [ 6 | { 7 | "type": "object", 8 | "required": ["s3Endpoint", "s3Region"], 9 | "properties": { 10 | "s3Endpoint": { 11 | "type": "string", 12 | "description": "(Required) The Amazon S3 endpoint of the bucket to use for build cache (e.g. \"s3.us-east-2.amazonaws.com\")." 13 | }, 14 | "s3Region": { 15 | "type": "string", 16 | "description": "(Required) The Amazon S3 region of the bucket to use for build cache (e.g. \"us-east-1\")." 17 | }, 18 | "s3Prefix": { 19 | "type": "string", 20 | "description": "An optional prefix (\"folder\") for cache items." 21 | }, 22 | "isCacheWriteAllowed": { 23 | "type": "boolean", 24 | "description": "If set to true, allow writing to the cache. Defaults to false." 25 | } 26 | } 27 | }, 28 | { 29 | "type": "object", 30 | "required": ["s3Bucket", "s3Region"], 31 | "properties": { 32 | "s3Bucket": { 33 | "type": "string", 34 | "description": "(Required unless s3Endpoint is specified) The name of the bucket to use for build cache (e.g. \"my-bucket\")." 35 | }, 36 | "s3Region": { 37 | "type": "string", 38 | "description": "(Required) The Amazon S3 region of the bucket to use for build cache (e.g. \"us-east-1\")." 39 | }, 40 | "s3Prefix": { 41 | "type": "string", 42 | "description": "An optional prefix (\"folder\") for cache items." 43 | }, 44 | "isCacheWriteAllowed": { 45 | "type": "boolean", 46 | "description": "If set to true, allow writing to the cache. Defaults to false." 47 | } 48 | } 49 | } 50 | ] 51 | } 52 | -------------------------------------------------------------------------------- /rush/v5/anything.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "description": "Schema that matches anything", 4 | 5 | "oneOf": [ 6 | { 7 | "type": "array" 8 | }, 9 | { 10 | "type": "boolean" 11 | }, 12 | { 13 | "type": "integer" 14 | }, 15 | { 16 | "type": "null" 17 | }, 18 | { 19 | "type": "number" 20 | }, 21 | { 22 | "type": "object" 23 | }, 24 | { 25 | "type": "string" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /rush/v5/approved-packages.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Rush approved packages config file", 4 | "description": "For use with the Rush tool, this file tracks a list of NPM packages that have been approved for usage. This schema is used by two config files browser-approved-packages.json and nonbrowser-approved-packages.jsons. See http://rushjs.io for details.", 5 | 6 | "definitions": { 7 | "packageInfo": { 8 | "type": "object", 9 | "properties": { 10 | "name": { 11 | "description": "The name of the NPM package, e.g. \"@scope/example\"", 12 | "type": "string" 13 | }, 14 | "allowedCategories": { 15 | "description": "If rush.json is using the \"reviewCategories\" field to classify projects, then the approval is limited to the listed \"allowedCategories\"; otherwise, any project may use the package.", 16 | "type": "array", 17 | "items": { 18 | "type": "string" 19 | } 20 | } 21 | }, 22 | "additionalProperties": false, 23 | "required": ["name"] 24 | } 25 | }, 26 | "type": "object", 27 | "properties": { 28 | "$schema": { 29 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 30 | "type": "string" 31 | }, 32 | "packages": { 33 | "description": "A list of NPM packages that are approved for usage.", 34 | "type": "array", 35 | "items": { "$ref": "#/definitions/packageInfo" } 36 | } 37 | }, 38 | "additionalProperties": false, 39 | "required": ["packages"] 40 | } 41 | -------------------------------------------------------------------------------- /rush/v5/azure-blob-storage-config.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Configuration for build cache with Azure storage configuration", 4 | 5 | "type": "object", 6 | 7 | "additionalProperties": false, 8 | 9 | "required": ["storageAccountName", "storageContainerName"], 10 | 11 | "properties": { 12 | "storageAccountName": { 13 | "type": "string", 14 | "description": "(Required) The name of the the Azure storage account to use for build cache." 15 | }, 16 | 17 | "storageContainerName": { 18 | "type": "string", 19 | "description": "(Required) The name of the container in the Azure storage account to use for build cache." 20 | }, 21 | 22 | "azureEnvironment": { 23 | "type": "string", 24 | "description": "The Azure environment the storage account exists in. Defaults to AzurePublicCloud.", 25 | "enum": ["AzurePublicCloud", "AzureChina", "AzureGermany", "AzureGovernment"] 26 | }, 27 | 28 | "loginFlow": { 29 | "type": "string", 30 | "description": "The Entra ID login flow to use. Defaults to 'AdoCodespacesAuth' on GitHub Codespaces, 'InteractiveBrowser' otherwise.", 31 | "enum": ["AdoCodespacesAuth", "InteractiveBrowser", "DeviceCode"] 32 | }, 33 | 34 | "blobPrefix": { 35 | "type": "string", 36 | "description": "An optional prefix for cache item blob names." 37 | }, 38 | 39 | "isCacheWriteAllowed": { 40 | "type": "boolean", 41 | "description": "If set to true, allow writing to the cache. Defaults to false." 42 | }, 43 | 44 | "readRequiresAuthentication": { 45 | "type": "boolean", 46 | "description": "If set to true, reading the cache requires authentication. Defaults to false." 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /rush/v5/azure-interactive-auth.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Configuration for Azure interactive auth prompt", 4 | 5 | "type": "object", 6 | 7 | "additionalProperties": false, 8 | 9 | "required": ["storageAccountName", "storageContainerName"], 10 | 11 | "properties": { 12 | "storageAccountName": { 13 | "type": "string", 14 | "description": "(Required) The name of the the Azure storage account to authenticate to." 15 | }, 16 | 17 | "storageContainerName": { 18 | "type": "string", 19 | "description": "(Required) The name of the container in the Azure storage account to authenticate to." 20 | }, 21 | 22 | "azureEnvironment": { 23 | "type": "string", 24 | "description": "The Azure environment the storage account exists in. Defaults to AzurePublicCloud.", 25 | "enum": ["AzurePublicCloud", "AzureChina", "AzureGermany", "AzureGovernment"] 26 | }, 27 | 28 | "loginFlow": { 29 | "type": "string", 30 | "description": "The Entra ID login flow to use. Defaults to 'AdoCodespacesAuth' on GitHub Codespaces, 'InteractiveBrowser' otherwise.", 31 | "enum": ["AdoCodespacesAuth", "InteractiveBrowser", "DeviceCode"] 32 | }, 33 | 34 | "minimumValidityInMinutes": { 35 | "type": "number", 36 | "description": "If specified and a credential exists that will be valid for at least this many minutes from the time of execution, no action will be taken." 37 | }, 38 | 39 | "globalCommands": { 40 | "type": "array", 41 | "description": "The set of global rush commands before which this plugin should update credentials.", 42 | "items": { 43 | "type": "string" 44 | } 45 | }, 46 | 47 | "phasedCommands": { 48 | "type": "array", 49 | "description": "The set of phased rush commands before which this plugin should update credentials.", 50 | "items": { 51 | "type": "string" 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /rush/v5/change-file.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Generated Rush changefiles", 4 | "description": "For use with the Rush tool, this file tracks changes that are made to individual packages within the Rush repo. See http://rushjs.io for details.", 5 | 6 | "type": "object", 7 | "properties": { 8 | "$schema": { 9 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 10 | "type": "string" 11 | }, 12 | "changes": { 13 | "description": "A list of changes that apply to the specified package. These changes will cause the specified package and all dependent packages ", 14 | "type": "array", 15 | "items": { 16 | "type": "object", 17 | "required": ["packageName", "comment", "type"], 18 | "properties": { 19 | "packageName": { 20 | "type": "string", 21 | "description": "The name of the package that the change applies to." 22 | }, 23 | "comment": { 24 | "type": "string", 25 | "description": "A comment that describes the change being made." 26 | }, 27 | "type": { 28 | "type": "string", 29 | "description": "The change type associated with the change.", 30 | "enum": ["none", "dependency", "hotfix", "patch", "minor", "major"] 31 | }, 32 | "customFields": { 33 | "type": "object", 34 | "description": "An optional dictionary of custom string fields.", 35 | "patternProperties": { 36 | "^.*$": { 37 | "type": "string" 38 | } 39 | } 40 | } 41 | } 42 | } 43 | }, 44 | "packageName": { 45 | "description": "The name of the package that the change file applies to.", 46 | "type": "string" 47 | }, 48 | "email": { 49 | "description": "The email address for the author of the change.", 50 | "type": "string" 51 | } 52 | }, 53 | "additionalProperties": false 54 | } 55 | -------------------------------------------------------------------------------- /rush/v5/cobuild.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Configuration for Rush's cobuild.", 4 | "description": "For use with the Rush tool, this file provides configuration options for cobuild feature. See http://rushjs.io for details.", 5 | "definitions": { 6 | "anything": { 7 | "type": ["array", "boolean", "integer", "number", "object", "string"], 8 | "items": { 9 | "$ref": "#/definitions/anything" 10 | } 11 | } 12 | }, 13 | "type": "object", 14 | "allOf": [ 15 | { 16 | "type": "object", 17 | "additionalProperties": false, 18 | "required": ["cobuildFeatureEnabled", "cobuildLockProvider"], 19 | "properties": { 20 | "$schema": { 21 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 22 | "type": "string" 23 | }, 24 | "cobuildFeatureEnabled": { 25 | "description": "Set this to true to enable the cobuild feature.", 26 | "type": "boolean" 27 | }, 28 | "cobuildLockProvider": { 29 | "description": "Specify the cobuild lock provider to use", 30 | "type": "string" 31 | } 32 | } 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /rush/v5/credentials.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Cache for credentials used with the Rush tool.", 4 | "description": "For use with the Rush tool, this file acts as a cache for the credentials. See http://rushjs.io for details.", 5 | 6 | "type": "object", 7 | 8 | "required": ["version", "cacheEntries"], 9 | "properties": { 10 | "version": { 11 | "type": "string" 12 | }, 13 | 14 | "cacheEntries": { 15 | "type": "object", 16 | "patternProperties": { 17 | ".+": { 18 | "type": "object", 19 | "required": ["expires", "credential"], 20 | 21 | "properties": { 22 | "expires": { 23 | "type": "number" 24 | }, 25 | "credential": { 26 | "type": "string" 27 | }, 28 | "credentialMetadata": { 29 | "type": "object" 30 | } 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /rush/v5/custom-tips.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Rush custom-tips.json config file", 4 | "description": "The config file for adding tips to specific messages.", 5 | 6 | "type": "object", 7 | "properties": { 8 | "$schema": { 9 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 10 | "type": "string" 11 | }, 12 | 13 | "customTips": { 14 | "type": "array", 15 | "items": { 16 | "type": "object", 17 | "required": ["tipId", "message"], 18 | "additionalProperties": false, 19 | "properties": { 20 | "tipId": { 21 | "type": "string", 22 | "description": "An identifier indicating a message that may be printed by Rush. If that message is printed, then this custom tip will be shown. Consult the Rush documentation for the current list of possible identifiers.", 23 | "pattern": "^[A-Z0-9_]+$" 24 | }, 25 | "message": { 26 | "type": "string", 27 | "description": "The message text to be displayed for this tip." 28 | } 29 | } 30 | } 31 | } 32 | }, 33 | "additionalProperties": false 34 | } 35 | -------------------------------------------------------------------------------- /rush/v5/redis-config.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Configuration for cobuild lock with Redis configuration\n\nhttps://github.com/redis/node-redis/blob/master/docs/client-configuration.md", 4 | "type": "object", 5 | "additionalProperties": false, 6 | "properties": { 7 | "url": { 8 | "type": "string", 9 | "description": "redis[s]://[[username][:password]@][host][:port][/db-number]\n\n See the following links for more information:\n\nredis: https://www.iana.org/assignments/uri-schemes/prov/redis\n\nrediss: https://www.iana.org/assignments/uri-schemes/prov/rediss" 10 | }, 11 | "socket": { 12 | "type": "object", 13 | "description": "Socket connection properties. Unlisted net.connect properties (and tls.connect) are also supported", 14 | "properties": { 15 | "port": { 16 | "description": "Redis server port. Default value is 6379", 17 | "type": "number" 18 | }, 19 | "host": { 20 | "description": "Redis server host. Default value is localhost", 21 | "type": "string" 22 | }, 23 | "family": { 24 | "description": "IP Stack version (one of 4 | 6 | 0). Default value is 0", 25 | "type": "number" 26 | }, 27 | "path": { 28 | "description": "path to the UNIX Socket", 29 | "type": "string" 30 | }, 31 | "connectTimeout": { 32 | "description": "Connection timeout in milliseconds. Default value is 5000", 33 | "type": "number" 34 | }, 35 | "noDelay": { 36 | "description": "Toggle Nagle's algorithm. Default value is true", 37 | "type": "boolean" 38 | }, 39 | "keepAlive": { 40 | "description": "Toggle keep alive on the socket", 41 | "type": "boolean" 42 | } 43 | } 44 | }, 45 | "username": { 46 | "description": "ACL username", 47 | "type": "string" 48 | }, 49 | "passwordEnvironmentVariable": { 50 | "description": "The environment variable used to get the ACL password", 51 | "type": "string" 52 | }, 53 | "name": { 54 | "description": "Redis client name", 55 | "type": "string" 56 | }, 57 | "database": { 58 | "description": "Redis database number", 59 | "type": "number" 60 | }, 61 | "legacyMode": { 62 | "description": "Maintain some backwards compatibility", 63 | "type": "boolean" 64 | }, 65 | "pingInterval": { 66 | "description": "Send PING command at interval (in ms). Useful with \"Azure Cache for Redis\".", 67 | "type": "number" 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /rush/v5/repo-state.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Rush repo-state.json file", 4 | "description": "For use with the Rush tool, this file tracks the state of various features in the Rush repo. See http://rushjs.io for details.", 5 | 6 | "type": "object", 7 | "properties": { 8 | "$schema": { 9 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 10 | "type": "string" 11 | }, 12 | "pnpmShrinkwrapHash": { 13 | "description": "A hash of the contents of the PNPM shrinkwrap file for the repository. This hash is used to determine whether or not the shrinkwrap has been modified prior to install.", 14 | "type": "string" 15 | }, 16 | "preferredVersionsHash": { 17 | "description": "A hash of \"preferred versions\" for the repository. This hash is used to determine whether or not preferred versions have been modified prior to install.", 18 | "type": "string" 19 | }, 20 | "packageJsonInjectedDependenciesHash": { 21 | "description": "A hash of the injected dependencies in related package.json. This hash is used to determine whether or not the shrinkwrap needs to updated prior to install.", 22 | "type": "string" 23 | } 24 | }, 25 | "additionalProperties": false 26 | } 27 | -------------------------------------------------------------------------------- /rush/v5/rush-buildxl-graph-plugin.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Configuration for the BuildXL graph drop plugin.", 4 | "type": "object", 5 | "required": ["buildXLCommandNames"], 6 | "properties": { 7 | "buildXLCommandNames": { 8 | "type": "array", 9 | "description": "The names of the commands that will be used to run BuildXL", 10 | "items": { 11 | "type": "string" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /rush/v5/rush-plugin-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema", 3 | "title": "Rush plugin package manifest", 4 | "description": "This file declares what kind of plugins this package provided.", 5 | "type": "object", 6 | "additionalProperties": false, 7 | "required": ["plugins"], 8 | "properties": { 9 | "$schema": { 10 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 11 | "type": "string" 12 | }, 13 | "plugins": { 14 | "type": "array", 15 | "items": { 16 | "type": "object", 17 | "required": ["pluginName", "description"], 18 | "additionalProperties": false, 19 | "properties": { 20 | "pluginName": { 21 | "type": "string" 22 | }, 23 | "description": { 24 | "type": "string" 25 | }, 26 | "entryPoint": { 27 | "description": "Specifies entry point path. This path is resolved relative to the package folder.", 28 | "type": "string" 29 | }, 30 | "optionsSchema": { 31 | "description": "Specifies options schema file path. This path is resolved relative to the package folder.", 32 | "type": "string" 33 | }, 34 | "associatedCommands": { 35 | "description": "Specifies associated commands with this plugin, plugin will be only installed when an associated command runs.", 36 | "type": "array", 37 | "items": { 38 | "type": "string" 39 | } 40 | }, 41 | "commandLineJsonFilePath": { 42 | "description": "Specifies a command line config file path. The path is resolved relative to package folder. It defines custom command line commands, mostly same as command-line.json in Rush", 43 | "type": "string" 44 | } 45 | } 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /rush/v5/rush-plugins.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema", 3 | "title": "Rush rush-plugins.json config file", 4 | "description": "This file defines plugins used by Rush", 5 | "type": "object", 6 | "required": ["plugins"], 7 | "additionalProperties": false, 8 | "properties": { 9 | "$schema": { 10 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 11 | "type": "string" 12 | }, 13 | "plugins": { 14 | "description": "A list of rush plugin definition.", 15 | "type": "array", 16 | "items": { 17 | "type": "object", 18 | "required": ["packageName", "pluginName", "autoinstallerName"], 19 | "additionalProperties": false, 20 | "properties": { 21 | "packageName": { 22 | "description": "The NPM package name of the rush plugin.", 23 | "type": "string" 24 | }, 25 | "pluginName": { 26 | "description": "The plugin name provided by rush plugin package.", 27 | "type": "string" 28 | }, 29 | "autoinstallerName": { 30 | "description": "Specifies an autoinstaller name where the rush plugin package is installed.", 31 | "type": "string" 32 | } 33 | } 34 | } 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /rush/v5/rush-user-settings.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Rush per-user settings file", 4 | "description": "For use with the Rush tool, this file stores user-specific settings options. See http://rushjs.io for details.", 5 | 6 | "type": "object", 7 | "properties": { 8 | "$schema": { 9 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 10 | "type": "string" 11 | }, 12 | 13 | "buildCacheFolder": { 14 | "type": "string", 15 | "description": "If provided, store build cache in the specified folder. Must be an absolute path." 16 | } 17 | }, 18 | "additionalProperties": false 19 | } 20 | -------------------------------------------------------------------------------- /rush/v5/subspaces.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Rush subspace config file.", 4 | "description": "The configuration file for enabling the subspaces feature in rush. This is an EXPERIMENTAL feature which is not yet fully implemented. To opt into the experiment, simply toggle the 'enabled' property in this file.", 5 | "type": "object", 6 | 7 | "properties": { 8 | "$schema": { 9 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 10 | "type": "string" 11 | }, 12 | "subspacesEnabled": { 13 | "description": "If true, rush will use the subspaces configuration.", 14 | "type": "boolean" 15 | }, 16 | "splitWorkspaceCompatibility": { 17 | "description": "(DEPRECATED) Allows individual subspaces to be configured at the package level if that package is the only project in the subspace. Used to help migrate from a split workspace state.", 18 | "type": "boolean" 19 | }, 20 | "preventSelectingAllSubspaces": { 21 | "description": "If true, requires a selector for a subspace or set of subspaces when installing.", 22 | "type": "boolean" 23 | }, 24 | "subspaceNames": { 25 | "description": "Individual subspace configurations.", 26 | "type": "array", 27 | "items": { 28 | "type": "string" 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /rush/version-policies.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Rush version policy definitions", 3 | "description": "For use with the Rush tool, this file defines version policies", 4 | 5 | "type": "array", 6 | "items": { 7 | "type": "object", 8 | "oneOf": [ 9 | { "$ref": "#/definitions/lockStepVersion" }, 10 | { "$ref": "#/definitions/individualVersion" } 11 | ] 12 | }, 13 | "definitions": { 14 | "lockStepVersion": { 15 | "type":"object", 16 | "description": "Lockstep version policy", 17 | "properties": { 18 | "policyName": { 19 | "description": "The name of the version policy", 20 | "type": "string" 21 | }, 22 | "definitionName": { 23 | "description": "The name of version policy definition", 24 | "type": "string", 25 | "enum": [ "lockStepVersion" ] 26 | }, 27 | "version": { 28 | "description": "Current version for projects with lockStepVersion policy", 29 | "type":"string" 30 | }, 31 | "nextBump": { 32 | "description": "Type of next version bump", 33 | "enum": [ "prerelease", "release", "minor", "patch", "major" ] 34 | } 35 | }, 36 | "required": [ "policyName", "definitionName", "version", "nextBump" ], 37 | "additionalProperties": false 38 | }, 39 | "individualVersion": { 40 | "type":"object", 41 | "description": "Lockstep version policy", 42 | "properties": { 43 | "policyName": { 44 | "description": "The name of the version policy", 45 | "type": "string" 46 | }, 47 | "definitionName": { 48 | "description": "The name of version policy definition", 49 | "type": "string", 50 | "enum": [ "individualVersion" ] 51 | }, 52 | "lockedMajor": { 53 | "description": "The locked major version", 54 | "type": "number" 55 | } 56 | }, 57 | "required": [ "policyName", "definitionName" ], 58 | "additionalProperties": false 59 | } 60 | } 61 | } -------------------------------------------------------------------------------- /sp/test.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Publishing test of the json files", 3 | "description": "Used to validate the publishing process", 4 | "priority": "high" 5 | } 6 | -------------------------------------------------------------------------------- /sp/v2/board-formatting.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "BoardFormatter JSON", 4 | "description": "JSON object that defines cards in 'Board' layout.", 5 | "type": "object", 6 | "properties": { 7 | "hideSelection": { 8 | "description": "If true, then selection UX in 'Board' layout will be disabled. Ignored if there is no formatter defined.", 9 | "type": "boolean" 10 | }, 11 | "formatter": { 12 | "description": "JSON object that defines formatting of a card.", 13 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json" 14 | }, 15 | "commandBarProps": { 16 | "description": "JSON object that defines command bar customization options", 17 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/command-bar-formatting.schema.json#" 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /sp/v2/calendar-formatting.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Calendar Formatter JSON", 4 | "description": "JSON object that defines customization in 'Calendar' view", 5 | "type": "object", 6 | "properties": { 7 | "monthProps": { 8 | "description": "JSON object that define formatting in month layout", 9 | "type": "object", 10 | "properties": { 11 | "commandBarProps": { 12 | "description": "JSON object that defines command bar customization options", 13 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/command-bar-formatting.schema.json#" 14 | }, 15 | "additionalEventClass": { 16 | "description": "CSS class(es) that is applied to the event. Supports expressions.", 17 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json#/definitions/expression" 18 | } 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /sp/v2/row-formatting.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "RowFormatter JSON", 4 | "description": "JSON object that defines row in 'List' and 'Compact List' layout.", 5 | "type": "object", 6 | "properties": { 7 | "hideSelection": { 8 | "description": "If true, then selection UX in 'List' and 'Compact List' layout will be disabled. Ignored if there is no rowFormatter defined.", 9 | "type": "boolean" 10 | }, 11 | "hideColumnHeader": { 12 | "description": "If true, then the list column header UX in in 'List' and 'Compact List' layout will be hidden.", 13 | "type": "boolean" 14 | }, 15 | "rowFormatter": { 16 | "description": "JSON object that defines formatting of a row.", 17 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json" 18 | }, 19 | "additionalRowClass": { 20 | "description": "CSS class(es) that is applied to the entire row. Supports expressions. Only valid for 'List' and 'Compact List' layouts.", 21 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json#/definitions/expression" 22 | }, 23 | "groupProps": { 24 | "type": "object", 25 | "description": "Specify the group header and footer formatters", 26 | "properties": { 27 | "headerFormatter": { 28 | "description": "JSON object that defines formatting for the group headers", 29 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json" 30 | }, 31 | "hideFooter": { 32 | "description": "Boolean value to hide the group footer", 33 | "type": "boolean" 34 | }, 35 | "footerFormatter": { 36 | "description": "JSON object that defines formatting for the group footers", 37 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json" 38 | } 39 | } 40 | }, 41 | "hideFooter": { 42 | "description": "Boolean value to hide the list footer", 43 | "type": "boolean" 44 | }, 45 | "footerFormatter": { 46 | "description": "JSON object that defines formatting for the list footer", 47 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json" 48 | }, 49 | "commandBarProps": { 50 | "description": "JSON object that defines command bar customization options", 51 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/command-bar-formatting.schema.json#" 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /sp/v2/tile-formatting.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "TilesFormatter JSON", 4 | "description": "JSON object that defines tiles in 'Tiles' layout.", 5 | "type": "object", 6 | "properties": { 7 | "height": { 8 | "description": "Height of the tile in pixels.", 9 | "type": [ 10 | "integer", 11 | "string" 12 | ], 13 | "minimum": 1, 14 | "pattern": "^[0-9]+$" 15 | }, 16 | "width": { 17 | "description": "Width of the tile in pixels. Can go from height /2 to 3x height.", 18 | "type": [ 19 | "integer", 20 | "string" 21 | ], 22 | "minimum": 1, 23 | "pattern": "^[0-9]+$" 24 | }, 25 | "hideSelection": { 26 | "description": "If true, then selection UX in 'Tiles' layout will be disabled. Ignored if there is no formatter defined.", 27 | "type": "boolean" 28 | }, 29 | "formatter": { 30 | "description": "JSON object that defines formatting of a tile.", 31 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json" 32 | }, 33 | "groupProps": { 34 | "type": "object", 35 | "description": "Specify the group header formatter", 36 | "properties": { 37 | "headerFormatter": { 38 | "description": "JSON object that defines formatting for the group headers", 39 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json" 40 | } 41 | } 42 | }, 43 | "commandBarProps": { 44 | "description": "JSON object that defines command bar customization options", 45 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/command-bar-formatting.schema.json#" 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /sp/v2/view-formatting.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "ViewFormatter JSON", 4 | "description": "View Formatter JSON for SharePoint lists.", 5 | "type": "object", 6 | "allOf": [ 7 | { 8 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/row-formatting.schema.json" 9 | }, 10 | { 11 | "properties": { 12 | "tileProps": { 13 | "description": "JSON object that defines tiles in 'Tiles' layout.", 14 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/tile-formatting.schema.json" 15 | } 16 | } 17 | }, 18 | { 19 | "properties": { 20 | "kanbanProps": { 21 | "description": "JSON object that defines cards in 'Board' layout.", 22 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/board-formatting.schema.json" 23 | } 24 | } 25 | }, 26 | { 27 | "properties": { 28 | "calendarProps": { 29 | "description": "JSON object that defines customization in 'Calendar' view.", 30 | "$ref": "https://developer.microsoft.com/json-schemas/sp/v2/calendar-formatting.schema.json" 31 | } 32 | } 33 | } 34 | ] 35 | } -------------------------------------------------------------------------------- /sp/view-formatting.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "ViewFormatter JSON", 4 | "description": "View Formatter JSON for SharePoint lists.", 5 | "type": "object", 6 | "properties": { 7 | "hideSelection": { 8 | "description": "If true, then selection UX in 'List' and 'Compact List' layout will be disabled. Ignored if there is no rowFormatter defined.", 9 | "type": "boolean" 10 | }, 11 | "hideColumnHeader": { 12 | "description": "If true, then the list column header UX in in 'List' and 'Compact List' layout will be hidden.", 13 | "type": "boolean" 14 | }, 15 | "rowFormatter": { 16 | "description": "JSON object that defines formatting of a row.", 17 | "$ref": "https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json#definitions/elm" 18 | }, 19 | "additionalRowClass": { 20 | "description": "CSS class(es) that is applied to the entire row. Supports expressions. Only valid for 'List' and 'Compact List' layouts.", 21 | "$ref": "https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json#definitions/expression" 22 | }, 23 | "tileProps": { 24 | "description": "JSON object that defines tiles in 'Tiles' layout.", 25 | "type": "object", 26 | "properties": { 27 | "height": { 28 | "description": "Height of the tile in pixels.", 29 | "type": ["integer","string"], 30 | "minimum": 1, 31 | "pattern": "^[0-9]+$" 32 | }, 33 | "width": { 34 | "description": "Width of the tile in pixels. Can go from height /2 to 3x height.", 35 | "type": ["integer","string"], 36 | "minimum": 1, 37 | "pattern": "^[0-9]+$" 38 | }, 39 | "hideSelection": { 40 | "description": "If true, then selection UX in 'Tiles' layout will be disabled. Ignored if there is no formatter defined.", 41 | "type": "boolean" 42 | }, 43 | "formatter": { 44 | "description": "JSON object that defines formatting of a tile.", 45 | "$ref": "https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json#definitions/elm" 46 | } 47 | } 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /spfx-build/configure-webpack.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "ConfigureWebpack Task Configuration", 3 | "description": "Defines parameters for the webpack bundler", 4 | 5 | "type": "object", 6 | "additionalProperties": false, 7 | "properties": { 8 | "$schema": { 9 | "type": "string" 10 | }, 11 | 12 | "libraryName": { 13 | "title": "Library Name", 14 | "description": "optional library name - set this if the library should be a global on the window", 15 | "type": "string" 16 | }, 17 | 18 | "libraryTarget": { 19 | "title": "Library Target", 20 | "description": "The target compilation type", 21 | "type": "string", 22 | "enum": [ 23 | "var", 24 | "this", 25 | "commonjs", 26 | "amd", 27 | "umd" 28 | ] 29 | }, 30 | 31 | "webpackPublicPathOptions": { 32 | "title": "Webpack Public Path Options", 33 | "description": "The settings for the webpack public path loader", 34 | "type": "object", 35 | "additionalProperties": false, 36 | "properties": { 37 | "systemJs": { 38 | "type": "boolean" 39 | }, 40 | "scriptPath": { 41 | "type": "string" 42 | }, 43 | "urlPrefix": { 44 | "type": "string" 45 | }, 46 | "publicPath": { 47 | "type": "string" 48 | } 49 | } 50 | }, 51 | 52 | "linkedExternalsToBundle": { 53 | "title": "Linked Externals to Bundle", 54 | "description": "List of linked externals that should be bundled. Not recommended for normal use.", 55 | "type": "array", 56 | "items": { 57 | "type": "string" 58 | } 59 | }, 60 | 61 | "statsObjectsDropLocation": { 62 | "title": "Stats Objects Drop Location", 63 | "description": "If set, drop the webpack stats object and visualization in this directory in addition to the temp directory.", 64 | "type": "string" 65 | } 66 | } 67 | } -------------------------------------------------------------------------------- /spfx-build/copy-assets.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Copy Assets Task Configuration", 3 | "description": "Defines parameters for the task which copies assets", 4 | 5 | "type": "object", 6 | "additionalProperties": false, 7 | "properties": { 8 | "$schema": { 9 | "type": "string" 10 | }, 11 | 12 | "deployCdnPath": { 13 | "title": "Path to CDN", 14 | "description": "Path to where assets should be staged for deployment to CDN during a production build", 15 | "type": "string" 16 | }, 17 | 18 | "extsToIgnore": { 19 | "title": "Extensions to Ignore", 20 | "description": "Extensions of webpack-produced assets to ignore", 21 | "type": "array", 22 | "items": { 23 | "type": "string" 24 | } 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /spfx-build/copy-static-assets.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "copy-static-assets Configuration", 3 | "description": "Defines which static assets should be copied from the src directory to the lib directory", 4 | 5 | "type": "object", 6 | "additionalProperties": false, 7 | "properties": { 8 | "$schema": { 9 | "description": "Part of the JSON Schema standard, this optional keyword declares the URL of the schema that the file conforms to. Editors may download the schema and use it to perform syntax highlighting.", 10 | "type": "string" 11 | }, 12 | 13 | "includeExtensions": { 14 | "title": "Include Extensions", 15 | "description": "list of extensions to be copied", 16 | 17 | "type": "array", 18 | "uniqueItems": true, 19 | "items": { 20 | "type": "string" 21 | } 22 | }, 23 | 24 | "excludeExtensions": { 25 | "title": "Exclude Extensions", 26 | "description": "list of extensions not to be copied. Takes prescedence over includeExtensions", 27 | 28 | "type": "array", 29 | "uniqueItems": true, 30 | "items": { 31 | "type": "string" 32 | } 33 | }, 34 | 35 | "includeFiles": { 36 | "title": "Include Files", 37 | "description": "list of globs to be copied. Takes prescedence over extensions", 38 | 39 | "type": "array", 40 | "uniqueItems": true, 41 | "items": { 42 | "type": "string" 43 | } 44 | }, 45 | 46 | "excludeFiles": { 47 | "title": "Exclude Files", 48 | "description": "list of globs not to be copied. Takes precedence over includeFiles", 49 | 50 | "type": "array", 51 | "uniqueItems": true, 52 | "items": { 53 | "type": "string" 54 | } 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /spfx-build/deploy-azure-storage.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Deploy Azure Storage Task Configuration", 3 | "description": "Defines configuration for uploading a certain folder to an Azure Blob Storage Account", 4 | 5 | "type": "object", 6 | "additionalProperties": false, 7 | "properties": { 8 | "$schema": { 9 | "type": "string" 10 | }, 11 | "account": { 12 | "title": "Azure Account", 13 | "description": "The Azure account name. Defaults to undefined.", 14 | "type": "string" 15 | }, 16 | "container": { 17 | "title": "Azure Container", 18 | "description": "The Azure container to use. Defaults to undefined.", 19 | "type": "string" 20 | }, 21 | "accessKey": { 22 | "title": "The Azure Access Key", 23 | "description": "The primary or secondary Azure blob storage access key. Defaults to undefined.", 24 | "type": "string" 25 | }, 26 | "workingDir": { 27 | "title": "Directory to Upload", 28 | "description": "The directory to upload to the CDN. Defaults to the distFolder. Use in conjunction with uploadPath", 29 | "type": "string" 30 | }, 31 | "uploadPath": { 32 | "title": "Upload Match", 33 | "description": "The glob to search for files in workingDir to upload. Default is `**/*.*`", 34 | "type": "string" 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /spfx-build/write-manifests.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Write Manifests Task Configuration", 3 | "description": "Defines configuration options for the task which modifies manifests", 4 | 5 | "type": "object", 6 | "additionalProperties": false, 7 | "properties": { 8 | "$schema": { 9 | "type": "string" 10 | }, 11 | 12 | "deployCdnPath": { 13 | "description": "The deploy CDN path. If both deployCdnPath and manifestDeployCdnPath are provided, the deployCdnPath is used for manifest icons and the manifestDeployCdnPath is used for manifest JSON files", 14 | "type": "string" 15 | }, 16 | 17 | "manifestDeployCdnPath": { 18 | "description": "The manifest deploy path. If not provided, defaults to deployCdnPath", 19 | "type": "string" 20 | }, 21 | 22 | "cdnBasePath": { 23 | "title": "CDN Base Path", 24 | "description": "This value will populate the 'internalModuleBaseUrls' CDN manifest property.", 25 | "type": "string" 26 | }, 27 | 28 | "debugBasePath": { 29 | "title": "Debug Base Path", 30 | "description": "The debug base path, which is the value that will populate the 'internalModuleBaseUrls' manifest property for debug manifests.", 31 | "type": "string" 32 | }, 33 | 34 | "buildSingleLocale": { 35 | "title": "Build Single Locale", 36 | "description": "If specified, only use this locale.", 37 | "type": "string" 38 | }, 39 | 40 | "cumulativeManifestOptions": { 41 | "title": "Cumulative Manifest Options", 42 | "description": "Options for the cumulative manifest files to be dropped in the dist folder. If this field is null, cumulative files will not be produced.", 43 | "type": "object", 44 | "additionalProperties": false, 45 | "properties": { 46 | "ignoreOutputManifestIds": { 47 | "title": "Ignore Output Manifest IDs", 48 | "description": "IDs of manifests to exclude from the manifest map file.", 49 | "type": "array", 50 | "items": { 51 | "type": "string" 52 | } 53 | }, 54 | 55 | "baseUrl": { 56 | "title": "Base URL", 57 | "description": "The base path for debug manifests. Expected to match the result of the 'debugBasePath' function passed to the WriteManifestsTask task.", 58 | "type": "string" 59 | } 60 | } 61 | } 62 | } 63 | } -------------------------------------------------------------------------------- /spfx/1.10/any-value.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "any-value.schema.json", 3 | 4 | "type": [ 5 | "array", 6 | "boolean", 7 | "integer", 8 | "number", 9 | "object", 10 | "string" 11 | ], 12 | "items": { 13 | "$ref": "any-value.schema.json" 14 | } 15 | } -------------------------------------------------------------------------------- /spfx/1.10/client-side-assembly-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-assembly-manifest.schema.json", 3 | "title": "Client-side assembly manifest", 4 | "description": "A client-side assembly is a standalone-executable bundle containing a component, the loader, and all of their dependencies.", 5 | 6 | "type": "object", 7 | "allOf": [ 8 | { 9 | "type": "object", 10 | "properties": { 11 | "$schema": { "type": "string" }, 12 | 13 | "manifestVersion": { "$ref": "any-value.schema.json" }, 14 | "id": { "$ref": "any-value.schema.json" }, 15 | "alias": { "$ref": "any-value.schema.json" }, 16 | "version": { "$ref": "any-value.schema.json" }, 17 | "loaderConfig": { "$ref": "any-value.schema.json" }, 18 | "componentType": { "$ref": "any-value.schema.json" }, 19 | "rootComponentId": { "$ref": "any-value.schema.json" } 20 | }, 21 | "additionalProperties": false 22 | }, 23 | { 24 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 25 | }, 26 | { 27 | "type": "object", 28 | "required": [ 29 | "componentType", 30 | "rootComponentId" 31 | ], 32 | "properties": { 33 | "componentType": { 34 | "type": "string", 35 | "enum": [ 36 | "Library" 37 | ] 38 | }, 39 | 40 | "rootComponentId": { 41 | "$ref": "guid.schema.json", 42 | "title": "ID", 43 | "description": "The ID of the component from which the assembly is built." 44 | } 45 | }, 46 | 47 | "additionalProperties": true 48 | } 49 | ] 50 | } 51 | -------------------------------------------------------------------------------- /spfx/1.10/client-side-extension-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-extension-manifest.schema.json", 3 | "title": "Client-side extension manifest", 4 | "description": "A client-side extension is a plug-in component that customizes or augments the functionality of a client-side application.", 5 | 6 | "definitions": { 7 | "clientSideExtensionManifest": { 8 | "type": "object", 9 | "required": [ 10 | "componentType", 11 | "extensionType" 12 | ], 13 | "properties": { 14 | "componentType": { 15 | "type": "string", 16 | "enum": [ 17 | "Extension" 18 | ] 19 | }, 20 | "extensionType": { 21 | "title": "Client-side Extension Type", 22 | "description": "Specifies the type of client-side extension. Some types have their own JSON schemas supporting additional fields.", 23 | "type": "string", 24 | "enum": [ 25 | "Unknown", 26 | "ApplicationCustomizer", 27 | "FieldCustomizer", 28 | "ListViewCommandSet", 29 | "SearchQueryModifier" 30 | ] 31 | } 32 | }, 33 | "additionalProperties": true 34 | } 35 | }, 36 | 37 | "type": "object", 38 | "allOf": [ 39 | { 40 | "type": "object", 41 | "properties": { 42 | "$schema": { "type": "string" }, 43 | 44 | "manifestVersion": { "$ref": "any-value.schema.json" }, 45 | "id": { "$ref": "any-value.schema.json" }, 46 | "alias": { "$ref": "any-value.schema.json" }, 47 | "version": { "$ref": "any-value.schema.json" }, 48 | "loaderConfig": { "$ref": "any-value.schema.json" }, 49 | "componentType": { "$ref": "any-value.schema.json" }, 50 | "extensionType": { "$ref": "any-value.schema.json" }, 51 | "preloadComponents": { "$ref": "any-value.schema.json" }, 52 | "safeWithCustomScriptDisabled": { "$ref": "any-value.schema.json" }, 53 | "requiresCustomScript": { "$ref": "any-value.schema.json"}, 54 | "loadLegacyFabricCss": { "$ref": "any-value.schema.json" } 55 | }, 56 | "additionalProperties": false 57 | }, 58 | { 59 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 60 | }, 61 | { 62 | "$ref": "#/definitions/clientSideExtensionManifest" 63 | } 64 | ] 65 | } 66 | -------------------------------------------------------------------------------- /spfx/1.10/client-side-library-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-library-manifest.schema.json", 3 | "title": "Client-side library manifest", 4 | "description": "A client-side library is a library containing reusable JavaScript code and/or resources.", 5 | 6 | "type": "object", 7 | "allOf": [ 8 | { 9 | "type": "object", 10 | "properties": { 11 | "$schema": { "type": "string" }, 12 | 13 | "manifestVersion": { "$ref": "any-value.schema.json" }, 14 | "id": { "$ref": "any-value.schema.json" }, 15 | "alias": { "$ref": "any-value.schema.json" }, 16 | "version": { "$ref": "any-value.schema.json" }, 17 | "loaderConfig": { "$ref": "any-value.schema.json" }, 18 | "componentType": { "$ref": "any-value.schema.json" }, 19 | "preloadComponents": { "$ref": "any-value.schema.json" } 20 | }, 21 | "additionalProperties": false 22 | }, 23 | { 24 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 25 | }, 26 | { 27 | "type": "object", 28 | "required": [ 29 | "componentType" 30 | ], 31 | "properties": { 32 | "componentType": { 33 | "type": "string", 34 | "enum": [ 35 | "Library" 36 | ] 37 | } 38 | }, 39 | 40 | "additionalProperties": true 41 | } 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /spfx/1.10/client-side-manifest-base.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-manifest-base.schema.json", 3 | "title": "Client-side component manifest base", 4 | "description": "Properties common to all deployable manifests.", 5 | 6 | "type": "object", 7 | "required": [ 8 | "id", 9 | "manifestVersion" 10 | ], 11 | 12 | "properties": { 13 | "manifestVersion": { 14 | "type": "integer", 15 | "title": "Manifest Version", 16 | "description": "Version of the component manifest schema. The value of this field is controlled by Microsoft. The purpose of this field is to help manage upgrades of the component manifest schema. A component developer needs to only confirm that they are using the correct value per the manifest schema. Please read the \"manifest upgrade rules\" for more details on when the schema could change. Note, manifest schema version upgrade will be considered a big API change event and will be advertised broadly.", 17 | "minimum": 2 18 | }, 19 | 20 | "id": { 21 | "$ref": "guid.schema.json", 22 | "title": "ID", 23 | "description": "A universally unique component id. Each client side component is required to have this id. Once an id has been used for a component, it cannot be changed. A change in this value is treated same as the creation of a new component. Two components are never expected to have the same id." 24 | } 25 | }, 26 | 27 | "additionalProperties": true 28 | } -------------------------------------------------------------------------------- /spfx/1.10/guid.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "guid.schema.json", 3 | 4 | "type": "string", 5 | "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" 6 | } 7 | -------------------------------------------------------------------------------- /spfx/1.10/localized-string.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "localized-string.schema.json", 3 | 4 | "type": "object", 5 | "oneOf": [ 6 | { 7 | "required": [ 8 | "default" 9 | ] 10 | }, 11 | { 12 | "required": [ 13 | "id" 14 | ] 15 | } 16 | ], 17 | "properties": { 18 | "default": { 19 | "title": "Default string", 20 | "description": "String to be used if a locale doesn't exist", 21 | "type": "string", 22 | "minLength": 1 23 | }, 24 | "id": { 25 | "title": "Id for the localized string", 26 | "description": "Id for the localized string in the form '$:;'", 27 | "type": "string", 28 | "minLength": 1, 29 | "pattern": "^\\$[^:]+\\:.+\\;$" 30 | } 31 | }, 32 | "patternProperties": { 33 | ".+": { 34 | "title": "Localized string", 35 | "type": "string", 36 | "minLength": 1 37 | } 38 | }, 39 | 40 | "additionalProperties": false 41 | } 42 | -------------------------------------------------------------------------------- /spfx/1.10/semver.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "semver.schema.json", 3 | 4 | "type": "string", 5 | "minLength": 5, 6 | "maxLength": 14, 7 | "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$" 8 | } 9 | -------------------------------------------------------------------------------- /spfx/1.11/any-value.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "any-value.schema.json", 3 | 4 | "type": [ 5 | "array", 6 | "boolean", 7 | "integer", 8 | "number", 9 | "object", 10 | "string" 11 | ], 12 | "items": { 13 | "$ref": "any-value.schema.json" 14 | } 15 | } -------------------------------------------------------------------------------- /spfx/1.11/client-side-assembly-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-assembly-manifest.schema.json", 3 | "title": "Client-side assembly manifest", 4 | "description": "A client-side assembly is a standalone-executable bundle containing a component, the loader, and all of their dependencies.", 5 | 6 | "type": "object", 7 | "allOf": [ 8 | { 9 | "type": "object", 10 | "properties": { 11 | "$schema": { "type": "string" }, 12 | 13 | "manifestVersion": { "$ref": "any-value.schema.json" }, 14 | "id": { "$ref": "any-value.schema.json" }, 15 | "alias": { "$ref": "any-value.schema.json" }, 16 | "version": { "$ref": "any-value.schema.json" }, 17 | "loaderConfig": { "$ref": "any-value.schema.json" }, 18 | "componentType": { "$ref": "any-value.schema.json" }, 19 | "rootComponentId": { "$ref": "any-value.schema.json" } 20 | }, 21 | "additionalProperties": false 22 | }, 23 | { 24 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 25 | }, 26 | { 27 | "type": "object", 28 | "required": [ 29 | "componentType", 30 | "rootComponentId" 31 | ], 32 | "properties": { 33 | "componentType": { 34 | "type": "string", 35 | "enum": [ 36 | "Library" 37 | ] 38 | }, 39 | 40 | "rootComponentId": { 41 | "$ref": "guid.schema.json", 42 | "title": "ID", 43 | "description": "The ID of the component from which the assembly is built." 44 | } 45 | }, 46 | 47 | "additionalProperties": true 48 | } 49 | ] 50 | } 51 | -------------------------------------------------------------------------------- /spfx/1.11/client-side-extension-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-extension-manifest.schema.json", 3 | "title": "Client-side extension manifest", 4 | "description": "A client-side extension is a plug-in component that customizes or augments the functionality of a client-side application.", 5 | 6 | "definitions": { 7 | "clientSideExtensionManifest": { 8 | "type": "object", 9 | "required": [ 10 | "componentType", 11 | "extensionType" 12 | ], 13 | "properties": { 14 | "componentType": { 15 | "type": "string", 16 | "enum": [ 17 | "Extension" 18 | ] 19 | }, 20 | "extensionType": { 21 | "title": "Client-side Extension Type", 22 | "description": "Specifies the type of client-side extension. Some types have their own JSON schemas supporting additional fields.", 23 | "type": "string", 24 | "enum": [ 25 | "Unknown", 26 | "ApplicationCustomizer", 27 | "FieldCustomizer", 28 | "ListViewCommandSet", 29 | "SearchQueryModifier" 30 | ] 31 | } 32 | }, 33 | "additionalProperties": true 34 | } 35 | }, 36 | 37 | "type": "object", 38 | "allOf": [ 39 | { 40 | "type": "object", 41 | "properties": { 42 | "$schema": { "type": "string" }, 43 | 44 | "manifestVersion": { "$ref": "any-value.schema.json" }, 45 | "id": { "$ref": "any-value.schema.json" }, 46 | "alias": { "$ref": "any-value.schema.json" }, 47 | "version": { "$ref": "any-value.schema.json" }, 48 | "loaderConfig": { "$ref": "any-value.schema.json" }, 49 | "componentType": { "$ref": "any-value.schema.json" }, 50 | "extensionType": { "$ref": "any-value.schema.json" }, 51 | "preloadComponents": { "$ref": "any-value.schema.json" }, 52 | "safeWithCustomScriptDisabled": { "$ref": "any-value.schema.json" }, 53 | "requiresCustomScript": { "$ref": "any-value.schema.json"}, 54 | "loadLegacyFabricCss": { "$ref": "any-value.schema.json" } 55 | }, 56 | "additionalProperties": false 57 | }, 58 | { 59 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 60 | }, 61 | { 62 | "$ref": "#/definitions/clientSideExtensionManifest" 63 | } 64 | ] 65 | } 66 | -------------------------------------------------------------------------------- /spfx/1.11/client-side-library-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-library-manifest.schema.json", 3 | "title": "Client-side library manifest", 4 | "description": "A client-side library is a library containing reusable JavaScript code and/or resources.", 5 | 6 | "type": "object", 7 | "allOf": [ 8 | { 9 | "type": "object", 10 | "properties": { 11 | "$schema": { "type": "string" }, 12 | 13 | "manifestVersion": { "$ref": "any-value.schema.json" }, 14 | "id": { "$ref": "any-value.schema.json" }, 15 | "alias": { "$ref": "any-value.schema.json" }, 16 | "version": { "$ref": "any-value.schema.json" }, 17 | "loaderConfig": { "$ref": "any-value.schema.json" }, 18 | "componentType": { "$ref": "any-value.schema.json" }, 19 | "preloadComponents": { "$ref": "any-value.schema.json" } 20 | }, 21 | "additionalProperties": false 22 | }, 23 | { 24 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 25 | }, 26 | { 27 | "type": "object", 28 | "required": [ 29 | "componentType" 30 | ], 31 | "properties": { 32 | "componentType": { 33 | "type": "string", 34 | "enum": [ 35 | "Library" 36 | ] 37 | } 38 | }, 39 | 40 | "additionalProperties": true 41 | } 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /spfx/1.11/client-side-manifest-base.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-manifest-base.schema.json", 3 | "title": "Client-side component manifest base", 4 | "description": "Properties common to all deployable manifests.", 5 | 6 | "type": "object", 7 | "required": [ 8 | "id", 9 | "manifestVersion" 10 | ], 11 | 12 | "properties": { 13 | "manifestVersion": { 14 | "type": "integer", 15 | "title": "Manifest Version", 16 | "description": "Version of the component manifest schema. The value of this field is controlled by Microsoft. The purpose of this field is to help manage upgrades of the component manifest schema. A component developer needs to only confirm that they are using the correct value per the manifest schema. Please read the \"manifest upgrade rules\" for more details on when the schema could change. Note, manifest schema version upgrade will be considered a big API change event and will be advertised broadly.", 17 | "minimum": 2 18 | }, 19 | 20 | "id": { 21 | "$ref": "guid.schema.json", 22 | "title": "ID", 23 | "description": "A universally unique component id. Each client side component is required to have this id. Once an id has been used for a component, it cannot be changed. A change in this value is treated same as the creation of a new component. Two components are never expected to have the same id." 24 | } 25 | }, 26 | 27 | "additionalProperties": true 28 | } -------------------------------------------------------------------------------- /spfx/1.11/guid.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "guid.schema.json", 3 | 4 | "type": "string", 5 | "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" 6 | } 7 | -------------------------------------------------------------------------------- /spfx/1.11/localized-string.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "localized-string.schema.json", 3 | 4 | "type": "object", 5 | "oneOf": [ 6 | { 7 | "required": [ 8 | "default" 9 | ] 10 | }, 11 | { 12 | "required": [ 13 | "id" 14 | ] 15 | } 16 | ], 17 | "properties": { 18 | "default": { 19 | "title": "Default string", 20 | "description": "String to be used if a locale doesn't exist", 21 | "type": "string", 22 | "minLength": 1 23 | }, 24 | "id": { 25 | "title": "Id for the localized string", 26 | "description": "Id for the localized string in the form '$:;'", 27 | "type": "string", 28 | "minLength": 1, 29 | "pattern": "^\\$[^:]+\\:.+\\;$" 30 | } 31 | }, 32 | "patternProperties": { 33 | ".+": { 34 | "title": "Localized string", 35 | "type": "string", 36 | "minLength": 1 37 | } 38 | }, 39 | 40 | "additionalProperties": false 41 | } 42 | -------------------------------------------------------------------------------- /spfx/1.11/semver.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "semver.schema.json", 3 | 4 | "type": "string", 5 | "minLength": 5, 6 | "maxLength": 14, 7 | "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$" 8 | } 9 | -------------------------------------------------------------------------------- /spfx/1.12/any-value.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "any-value.schema.json", 3 | 4 | "type": [ 5 | "array", 6 | "boolean", 7 | "integer", 8 | "number", 9 | "object", 10 | "string" 11 | ], 12 | "items": { 13 | "$ref": "any-value.schema.json" 14 | } 15 | } -------------------------------------------------------------------------------- /spfx/1.12/client-side-assembly-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-assembly-manifest.schema.json", 3 | "title": "Client-side assembly manifest", 4 | "description": "A client-side assembly is a standalone-executable bundle containing a component, the loader, and all of their dependencies.", 5 | 6 | "type": "object", 7 | "allOf": [ 8 | { 9 | "type": "object", 10 | "properties": { 11 | "$schema": { "type": "string" }, 12 | 13 | "manifestVersion": { "$ref": "any-value.schema.json" }, 14 | "id": { "$ref": "any-value.schema.json" }, 15 | "alias": { "$ref": "any-value.schema.json" }, 16 | "version": { "$ref": "any-value.schema.json" }, 17 | "loaderConfig": { "$ref": "any-value.schema.json" }, 18 | "componentType": { "$ref": "any-value.schema.json" }, 19 | "rootComponentId": { "$ref": "any-value.schema.json" } 20 | }, 21 | "additionalProperties": false 22 | }, 23 | { 24 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 25 | }, 26 | { 27 | "type": "object", 28 | "required": [ 29 | "componentType", 30 | "rootComponentId" 31 | ], 32 | "properties": { 33 | "componentType": { 34 | "type": "string", 35 | "enum": [ 36 | "Library" 37 | ] 38 | }, 39 | 40 | "rootComponentId": { 41 | "$ref": "guid.schema.json", 42 | "title": "ID", 43 | "description": "The ID of the component from which the assembly is built." 44 | } 45 | }, 46 | 47 | "additionalProperties": true 48 | } 49 | ] 50 | } 51 | -------------------------------------------------------------------------------- /spfx/1.12/client-side-extension-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-extension-manifest.schema.json", 3 | "title": "Client-side extension manifest", 4 | "description": "A client-side extension is a plug-in component that customizes or augments the functionality of a client-side application.", 5 | 6 | "definitions": { 7 | "clientSideExtensionManifest": { 8 | "type": "object", 9 | "required": [ 10 | "componentType", 11 | "extensionType" 12 | ], 13 | "properties": { 14 | "componentType": { 15 | "type": "string", 16 | "enum": [ 17 | "Extension" 18 | ] 19 | }, 20 | "extensionType": { 21 | "title": "Client-side Extension Type", 22 | "description": "Specifies the type of client-side extension. Some types have their own JSON schemas supporting additional fields.", 23 | "type": "string", 24 | "enum": [ 25 | "Unknown", 26 | "ApplicationCustomizer", 27 | "FieldCustomizer", 28 | "ListViewCommandSet", 29 | "SearchQueryModifier" 30 | ] 31 | } 32 | }, 33 | "additionalProperties": true 34 | } 35 | }, 36 | 37 | "type": "object", 38 | "allOf": [ 39 | { 40 | "type": "object", 41 | "properties": { 42 | "$schema": { "type": "string" }, 43 | 44 | "manifestVersion": { "$ref": "any-value.schema.json" }, 45 | "id": { "$ref": "any-value.schema.json" }, 46 | "alias": { "$ref": "any-value.schema.json" }, 47 | "version": { "$ref": "any-value.schema.json" }, 48 | "loaderConfig": { "$ref": "any-value.schema.json" }, 49 | "componentType": { "$ref": "any-value.schema.json" }, 50 | "extensionType": { "$ref": "any-value.schema.json" }, 51 | "preloadComponents": { "$ref": "any-value.schema.json" }, 52 | "safeWithCustomScriptDisabled": { "$ref": "any-value.schema.json" }, 53 | "requiresCustomScript": { "$ref": "any-value.schema.json"}, 54 | "loadLegacyFabricCss": { "$ref": "any-value.schema.json" } 55 | }, 56 | "additionalProperties": false 57 | }, 58 | { 59 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 60 | }, 61 | { 62 | "$ref": "#/definitions/clientSideExtensionManifest" 63 | } 64 | ] 65 | } 66 | -------------------------------------------------------------------------------- /spfx/1.12/client-side-library-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-library-manifest.schema.json", 3 | "title": "Client-side library manifest", 4 | "description": "A client-side library is a library containing reusable JavaScript code and/or resources.", 5 | 6 | "type": "object", 7 | "allOf": [ 8 | { 9 | "type": "object", 10 | "properties": { 11 | "$schema": { "type": "string" }, 12 | 13 | "manifestVersion": { "$ref": "any-value.schema.json" }, 14 | "id": { "$ref": "any-value.schema.json" }, 15 | "alias": { "$ref": "any-value.schema.json" }, 16 | "version": { "$ref": "any-value.schema.json" }, 17 | "loaderConfig": { "$ref": "any-value.schema.json" }, 18 | "componentType": { "$ref": "any-value.schema.json" }, 19 | "preloadComponents": { "$ref": "any-value.schema.json" } 20 | }, 21 | "additionalProperties": false 22 | }, 23 | { 24 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 25 | }, 26 | { 27 | "type": "object", 28 | "required": [ 29 | "componentType" 30 | ], 31 | "properties": { 32 | "componentType": { 33 | "type": "string", 34 | "enum": [ 35 | "Library" 36 | ] 37 | } 38 | }, 39 | 40 | "additionalProperties": true 41 | } 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /spfx/1.12/client-side-manifest-base.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-manifest-base.schema.json", 3 | "title": "Client-side component manifest base", 4 | "description": "Properties common to all deployable manifests.", 5 | 6 | "type": "object", 7 | "required": [ 8 | "id", 9 | "manifestVersion" 10 | ], 11 | 12 | "properties": { 13 | "manifestVersion": { 14 | "type": "integer", 15 | "title": "Manifest Version", 16 | "description": "Version of the component manifest schema. The value of this field is controlled by Microsoft. The purpose of this field is to help manage upgrades of the component manifest schema. A component developer needs to only confirm that they are using the correct value per the manifest schema. Please read the \"manifest upgrade rules\" for more details on when the schema could change. Note, manifest schema version upgrade will be considered a big API change event and will be advertised broadly.", 17 | "minimum": 2 18 | }, 19 | 20 | "id": { 21 | "$ref": "guid.schema.json", 22 | "title": "ID", 23 | "description": "A universally unique component id. Each client side component is required to have this id. Once an id has been used for a component, it cannot be changed. A change in this value is treated same as the creation of a new component. Two components are never expected to have the same id." 24 | } 25 | }, 26 | 27 | "additionalProperties": true 28 | } -------------------------------------------------------------------------------- /spfx/1.12/guid.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "guid.schema.json", 3 | 4 | "type": "string", 5 | "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" 6 | } 7 | -------------------------------------------------------------------------------- /spfx/1.12/localized-string.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "localized-string.schema.json", 3 | 4 | "type": "object", 5 | "oneOf": [ 6 | { 7 | "required": [ 8 | "default" 9 | ] 10 | }, 11 | { 12 | "required": [ 13 | "id" 14 | ] 15 | } 16 | ], 17 | "properties": { 18 | "default": { 19 | "title": "Default string", 20 | "description": "String to be used if a locale doesn't exist", 21 | "type": "string", 22 | "minLength": 1 23 | }, 24 | "id": { 25 | "title": "Id for the localized string", 26 | "description": "Id for the localized string in the form '$:;'", 27 | "type": "string", 28 | "minLength": 1, 29 | "pattern": "^\\$[^:]+\\:.+\\;$" 30 | } 31 | }, 32 | "patternProperties": { 33 | ".+": { 34 | "title": "Localized string", 35 | "type": "string", 36 | "minLength": 1 37 | } 38 | }, 39 | 40 | "additionalProperties": false 41 | } 42 | -------------------------------------------------------------------------------- /spfx/1.12/semver.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "semver.schema.json", 3 | 4 | "type": "string", 5 | "minLength": 5, 6 | "maxLength": 14, 7 | "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$" 8 | } 9 | -------------------------------------------------------------------------------- /spfx/1.13/any-value.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "any-value.schema.json", 3 | 4 | "type": [ 5 | "array", 6 | "boolean", 7 | "integer", 8 | "number", 9 | "object", 10 | "string" 11 | ], 12 | "items": { 13 | "$ref": "any-value.schema.json" 14 | } 15 | } -------------------------------------------------------------------------------- /spfx/1.13/client-side-assembly-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-assembly-manifest.schema.json", 3 | "title": "Client-side assembly manifest", 4 | "description": "A client-side assembly is a standalone-executable bundle containing a component, the loader, and all of their dependencies.", 5 | 6 | "type": "object", 7 | "allOf": [ 8 | { 9 | "type": "object", 10 | "properties": { 11 | "$schema": { "type": "string" }, 12 | 13 | "manifestVersion": { "$ref": "any-value.schema.json" }, 14 | "id": { "$ref": "any-value.schema.json" }, 15 | "alias": { "$ref": "any-value.schema.json" }, 16 | "version": { "$ref": "any-value.schema.json" }, 17 | "loaderConfig": { "$ref": "any-value.schema.json" }, 18 | "componentType": { "$ref": "any-value.schema.json" }, 19 | "rootComponentId": { "$ref": "any-value.schema.json" } 20 | }, 21 | "additionalProperties": false 22 | }, 23 | { 24 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 25 | }, 26 | { 27 | "type": "object", 28 | "required": [ 29 | "componentType", 30 | "rootComponentId" 31 | ], 32 | "properties": { 33 | "componentType": { 34 | "type": "string", 35 | "enum": [ 36 | "Library" 37 | ] 38 | }, 39 | 40 | "rootComponentId": { 41 | "$ref": "guid.schema.json", 42 | "title": "ID", 43 | "description": "The ID of the component from which the assembly is built." 44 | } 45 | }, 46 | 47 | "additionalProperties": true 48 | } 49 | ] 50 | } 51 | -------------------------------------------------------------------------------- /spfx/1.13/client-side-extension-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-extension-manifest.schema.json", 3 | "title": "Client-side extension manifest", 4 | "description": "A client-side extension is a plug-in component that customizes or augments the functionality of a client-side application.", 5 | 6 | "definitions": { 7 | "clientSideExtensionManifest": { 8 | "type": "object", 9 | "required": [ 10 | "componentType", 11 | "extensionType" 12 | ], 13 | "properties": { 14 | "componentType": { 15 | "type": "string", 16 | "enum": [ 17 | "Extension" 18 | ] 19 | }, 20 | "extensionType": { 21 | "title": "Client-side Extension Type", 22 | "description": "Specifies the type of client-side extension. Some types have their own JSON schemas supporting additional fields.", 23 | "type": "string", 24 | "enum": [ 25 | "Unknown", 26 | "ApplicationCustomizer", 27 | "FieldCustomizer", 28 | "ListViewCommandSet", 29 | "SearchQueryModifier" 30 | ] 31 | } 32 | }, 33 | "additionalProperties": true 34 | } 35 | }, 36 | 37 | "type": "object", 38 | "allOf": [ 39 | { 40 | "type": "object", 41 | "properties": { 42 | "$schema": { "type": "string" }, 43 | 44 | "manifestVersion": { "$ref": "any-value.schema.json" }, 45 | "id": { "$ref": "any-value.schema.json" }, 46 | "alias": { "$ref": "any-value.schema.json" }, 47 | "version": { "$ref": "any-value.schema.json" }, 48 | "loaderConfig": { "$ref": "any-value.schema.json" }, 49 | "componentType": { "$ref": "any-value.schema.json" }, 50 | "extensionType": { "$ref": "any-value.schema.json" }, 51 | "preloadComponents": { "$ref": "any-value.schema.json" }, 52 | "safeWithCustomScriptDisabled": { "$ref": "any-value.schema.json" }, 53 | "requiresCustomScript": { "$ref": "any-value.schema.json"}, 54 | "loadLegacyFabricCss": { "$ref": "any-value.schema.json" } 55 | }, 56 | "additionalProperties": false 57 | }, 58 | { 59 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 60 | }, 61 | { 62 | "$ref": "#/definitions/clientSideExtensionManifest" 63 | } 64 | ] 65 | } 66 | -------------------------------------------------------------------------------- /spfx/1.13/client-side-library-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-library-manifest.schema.json", 3 | "title": "Client-side library manifest", 4 | "description": "A client-side library is a library containing reusable JavaScript code and/or resources.", 5 | 6 | "type": "object", 7 | "allOf": [ 8 | { 9 | "type": "object", 10 | "properties": { 11 | "$schema": { "type": "string" }, 12 | 13 | "manifestVersion": { "$ref": "any-value.schema.json" }, 14 | "id": { "$ref": "any-value.schema.json" }, 15 | "alias": { "$ref": "any-value.schema.json" }, 16 | "version": { "$ref": "any-value.schema.json" }, 17 | "loaderConfig": { "$ref": "any-value.schema.json" }, 18 | "componentType": { "$ref": "any-value.schema.json" }, 19 | "preloadComponents": { "$ref": "any-value.schema.json" } 20 | }, 21 | "additionalProperties": false 22 | }, 23 | { 24 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 25 | }, 26 | { 27 | "type": "object", 28 | "required": [ 29 | "componentType" 30 | ], 31 | "properties": { 32 | "componentType": { 33 | "type": "string", 34 | "enum": [ 35 | "Library" 36 | ] 37 | } 38 | }, 39 | 40 | "additionalProperties": true 41 | } 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /spfx/1.13/client-side-manifest-base.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-manifest-base.schema.json", 3 | "title": "Client-side component manifest base", 4 | "description": "Properties common to all deployable manifests.", 5 | 6 | "type": "object", 7 | "required": [ 8 | "id", 9 | "manifestVersion" 10 | ], 11 | 12 | "properties": { 13 | "manifestVersion": { 14 | "type": "integer", 15 | "title": "Manifest Version", 16 | "description": "Version of the component manifest schema. The value of this field is controlled by Microsoft. The purpose of this field is to help manage upgrades of the component manifest schema. A component developer needs to only confirm that they are using the correct value per the manifest schema. Please read the \"manifest upgrade rules\" for more details on when the schema could change. Note, manifest schema version upgrade will be considered a big API change event and will be advertised broadly.", 17 | "minimum": 2 18 | }, 19 | 20 | "id": { 21 | "$ref": "guid.schema.json", 22 | "title": "ID", 23 | "description": "A universally unique component id. Each client side component is required to have this id. Once an id has been used for a component, it cannot be changed. A change in this value is treated same as the creation of a new component. Two components are never expected to have the same id." 24 | } 25 | }, 26 | 27 | "additionalProperties": true 28 | } -------------------------------------------------------------------------------- /spfx/1.13/guid.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "guid.schema.json", 3 | 4 | "type": "string", 5 | "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" 6 | } 7 | -------------------------------------------------------------------------------- /spfx/1.13/localized-string.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "localized-string.schema.json", 3 | 4 | "type": "object", 5 | "oneOf": [ 6 | { 7 | "required": [ 8 | "default" 9 | ] 10 | }, 11 | { 12 | "required": [ 13 | "id" 14 | ] 15 | } 16 | ], 17 | "properties": { 18 | "default": { 19 | "title": "Default string", 20 | "description": "String to be used if a locale doesn't exist", 21 | "type": "string", 22 | "minLength": 1 23 | }, 24 | "id": { 25 | "title": "Id for the localized string", 26 | "description": "Id for the localized string in the form '$:;'", 27 | "type": "string", 28 | "minLength": 1, 29 | "pattern": "^\\$[^:]+\\:.+\\;$" 30 | } 31 | }, 32 | "patternProperties": { 33 | ".+": { 34 | "title": "Localized string", 35 | "type": "string", 36 | "minLength": 1 37 | } 38 | }, 39 | 40 | "additionalProperties": false 41 | } 42 | -------------------------------------------------------------------------------- /spfx/1.13/semver.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "semver.schema.json", 3 | 4 | "type": "string", 5 | "minLength": 5, 6 | "maxLength": 14, 7 | "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$" 8 | } 9 | -------------------------------------------------------------------------------- /spfx/1.14/any-value.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "any-value.schema.json", 3 | 4 | "type": [ 5 | "array", 6 | "boolean", 7 | "integer", 8 | "number", 9 | "object", 10 | "string" 11 | ], 12 | "items": { 13 | "$ref": "any-value.schema.json" 14 | } 15 | } -------------------------------------------------------------------------------- /spfx/1.14/client-side-assembly-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-assembly-manifest.schema.json", 3 | "title": "Client-side assembly manifest", 4 | "description": "A client-side assembly is a standalone-executable bundle containing a component, the loader, and all of their dependencies.", 5 | 6 | "type": "object", 7 | "allOf": [ 8 | { 9 | "type": "object", 10 | "properties": { 11 | "$schema": { "type": "string" }, 12 | 13 | "manifestVersion": { "$ref": "any-value.schema.json" }, 14 | "id": { "$ref": "any-value.schema.json" }, 15 | "alias": { "$ref": "any-value.schema.json" }, 16 | "version": { "$ref": "any-value.schema.json" }, 17 | "loaderConfig": { "$ref": "any-value.schema.json" }, 18 | "componentType": { "$ref": "any-value.schema.json" }, 19 | "rootComponentId": { "$ref": "any-value.schema.json" } 20 | }, 21 | "additionalProperties": false 22 | }, 23 | { 24 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 25 | }, 26 | { 27 | "type": "object", 28 | "required": [ 29 | "componentType", 30 | "rootComponentId" 31 | ], 32 | "properties": { 33 | "componentType": { 34 | "type": "string", 35 | "enum": [ 36 | "Library" 37 | ] 38 | }, 39 | 40 | "rootComponentId": { 41 | "$ref": "guid.schema.json", 42 | "title": "ID", 43 | "description": "The ID of the component from which the assembly is built." 44 | } 45 | }, 46 | 47 | "additionalProperties": true 48 | } 49 | ] 50 | } 51 | -------------------------------------------------------------------------------- /spfx/1.14/client-side-extension-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-extension-manifest.schema.json", 3 | "title": "Client-side extension manifest", 4 | "description": "A client-side extension is a plug-in component that customizes or augments the functionality of a client-side application.", 5 | 6 | "definitions": { 7 | "clientSideExtensionManifest": { 8 | "type": "object", 9 | "required": [ 10 | "componentType", 11 | "extensionType" 12 | ], 13 | "properties": { 14 | "componentType": { 15 | "type": "string", 16 | "enum": [ 17 | "Extension" 18 | ] 19 | }, 20 | "extensionType": { 21 | "title": "Client-side Extension Type", 22 | "description": "Specifies the type of client-side extension. Some types have their own JSON schemas supporting additional fields.", 23 | "type": "string", 24 | "enum": [ 25 | "Unknown", 26 | "ApplicationCustomizer", 27 | "FieldCustomizer", 28 | "ListViewCommandSet", 29 | "SearchQueryModifier" 30 | ] 31 | } 32 | }, 33 | "additionalProperties": true 34 | } 35 | }, 36 | 37 | "type": "object", 38 | "allOf": [ 39 | { 40 | "type": "object", 41 | "properties": { 42 | "$schema": { "type": "string" }, 43 | 44 | "manifestVersion": { "$ref": "any-value.schema.json" }, 45 | "id": { "$ref": "any-value.schema.json" }, 46 | "alias": { "$ref": "any-value.schema.json" }, 47 | "version": { "$ref": "any-value.schema.json" }, 48 | "loaderConfig": { "$ref": "any-value.schema.json" }, 49 | "componentType": { "$ref": "any-value.schema.json" }, 50 | "extensionType": { "$ref": "any-value.schema.json" }, 51 | "preloadComponents": { "$ref": "any-value.schema.json" }, 52 | "safeWithCustomScriptDisabled": { "$ref": "any-value.schema.json" }, 53 | "requiresCustomScript": { "$ref": "any-value.schema.json"}, 54 | "loadLegacyFabricCss": { "$ref": "any-value.schema.json" } 55 | }, 56 | "additionalProperties": false 57 | }, 58 | { 59 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 60 | }, 61 | { 62 | "$ref": "#/definitions/clientSideExtensionManifest" 63 | } 64 | ] 65 | } 66 | -------------------------------------------------------------------------------- /spfx/1.14/client-side-library-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-library-manifest.schema.json", 3 | "title": "Client-side library manifest", 4 | "description": "A client-side library is a library containing reusable JavaScript code and/or resources.", 5 | 6 | "type": "object", 7 | "allOf": [ 8 | { 9 | "type": "object", 10 | "properties": { 11 | "$schema": { "type": "string" }, 12 | 13 | "manifestVersion": { "$ref": "any-value.schema.json" }, 14 | "id": { "$ref": "any-value.schema.json" }, 15 | "alias": { "$ref": "any-value.schema.json" }, 16 | "version": { "$ref": "any-value.schema.json" }, 17 | "loaderConfig": { "$ref": "any-value.schema.json" }, 18 | "componentType": { "$ref": "any-value.schema.json" }, 19 | "preloadComponents": { "$ref": "any-value.schema.json" } 20 | }, 21 | "additionalProperties": false 22 | }, 23 | { 24 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 25 | }, 26 | { 27 | "type": "object", 28 | "required": [ 29 | "componentType" 30 | ], 31 | "properties": { 32 | "componentType": { 33 | "type": "string", 34 | "enum": [ 35 | "Library" 36 | ] 37 | } 38 | }, 39 | 40 | "additionalProperties": true 41 | } 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /spfx/1.14/client-side-manifest-base.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-manifest-base.schema.json", 3 | "title": "Client-side component manifest base", 4 | "description": "Properties common to all deployable manifests.", 5 | 6 | "type": "object", 7 | "required": [ 8 | "id", 9 | "manifestVersion" 10 | ], 11 | 12 | "properties": { 13 | "manifestVersion": { 14 | "type": "integer", 15 | "title": "Manifest Version", 16 | "description": "Version of the component manifest schema. The value of this field is controlled by Microsoft. The purpose of this field is to help manage upgrades of the component manifest schema. A component developer needs to only confirm that they are using the correct value per the manifest schema. Please read the \"manifest upgrade rules\" for more details on when the schema could change. Note, manifest schema version upgrade will be considered a big API change event and will be advertised broadly.", 17 | "minimum": 2 18 | }, 19 | 20 | "id": { 21 | "$ref": "guid.schema.json", 22 | "title": "ID", 23 | "description": "A universally unique component id. Each client side component is required to have this id. Once an id has been used for a component, it cannot be changed. A change in this value is treated same as the creation of a new component. Two components are never expected to have the same id." 24 | } 25 | }, 26 | 27 | "additionalProperties": true 28 | } -------------------------------------------------------------------------------- /spfx/1.14/guid.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "guid.schema.json", 3 | 4 | "type": "string", 5 | "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" 6 | } 7 | -------------------------------------------------------------------------------- /spfx/1.14/localized-string.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "localized-string.schema.json", 3 | 4 | "type": "object", 5 | "oneOf": [ 6 | { 7 | "required": [ 8 | "default" 9 | ] 10 | }, 11 | { 12 | "required": [ 13 | "id" 14 | ] 15 | } 16 | ], 17 | "properties": { 18 | "default": { 19 | "title": "Default string", 20 | "description": "String to be used if a locale doesn't exist", 21 | "type": "string", 22 | "minLength": 1 23 | }, 24 | "id": { 25 | "title": "Id for the localized string", 26 | "description": "Id for the localized string in the form '$:;'", 27 | "type": "string", 28 | "minLength": 1, 29 | "pattern": "^\\$[^:]+\\:.+\\;$" 30 | } 31 | }, 32 | "patternProperties": { 33 | ".+": { 34 | "title": "Localized string", 35 | "type": "string", 36 | "minLength": 1 37 | } 38 | }, 39 | 40 | "additionalProperties": false 41 | } 42 | -------------------------------------------------------------------------------- /spfx/1.14/semver.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "semver.schema.json", 3 | 4 | "type": "string", 5 | "minLength": 5, 6 | "maxLength": 14, 7 | "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$" 8 | } 9 | -------------------------------------------------------------------------------- /spfx/1.9.1/any-value.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "any-value.schema.json", 3 | 4 | "type": [ 5 | "array", 6 | "boolean", 7 | "integer", 8 | "number", 9 | "object", 10 | "string" 11 | ], 12 | "items": { 13 | "$ref": "any-value.schema.json" 14 | } 15 | } -------------------------------------------------------------------------------- /spfx/1.9.1/client-side-assembly-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-assembly-manifest.schema.json", 3 | "title": "Client-side assembly manifest", 4 | "description": "A client-side assembly is a standalone-executable bundle containing a component, the loader, and all of their dependencies.", 5 | 6 | "type": "object", 7 | "allOf": [ 8 | { 9 | "type": "object", 10 | "properties": { 11 | "$schema": { "type": "string" }, 12 | 13 | "manifestVersion": { "$ref": "any-value.schema.json" }, 14 | "id": { "$ref": "any-value.schema.json" }, 15 | "alias": { "$ref": "any-value.schema.json" }, 16 | "version": { "$ref": "any-value.schema.json" }, 17 | "loaderConfig": { "$ref": "any-value.schema.json" }, 18 | "componentType": { "$ref": "any-value.schema.json" }, 19 | "rootComponentId": { "$ref": "any-value.schema.json" } 20 | }, 21 | "additionalProperties": false 22 | }, 23 | { 24 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 25 | }, 26 | { 27 | "type": "object", 28 | "required": [ 29 | "componentType", 30 | "rootComponentId" 31 | ], 32 | "properties": { 33 | "componentType": { 34 | "type": "string", 35 | "enum": [ 36 | "Library" 37 | ] 38 | }, 39 | 40 | "rootComponentId": { 41 | "$ref": "guid.schema.json", 42 | "title": "ID", 43 | "description": "The ID of the component from which the assembly is built." 44 | } 45 | }, 46 | 47 | "additionalProperties": true 48 | } 49 | ] 50 | } 51 | -------------------------------------------------------------------------------- /spfx/1.9.1/client-side-extension-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-extension-manifest.schema.json", 3 | "title": "Client-side extension manifest", 4 | "description": "A client-side extension is a plug-in component that customizes or augments the functionality of a client-side application.", 5 | 6 | "definitions": { 7 | "clientSideExtensionManifest": { 8 | "type": "object", 9 | "required": [ 10 | "componentType", 11 | "extensionType" 12 | ], 13 | "properties": { 14 | "componentType": { 15 | "type": "string", 16 | "enum": [ 17 | "Extension" 18 | ] 19 | }, 20 | "extensionType": { 21 | "title": "Client-side Extension Type", 22 | "description": "Specifies the type of client-side extension. Some types have their own JSON schemas supporting additional fields.", 23 | "type": "string", 24 | "enum": [ 25 | "Unknown", 26 | "ApplicationCustomizer", 27 | "FieldCustomizer", 28 | "ListViewCommandSet" 29 | ] 30 | } 31 | }, 32 | "additionalProperties": true 33 | } 34 | }, 35 | 36 | "type": "object", 37 | "allOf": [ 38 | { 39 | "type": "object", 40 | "properties": { 41 | "$schema": { "type": "string" }, 42 | 43 | "manifestVersion": { "$ref": "any-value.schema.json" }, 44 | "id": { "$ref": "any-value.schema.json" }, 45 | "alias": { "$ref": "any-value.schema.json" }, 46 | "version": { "$ref": "any-value.schema.json" }, 47 | "loaderConfig": { "$ref": "any-value.schema.json" }, 48 | "componentType": { "$ref": "any-value.schema.json" }, 49 | "extensionType": { "$ref": "any-value.schema.json" }, 50 | "preloadComponents": { "$ref": "any-value.schema.json" }, 51 | "safeWithCustomScriptDisabled": { "$ref": "any-value.schema.json" }, 52 | "requiresCustomScript": { "$ref": "any-value.schema.json"} 53 | }, 54 | "additionalProperties": false 55 | }, 56 | { 57 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 58 | }, 59 | { 60 | "$ref": "#/definitions/clientSideExtensionManifest" 61 | } 62 | ] 63 | } 64 | -------------------------------------------------------------------------------- /spfx/1.9.1/client-side-library-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-library-manifest.schema.json", 3 | "title": "Client-side library manifest", 4 | "description": "A client-side library is a library containing reusable JavaScript code and/or resources.", 5 | 6 | "type": "object", 7 | "allOf": [ 8 | { 9 | "type": "object", 10 | "properties": { 11 | "$schema": { "type": "string" }, 12 | 13 | "manifestVersion": { "$ref": "any-value.schema.json" }, 14 | "id": { "$ref": "any-value.schema.json" }, 15 | "alias": { "$ref": "any-value.schema.json" }, 16 | "version": { "$ref": "any-value.schema.json" }, 17 | "loaderConfig": { "$ref": "any-value.schema.json" }, 18 | "componentType": { "$ref": "any-value.schema.json" }, 19 | "preloadComponents": { "$ref": "any-value.schema.json" } 20 | }, 21 | "additionalProperties": false 22 | }, 23 | { 24 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 25 | }, 26 | { 27 | "type": "object", 28 | "required": [ 29 | "componentType" 30 | ], 31 | "properties": { 32 | "componentType": { 33 | "type": "string", 34 | "enum": [ 35 | "Library" 36 | ] 37 | } 38 | }, 39 | 40 | "additionalProperties": true 41 | } 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /spfx/1.9.1/guid.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "guid.schema.json", 3 | 4 | "type": "string", 5 | "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" 6 | } 7 | -------------------------------------------------------------------------------- /spfx/1.9.1/localized-string.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "localized-string.schema.json", 3 | 4 | "type": "object", 5 | "oneOf": [ 6 | { 7 | "required": [ 8 | "default" 9 | ] 10 | }, 11 | { 12 | "required": [ 13 | "id" 14 | ] 15 | } 16 | ], 17 | "properties": { 18 | "default": { 19 | "title": "Default string", 20 | "description": "String to be used if a locale doesn't exist", 21 | "type": "string", 22 | "minLength": 1 23 | }, 24 | "id": { 25 | "title": "Id for the localized string", 26 | "description": "Id for the localized string in the form '$:;'", 27 | "type": "string", 28 | "minLength": 1, 29 | "pattern": "^\\$[^:]+\\:.+\\;$" 30 | } 31 | }, 32 | "patternProperties": { 33 | ".+": { 34 | "title": "Localized string", 35 | "type": "string", 36 | "minLength": 1 37 | } 38 | }, 39 | 40 | "additionalProperties": false 41 | } 42 | -------------------------------------------------------------------------------- /spfx/1.9.1/semver.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "semver.schema.json", 3 | 4 | "type": "string", 5 | "minLength": 5, 6 | "maxLength": 14, 7 | "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$" 8 | } 9 | -------------------------------------------------------------------------------- /spfx/any-value.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "any-value.schema.json", 3 | 4 | "type": ["array", "boolean", "integer", "number", "object", "string"], 5 | "items": { 6 | "$ref": "any-value.schema.json" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /spfx/client-side-assembly-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-assembly-manifest.schema.json", 3 | "title": "Client-side assembly manifest", 4 | "description": "A client-side assembly is a standalone-executable bundle containing a component, the loader, and all of their dependencies.", 5 | 6 | "type": "object", 7 | "allOf": [ 8 | { 9 | "type": "object", 10 | "properties": { 11 | "$schema": { "type": "string" }, 12 | 13 | "manifestVersion": { "$ref": "any-value.schema.json" }, 14 | "id": { "$ref": "any-value.schema.json" }, 15 | "alias": { "$ref": "any-value.schema.json" }, 16 | "version": { "$ref": "any-value.schema.json" }, 17 | "loaderConfig": { "$ref": "any-value.schema.json" }, 18 | "componentType": { "$ref": "any-value.schema.json" }, 19 | "rootComponentId": { "$ref": "any-value.schema.json" } 20 | }, 21 | "additionalProperties": false 22 | }, 23 | { 24 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 25 | }, 26 | { 27 | "type": "object", 28 | "required": ["componentType", "rootComponentId"], 29 | "properties": { 30 | "componentType": { 31 | "type": "string", 32 | "enum": ["Library"] 33 | }, 34 | 35 | "rootComponentId": { 36 | "$ref": "guid.schema.json", 37 | "title": "ID", 38 | "description": "The ID of the component from which the assembly is built." 39 | } 40 | }, 41 | 42 | "additionalProperties": true 43 | } 44 | ] 45 | } 46 | -------------------------------------------------------------------------------- /spfx/client-side-extension-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-extension-manifest.schema.json", 3 | "title": "Client-side extension manifest", 4 | "description": "A client-side extension is a plug-in component that customizes or augments the functionality of a client-side application.", 5 | 6 | "definitions": { 7 | "clientSideExtensionManifest": { 8 | "type": "object", 9 | "required": ["componentType", "extensionType"], 10 | "properties": { 11 | "componentType": { 12 | "type": "string", 13 | "enum": ["Extension"] 14 | }, 15 | "extensionType": { 16 | "title": "Client-side Extension Type", 17 | "description": "Specifies the type of client-side extension. Some types have their own JSON schemas supporting additional fields.", 18 | "type": "string", 19 | "enum": [ 20 | "Unknown", 21 | "ApplicationCustomizer", 22 | "FieldCustomizer", 23 | "ListViewCommandSet", 24 | "SearchQueryModifier", 25 | "FormCustomizer" 26 | ] 27 | } 28 | }, 29 | "additionalProperties": true 30 | } 31 | }, 32 | 33 | "type": "object", 34 | "allOf": [ 35 | { 36 | "type": "object", 37 | "properties": { 38 | "$schema": { "type": "string" }, 39 | 40 | "manifestVersion": { "$ref": "any-value.schema.json" }, 41 | "id": { "$ref": "any-value.schema.json" }, 42 | "alias": { "$ref": "any-value.schema.json" }, 43 | "version": { "$ref": "any-value.schema.json" }, 44 | "loaderConfig": { "$ref": "any-value.schema.json" }, 45 | "componentType": { "$ref": "any-value.schema.json" }, 46 | "extensionType": { "$ref": "any-value.schema.json" }, 47 | "preloadComponents": { "$ref": "any-value.schema.json" }, 48 | "safeWithCustomScriptDisabled": { "$ref": "any-value.schema.json" }, 49 | "requiresCustomScript": { "$ref": "any-value.schema.json" }, 50 | "loadLegacyFabricCss": { "$ref": "any-value.schema.json" } 51 | }, 52 | "additionalProperties": false 53 | }, 54 | { 55 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 56 | }, 57 | { 58 | "$ref": "#/definitions/clientSideExtensionManifest" 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /spfx/client-side-library-manifest.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-library-manifest.schema.json", 3 | "title": "Client-side library manifest", 4 | "description": "A client-side library is a library containing reusable JavaScript code and/or resources.", 5 | 6 | "type": "object", 7 | "allOf": [ 8 | { 9 | "type": "object", 10 | "properties": { 11 | "$schema": { "type": "string" }, 12 | 13 | "manifestVersion": { "$ref": "any-value.schema.json" }, 14 | "id": { "$ref": "any-value.schema.json" }, 15 | "alias": { "$ref": "any-value.schema.json" }, 16 | "version": { "$ref": "any-value.schema.json" }, 17 | "loaderConfig": { "$ref": "any-value.schema.json" }, 18 | "componentType": { "$ref": "any-value.schema.json" }, 19 | "preloadComponents": { "$ref": "any-value.schema.json" } 20 | }, 21 | "additionalProperties": false 22 | }, 23 | { 24 | "$ref": "client-side-component-manifest.schema.json#/definitions/clientSideComponentManifest" 25 | }, 26 | { 27 | "type": "object", 28 | "required": ["componentType"], 29 | "properties": { 30 | "componentType": { 31 | "type": "string", 32 | "enum": ["Library"] 33 | } 34 | }, 35 | 36 | "additionalProperties": true 37 | } 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /spfx/client-side-manifest-base.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "client-side-manifest-base.schema.json", 3 | "title": "Client-side component manifest base", 4 | "description": "Properties common to all deployable manifests.", 5 | 6 | "type": "object", 7 | "required": ["id", "manifestVersion"], 8 | 9 | "properties": { 10 | "manifestVersion": { 11 | "type": "integer", 12 | "title": "Manifest Version", 13 | "description": "Version of the component manifest schema. The value of this field is controlled by Microsoft. The purpose of this field is to help manage upgrades of the component manifest schema. A component developer needs to only confirm that they are using the correct value per the manifest schema. Please read the \"manifest upgrade rules\" for more details on when the schema could change. Note, manifest schema version upgrade will be considered a big API change event and will be advertised broadly.", 14 | "minimum": 2 15 | }, 16 | 17 | "id": { 18 | "$ref": "guid.schema.json", 19 | "title": "ID", 20 | "description": "A universally unique component id. Each client side component is required to have this id. Once an id has been used for a component, it cannot be changed. A change in this value is treated same as the creation of a new component. Two components are never expected to have the same id." 21 | } 22 | }, 23 | 24 | "additionalProperties": true 25 | } 26 | -------------------------------------------------------------------------------- /spfx/guid.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "guid.schema.json", 3 | 4 | "type": "string", 5 | "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" 6 | } 7 | -------------------------------------------------------------------------------- /spfx/localized-string.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "localized-string.schema.json", 3 | 4 | "type": "object", 5 | "oneOf": [ 6 | { 7 | "required": ["default"] 8 | }, 9 | { 10 | "required": ["id"] 11 | } 12 | ], 13 | "properties": { 14 | "default": { 15 | "title": "Default string", 16 | "description": "String to be used if a locale doesn't exist", 17 | "type": "string", 18 | "minLength": 1 19 | }, 20 | "id": { 21 | "title": "Id for the localized string", 22 | "description": "Id for the localized string in the form '$:;'", 23 | "type": "string", 24 | "minLength": 1, 25 | "pattern": "^\\$[^:]+\\:.+\\;$" 26 | } 27 | }, 28 | "patternProperties": { 29 | ".+": { 30 | "title": "Localized string", 31 | "type": "string", 32 | "minLength": 1 33 | } 34 | }, 35 | 36 | "additionalProperties": false 37 | } 38 | -------------------------------------------------------------------------------- /spfx/semver.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "semver.schema.json", 3 | 4 | "type": "string", 5 | "minLength": 5, 6 | "maxLength": 14, 7 | "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$" 8 | } 9 | -------------------------------------------------------------------------------- /teams/v1.10/MicrosoftTeams.Localization.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "type": "object", 4 | "additionalProperties": false, 5 | "properties": { 6 | "$schema": { 7 | "type": "string", 8 | "format": "uri" 9 | }, 10 | "name.short": { 11 | "type": "string", 12 | "maxLength": 30 13 | }, 14 | "name.full": { 15 | "type": "string", 16 | "maxLength": 100 17 | }, 18 | "description.short": { 19 | "type": "string", 20 | "maxLength": 80 21 | }, 22 | "description.full": { 23 | "type": "string", 24 | "maxLength": 4000 25 | } 26 | }, 27 | "patternProperties": { 28 | "^staticTabs\\[([0-9]|1[0-5])\\]\\.name$": { 29 | "type": "string", 30 | "maxLength": 128 31 | }, 32 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.title$": { 33 | "type": "string", 34 | "maxLength": 32 35 | }, 36 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.description$": { 37 | "type": "string", 38 | "maxLength": 128 39 | }, 40 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.title$": { 41 | "type": "string", 42 | "maxLength": 32 43 | }, 44 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.description$": { 45 | "type": "string", 46 | "maxLength": 128 47 | }, 48 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.title$": { 49 | "type": "string", 50 | "maxLength": 32 51 | }, 52 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.description$": { 53 | "type": "string", 54 | "maxLength": 128 55 | }, 56 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.value$": { 57 | "type": "string", 58 | "maxLength": 512 59 | }, 60 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.choices\\[[0-9]\\]\\.title$": { 61 | "type": "string", 62 | "maxLength": 128 63 | }, 64 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title$": { 65 | "type": "string", 66 | "maxLength": 64 67 | }, 68 | "^activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description$": { 69 | "type": "string", 70 | "maxLength": 128 71 | }, 72 | "^activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText$": { 73 | "type": "string", 74 | "maxLength": 128 75 | }, 76 | "^meetingExtensionDefinition.scenes\\[[0-9]\\]\\.name$": { 77 | "type": "string", 78 | "maxLength": 128 79 | } 80 | } 81 | } -------------------------------------------------------------------------------- /teams/v1.11/MicrosoftTeams.Localization.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "type": "object", 4 | "additionalProperties": false, 5 | "properties": { 6 | "$schema": { 7 | "type": "string", 8 | "format": "uri" 9 | }, 10 | "name.short": { 11 | "type": "string", 12 | "maxLength": 30 13 | }, 14 | "name.full": { 15 | "type": "string", 16 | "maxLength": 100 17 | }, 18 | "description.short": { 19 | "type": "string", 20 | "maxLength": 80 21 | }, 22 | "description.full": { 23 | "type": "string", 24 | "maxLength": 4000 25 | } 26 | }, 27 | "patternProperties": { 28 | "^staticTabs\\[([0-9]|1[0-5])\\]\\.name$": { 29 | "type": "string", 30 | "maxLength": 128 31 | }, 32 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.title$": { 33 | "type": "string", 34 | "maxLength": 32 35 | }, 36 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.description$": { 37 | "type": "string", 38 | "maxLength": 128 39 | }, 40 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.title$": { 41 | "type": "string", 42 | "maxLength": 32 43 | }, 44 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.description$": { 45 | "type": "string", 46 | "maxLength": 128 47 | }, 48 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.title$": { 49 | "type": "string", 50 | "maxLength": 32 51 | }, 52 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.description$": { 53 | "type": "string", 54 | "maxLength": 128 55 | }, 56 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.value$": { 57 | "type": "string", 58 | "maxLength": 512 59 | }, 60 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.choices\\[[0-9]\\]\\.title$": { 61 | "type": "string", 62 | "maxLength": 128 63 | }, 64 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title$": { 65 | "type": "string", 66 | "maxLength": 64 67 | }, 68 | "^activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description$": { 69 | "type": "string", 70 | "maxLength": 128 71 | }, 72 | "^activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText$": { 73 | "type": "string", 74 | "maxLength": 128 75 | }, 76 | "^meetingExtensionDefinition.scenes\\[[0-9]\\]\\.name$": { 77 | "type": "string", 78 | "maxLength": 128 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /teams/v1.12/MicrosoftTeams.Localization.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "type": "object", 4 | "additionalProperties": false, 5 | "properties": { 6 | "$schema": { 7 | "type": "string", 8 | "format": "uri" 9 | }, 10 | "name.short": { 11 | "type": "string", 12 | "maxLength": 30 13 | }, 14 | "name.full": { 15 | "type": "string", 16 | "maxLength": 100 17 | }, 18 | "description.short": { 19 | "type": "string", 20 | "maxLength": 80 21 | }, 22 | "description.full": { 23 | "type": "string", 24 | "maxLength": 4000 25 | } 26 | }, 27 | "patternProperties": { 28 | "^staticTabs\\[([0-9]|1[0-5])\\]\\.name$": { 29 | "type": "string", 30 | "maxLength": 128 31 | }, 32 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.title$": { 33 | "type": "string", 34 | "maxLength": 32 35 | }, 36 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.description$": { 37 | "type": "string", 38 | "maxLength": 128 39 | }, 40 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.title$": { 41 | "type": "string", 42 | "maxLength": 32 43 | }, 44 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.description$": { 45 | "type": "string", 46 | "maxLength": 128 47 | }, 48 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.title$": { 49 | "type": "string", 50 | "maxLength": 32 51 | }, 52 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.description$": { 53 | "type": "string", 54 | "maxLength": 128 55 | }, 56 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.value$": { 57 | "type": "string", 58 | "maxLength": 512 59 | }, 60 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.choices\\[[0-9]\\]\\.title$": { 61 | "type": "string", 62 | "maxLength": 128 63 | }, 64 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title$": { 65 | "type": "string", 66 | "maxLength": 64 67 | }, 68 | "^activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description$": { 69 | "type": "string", 70 | "maxLength": 128 71 | }, 72 | "^activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText$": { 73 | "type": "string", 74 | "maxLength": 128 75 | }, 76 | "^meetingExtensionDefinition.scenes\\[[0-9]\\]\\.name$": { 77 | "type": "string", 78 | "maxLength": 128 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /teams/v1.13/MicrosoftTeams.Localization.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "type": "object", 4 | "additionalProperties": false, 5 | "properties": { 6 | "$schema": { 7 | "type": "string", 8 | "format": "uri" 9 | }, 10 | "name.short": { 11 | "type": "string", 12 | "maxLength": 30 13 | }, 14 | "name.full": { 15 | "type": "string", 16 | "maxLength": 100 17 | }, 18 | "description.short": { 19 | "type": "string", 20 | "maxLength": 80 21 | }, 22 | "description.full": { 23 | "type": "string", 24 | "maxLength": 4000 25 | } 26 | }, 27 | "patternProperties": { 28 | "^staticTabs\\[([0-9]|1[0-5])\\]\\.name$": { 29 | "type": "string", 30 | "maxLength": 128 31 | }, 32 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.title$": { 33 | "type": "string", 34 | "maxLength": 32 35 | }, 36 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.description$": { 37 | "type": "string", 38 | "maxLength": 128 39 | }, 40 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.title$": { 41 | "type": "string", 42 | "maxLength": 32 43 | }, 44 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.description$": { 45 | "type": "string", 46 | "maxLength": 128 47 | }, 48 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.title$": { 49 | "type": "string", 50 | "maxLength": 32 51 | }, 52 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.description$": { 53 | "type": "string", 54 | "maxLength": 128 55 | }, 56 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.value$": { 57 | "type": "string", 58 | "maxLength": 512 59 | }, 60 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.choices\\[[0-9]\\]\\.title$": { 61 | "type": "string", 62 | "maxLength": 128 63 | }, 64 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title$": { 65 | "type": "string", 66 | "maxLength": 64 67 | }, 68 | "^activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description$": { 69 | "type": "string", 70 | "maxLength": 128 71 | }, 72 | "^activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText$": { 73 | "type": "string", 74 | "maxLength": 128 75 | }, 76 | "^meetingExtensionDefinition.scenes\\[[0-9]\\]\\.name$": { 77 | "type": "string", 78 | "maxLength": 128 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /teams/v1.14/MicrosoftTeams.Localization.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "type": "object", 4 | "additionalProperties": false, 5 | "properties": { 6 | "$schema": { 7 | "type": "string", 8 | "format": "uri" 9 | }, 10 | "name.short": { 11 | "type": "string", 12 | "maxLength": 30 13 | }, 14 | "name.full": { 15 | "type": "string", 16 | "maxLength": 100 17 | }, 18 | "description.short": { 19 | "type": "string", 20 | "maxLength": 80 21 | }, 22 | "description.full": { 23 | "type": "string", 24 | "maxLength": 4000 25 | } 26 | }, 27 | "patternProperties": { 28 | "^staticTabs\\[([0-9]|1[0-5])\\]\\.name$": { 29 | "type": "string", 30 | "maxLength": 128 31 | }, 32 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.title$": { 33 | "type": "string", 34 | "maxLength": 32 35 | }, 36 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.description$": { 37 | "type": "string", 38 | "maxLength": 128 39 | }, 40 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.title$": { 41 | "type": "string", 42 | "maxLength": 32 43 | }, 44 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.description$": { 45 | "type": "string", 46 | "maxLength": 128 47 | }, 48 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.title$": { 49 | "type": "string", 50 | "maxLength": 32 51 | }, 52 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.description$": { 53 | "type": "string", 54 | "maxLength": 128 55 | }, 56 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.value$": { 57 | "type": "string", 58 | "maxLength": 512 59 | }, 60 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.choices\\[[0-9]\\]\\.title$": { 61 | "type": "string", 62 | "maxLength": 128 63 | }, 64 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title$": { 65 | "type": "string", 66 | "maxLength": 64 67 | }, 68 | "^activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description$": { 69 | "type": "string", 70 | "maxLength": 128 71 | }, 72 | "^activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText$": { 73 | "type": "string", 74 | "maxLength": 128 75 | }, 76 | "^meetingExtensionDefinition.scenes\\[[0-9]\\]\\.name$": { 77 | "type": "string", 78 | "maxLength": 128 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /teams/v1.5/MicrosoftTeams.Localization.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "type": "object", 4 | "additionalProperties": false, 5 | "properties": { 6 | "$schema": { 7 | "type": "string", 8 | "format": "uri" 9 | }, 10 | "name.short": { 11 | "type": "string", 12 | "maxLength": 30 13 | }, 14 | "name.full": { 15 | "type": "string", 16 | "maxLength": 100 17 | }, 18 | "description.short": { 19 | "type": "string", 20 | "maxLength": 80 21 | }, 22 | "description.full": { 23 | "type": "string", 24 | "maxLength": 4000 25 | } 26 | }, 27 | "patternProperties": { 28 | "^staticTabs\\[([0-9]|1[0-5])\\]\\.name$": { 29 | "type": "string", 30 | "maxLength": 128 31 | }, 32 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.title$": { 33 | "type": "string", 34 | "maxLength": 32 35 | }, 36 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.description$": { 37 | "type": "string", 38 | "maxLength": 128 39 | }, 40 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.title$": { 41 | "type": "string", 42 | "maxLength": 32 43 | }, 44 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.description$": { 45 | "type": "string", 46 | "maxLength": 128 47 | }, 48 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.title$": { 49 | "type": "string", 50 | "maxLength": 32 51 | }, 52 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.description$": { 53 | "type": "string", 54 | "maxLength": 128 55 | }, 56 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.value$": { 57 | "type": "string", 58 | "maxLength": 512 59 | }, 60 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.choices\\[[0-9]\\]\\.title$": { 61 | "type": "string", 62 | "maxLength": 128 63 | }, 64 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title$": { 65 | "type": "string", 66 | "maxLength": 64 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /teams/v1.6/MicrosoftTeams.Localization.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "type": "object", 4 | "additionalProperties": false, 5 | "properties": { 6 | "$schema": { 7 | "type": "string", 8 | "format": "uri" 9 | }, 10 | "name.short": { 11 | "type": "string", 12 | "maxLength": 30 13 | }, 14 | "name.full": { 15 | "type": "string", 16 | "maxLength": 100 17 | }, 18 | "description.short": { 19 | "type": "string", 20 | "maxLength": 80 21 | }, 22 | "description.full": { 23 | "type": "string", 24 | "maxLength": 4000 25 | } 26 | }, 27 | "patternProperties": { 28 | "^staticTabs\\[([0-9]|1[0-5])\\]\\.name$": { 29 | "type": "string", 30 | "maxLength": 128 31 | }, 32 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.title$": { 33 | "type": "string", 34 | "maxLength": 32 35 | }, 36 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.description$": { 37 | "type": "string", 38 | "maxLength": 128 39 | }, 40 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.title$": { 41 | "type": "string", 42 | "maxLength": 32 43 | }, 44 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.description$": { 45 | "type": "string", 46 | "maxLength": 128 47 | }, 48 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.title$": { 49 | "type": "string", 50 | "maxLength": 32 51 | }, 52 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.description$": { 53 | "type": "string", 54 | "maxLength": 128 55 | }, 56 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.value$": { 57 | "type": "string", 58 | "maxLength": 512 59 | }, 60 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.choices\\[[0-9]\\]\\.title$": { 61 | "type": "string", 62 | "maxLength": 128 63 | }, 64 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title$": { 65 | "type": "string", 66 | "maxLength": 64 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /teams/v1.7/MicrosoftTeams.Localization.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "type": "object", 4 | "additionalProperties": false, 5 | "properties": { 6 | "$schema": { 7 | "type": "string", 8 | "format": "uri" 9 | }, 10 | "name.short": { 11 | "type": "string", 12 | "maxLength": 30 13 | }, 14 | "name.full": { 15 | "type": "string", 16 | "maxLength": 100 17 | }, 18 | "description.short": { 19 | "type": "string", 20 | "maxLength": 80 21 | }, 22 | "description.full": { 23 | "type": "string", 24 | "maxLength": 4000 25 | } 26 | }, 27 | "patternProperties": { 28 | "^staticTabs\\[([0-9]|1[0-5])\\]\\.name$": { 29 | "type": "string", 30 | "maxLength": 128 31 | }, 32 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.title$": { 33 | "type": "string", 34 | "maxLength": 32 35 | }, 36 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.description$": { 37 | "type": "string", 38 | "maxLength": 128 39 | }, 40 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.title$": { 41 | "type": "string", 42 | "maxLength": 32 43 | }, 44 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.description$": { 45 | "type": "string", 46 | "maxLength": 128 47 | }, 48 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.title$": { 49 | "type": "string", 50 | "maxLength": 32 51 | }, 52 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.description$": { 53 | "type": "string", 54 | "maxLength": 128 55 | }, 56 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.value$": { 57 | "type": "string", 58 | "maxLength": 512 59 | }, 60 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.choices\\[[0-9]\\]\\.title$": { 61 | "type": "string", 62 | "maxLength": 128 63 | }, 64 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title$": { 65 | "type": "string", 66 | "maxLength": 64 67 | }, 68 | "^activities.activityTypes\\[[0-127]\\]\\.description$": { 69 | "type": "string", 70 | "maxLength": 128 71 | }, 72 | "^activities.activityTypes\\[[0-127]\\]\\.templateText$": { 73 | "type": "string", 74 | "maxLength": 128 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /teams/v1.8/MicrosoftTeams.Localization.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "type": "object", 4 | "additionalProperties": false, 5 | "properties": { 6 | "$schema": { 7 | "type": "string", 8 | "format": "uri" 9 | }, 10 | "name.short": { 11 | "type": "string", 12 | "maxLength": 30 13 | }, 14 | "name.full": { 15 | "type": "string", 16 | "maxLength": 100 17 | }, 18 | "description.short": { 19 | "type": "string", 20 | "maxLength": 80 21 | }, 22 | "description.full": { 23 | "type": "string", 24 | "maxLength": 4000 25 | } 26 | }, 27 | "patternProperties": { 28 | "^staticTabs\\[([0-9]|1[0-5])\\]\\.name$": { 29 | "type": "string", 30 | "maxLength": 128 31 | }, 32 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.title$": { 33 | "type": "string", 34 | "maxLength": 32 35 | }, 36 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.description$": { 37 | "type": "string", 38 | "maxLength": 128 39 | }, 40 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.title$": { 41 | "type": "string", 42 | "maxLength": 32 43 | }, 44 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.description$": { 45 | "type": "string", 46 | "maxLength": 128 47 | }, 48 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.title$": { 49 | "type": "string", 50 | "maxLength": 32 51 | }, 52 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.description$": { 53 | "type": "string", 54 | "maxLength": 128 55 | }, 56 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.value$": { 57 | "type": "string", 58 | "maxLength": 512 59 | }, 60 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.choices\\[[0-9]\\]\\.title$": { 61 | "type": "string", 62 | "maxLength": 128 63 | }, 64 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title$": { 65 | "type": "string", 66 | "maxLength": 64 67 | }, 68 | "^activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description$": { 69 | "type": "string", 70 | "maxLength": 128 71 | }, 72 | "^activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText$": { 73 | "type": "string", 74 | "maxLength": 128 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /teams/v1.9/MicrosoftTeams.Localization.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "type": "object", 4 | "additionalProperties": false, 5 | "properties": { 6 | "$schema": { 7 | "type": "string", 8 | "format": "uri" 9 | }, 10 | "name.short": { 11 | "type": "string", 12 | "maxLength": 30 13 | }, 14 | "name.full": { 15 | "type": "string", 16 | "maxLength": 100 17 | }, 18 | "description.short": { 19 | "type": "string", 20 | "maxLength": 80 21 | }, 22 | "description.full": { 23 | "type": "string", 24 | "maxLength": 4000 25 | } 26 | }, 27 | "patternProperties": { 28 | "^staticTabs\\[([0-9]|1[0-5])\\]\\.name$": { 29 | "type": "string", 30 | "maxLength": 128 31 | }, 32 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.title$": { 33 | "type": "string", 34 | "maxLength": 32 35 | }, 36 | "^bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.description$": { 37 | "type": "string", 38 | "maxLength": 128 39 | }, 40 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.title$": { 41 | "type": "string", 42 | "maxLength": 32 43 | }, 44 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.description$": { 45 | "type": "string", 46 | "maxLength": 128 47 | }, 48 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.title$": { 49 | "type": "string", 50 | "maxLength": 32 51 | }, 52 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.description$": { 53 | "type": "string", 54 | "maxLength": 128 55 | }, 56 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.value$": { 57 | "type": "string", 58 | "maxLength": 512 59 | }, 60 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.choices\\[[0-9]\\]\\.title$": { 61 | "type": "string", 62 | "maxLength": 128 63 | }, 64 | "^composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title$": { 65 | "type": "string", 66 | "maxLength": 64 67 | }, 68 | "^activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description$": { 69 | "type": "string", 70 | "maxLength": 128 71 | }, 72 | "^activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText$": { 73 | "type": "string", 74 | "maxLength": 128 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /tests/validate-schemas_test.py: -------------------------------------------------------------------------------- 1 | import json 2 | import os 3 | import glob 4 | import pytest 5 | 6 | SCHEMA_DIR = "fabric/item" 7 | 8 | def find_json_files(root_dir): 9 | """Yield all .json files under a directory recursively.""" 10 | for dirpath, _, filenames in os.walk(root_dir): 11 | for filename in filenames: 12 | if filename.endswith(".json"): 13 | yield os.path.join(dirpath, filename) 14 | 15 | def extract_refs(schema, base_path): 16 | """Recursively extract $ref values from a schema and yield the resolved path.""" 17 | if isinstance(schema, dict): 18 | for key, value in schema.items(): 19 | if key == "$ref" and isinstance(value, str): 20 | if not value.startswith("#") and not value.startswith("https://developer.microsoft.com/json-schemas"): # Ignore internal references and our published URLs 21 | ref_path = value.split("#")[0] 22 | resolved_path = os.path.normpath(os.path.join(base_path, ref_path)) 23 | yield resolved_path 24 | else: 25 | yield from extract_refs(value, base_path) 26 | elif isinstance(schema, list): 27 | for item in schema: 28 | yield from extract_refs(item, base_path) 29 | 30 | @pytest.mark.parametrize("json_file", list(find_json_files(SCHEMA_DIR))) 31 | def test_refs_exist(json_file): 32 | with open(json_file, "r", encoding="utf-8") as f: 33 | try: 34 | schema = json.load(f) 35 | except json.JSONDecodeError as e: 36 | pytest.fail(f"Invalid JSON in {json_file}: {e}") 37 | 38 | base_path = os.path.dirname(json_file) 39 | for ref_path in extract_refs(schema, base_path): 40 | assert os.path.isfile(ref_path), f"Missing file for $ref in {json_file}: {ref_path}" --------------------------------------------------------------------------------