diff --git a/.github/workflows/actionlint.yaml b/.github/workflows/actionlint.yaml index 68676fb..3ca597a 100644 --- a/.github/workflows/actionlint.yaml +++ b/.github/workflows/actionlint.yaml @@ -6,6 +6,7 @@ on: jobs: validate: + name: Actionlint runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/package-lint.yaml b/.github/workflows/package-lint.yaml deleted file mode 100644 index 77849d0..0000000 --- a/.github/workflows/package-lint.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- -name: Package lint - -on: - - pull_request - -jobs: - validate: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - run: | - mapfile -t EXTRA_FILES < <(find packages -type f -not -name package.yaml) - if [[ ${#EXTRA_FILES[@]} -gt 0 ]]; then - for file in "${EXTRA_FILES[@]}"; do - echo "::error file=${file},line=1::Only package.yaml files are allowed inside packages/." - done - exit 1 - fi diff --git a/.github/workflows/package-tests.yaml b/.github/workflows/package-tests.yaml index 73b5dcd..6898443 100644 --- a/.github/workflows/package-tests.yaml +++ b/.github/workflows/package-tests.yaml @@ -11,99 +11,20 @@ on: required: true jobs: - package-diff: - name: Check package diffs + lint: + name: Registry lint runs-on: ubuntu-latest - outputs: - all_changed_files: ${{ steps.changed-packages.outputs.all_changed_files }} - any_changed: ${{ steps.changed-packages.outputs.any_changed }} - - steps: - - uses: actions/checkout@v3 - - name: Get changed package definitions - id: changed-packages - uses: tj-actions/changed-files@v36 - with: - files: | - packages/**/package.yaml - - validate: - name: Validate package definitions - runs-on: ubuntu-latest - needs: package-diff - if: ${{ github.event.inputs.packages || needs.package-diff.outputs.any_changed == 'true' }} steps: - - uses: actions/checkout@v3 - - uses: mason-org/actions/validate-schema@v1 + - uses: actions/checkout@v4 with: - packages: ${{ github.event.inputs.packages || needs.package-diff.outputs.all_changed_files }} - - tests: - name: Test packages - needs: [package-diff, validate] - if: ${{ github.event.inputs.packages || needs.package-diff.outputs.any_changed == 'true' }} - strategy: - fail-fast: false - matrix: - # If making changes remember to update the manual workflow as well. - target: - - darwin_arm64 - - darwin_x64 - - linux_arm - - linux_arm64 - - linux_arm64_gnu - - linux_arm_gnu - - linux_x64 - - linux_x64_gnu - - linux_x86 - - win_arm - - win_arm64 - - win_x64 - - win_x86 - - include: - - target: linux_x64 - runs-on: ubuntu-latest - - target: linux_x64_gnu - runs-on: ubuntu-latest - - target: linux_x86 - runs-on: ubuntu-latest - - target: linux_arm - runs-on: ubuntu-latest - - target: linux_arm_gnu - runs-on: ubuntu-latest - - target: linux_arm64 - runs-on: ubuntu-latest - - target: linux_arm64_gnu - runs-on: ubuntu-latest - - target: darwin_x64 - runs-on: macos-latest - - target: darwin_arm64 - runs-on: macos-latest - - target: win_x64 - runs-on: windows-latest - - target: win_x86 - runs-on: windows-latest - - target: win_arm64 - runs-on: windows-latest - - target: win_arm - runs-on: windows-latest - - runs-on: ${{ matrix.runs-on }} - steps: - - uses: actions/checkout@v3 - - uses: mason-org/actions/tests@v1 + fetch-depth: 1 + - uses: mason-org/actions/registry-lint@v1 with: - packages: ${{ github.event.inputs.packages || needs.package-diff.outputs.all_changed_files }} - target: ${{ matrix.target }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - # This job is used for branch protection rule - # Add this job to `Status checks that are required` - status-check: - name: Status check - runs-on: ubuntu-latest - needs: tests - if: 'failure() || cancelled()' - steps: - - run: exit 1 + packages: ${{ github.event.inputs.packages }} + + test: + name: Package tests + needs: lint + uses: mason-org/actions/.github/workflows/package-tests.yaml@v1 + with: + packages: ${{ github.event.inputs.packages }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index c53915e..68391b8 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -3,77 +3,14 @@ name: Release on: push: - tags: - - "**" branches: - main jobs: - tag: - name: Tag - runs-on: ubuntu-latest - permissions: - contents: write - outputs: - tag: ${{ steps.tag.outputs.tag }} - should-release: ${{ steps.tag.outputs.should-release }} - - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 2 - - id: adjnoun - uses: mason-org/actions/adj-noun-generator@v1 - - id: tag - name: Get/create tag - shell: bash - run: | - if [[ $GITHUB_REF =~ ^refs/tags ]]; then - echo "Releasing tag $GITHUB_REF_NAME" - printf "tag=%s\nshould-release=true" "$GITHUB_REF_NAME" >> "$GITHUB_OUTPUT" - elif [[ $(git diff-tree --name-only --no-commit-id HEAD -- packages | wc -l) -gt 0 ]]; then - declare TAG - TAG=$(date +%Y-%m-%d)-$ADJNOUN - printf "tag=%s\nshould-release=true" "$TAG" >> "$GITHUB_OUTPUT" - echo "Tagging and pushing $TAG" - git tag "$TAG" HEAD - git push origin "$TAG" - else - echo "No tag was pushed, and no package definition was changed." - echo "should-release=false" >> "$GITHUB_OUTPUT" - fi - env: - GITHUB_REF: ${{ github.ref }} - GITHUB_REF_NAME: ${{ github.ref_name }} - ADJNOUN: ${{ steps.adjnoun.outputs.word }} - release: - needs: [tag] - if: ${{ needs.tag.outputs.should-release == 'true' }} name: Release runs-on: ubuntu-latest permissions: contents: write - steps: - - uses: actions/checkout@v3 - - name: Set up yq - shell: bash - run: | - sudo curl -fL "https://github.com/mikefarah/yq/releases/download/v4.30.6/yq_linux_amd64" -o /usr/local/bin/yq - sudo chmod +x /usr/local/bin/yq - - name: Compile - shell: bash - run: | - yq ea '[.]' -o json packages/*/package.yaml > registry.json - zip -r registry.json.zip registry.json - sha256sum registry.json registry.json.zip > checksums.txt - - name: Release - uses: softprops/action-gh-release@v1 - with: - tag_name: ${{ needs.tag.outputs.tag }} - fail_on_unmatched_files: true - generate_release_notes: false - files: | - registry.json.zip - checksums.txt + - uses: mason-org/actions/registry-release@v1 diff --git a/.github/workflows/validate-renovate.yaml b/.github/workflows/validate-renovate.yaml index 768f715..c01de07 100644 --- a/.github/workflows/validate-renovate.yaml +++ b/.github/workflows/validate-renovate.yaml @@ -9,6 +9,7 @@ on: jobs: validate: + name: Validate Renovate config runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bf70a51..5417170 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -50,8 +50,8 @@ # Schema -Package definitions are validated against a well-defined [JSON schema](./schemas/). The full schema is hosted on -. +Package definitions are validated against a well-defined [JSON schema](https://github.com/mason-org/registry-schema). +The full schema is hosted on . Use b0o/SchemaStore.nvim and the YAML language server to diff --git a/renovate.json5 b/renovate.json5 index 8e59537..797bd2e 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -1,102 +1,3 @@ { - automerge: true, - dependencyDashboard: true, - platformAutomerge: true, - automergeType: "pr", - commitMessage: "bump({{decodeURIComponent depName}}): update {{commitMessageExtra}}", - separateMajorMinor: false, - prHourlyLimit: 0, - prConcurrentLimit: 0, - branchConcurrentLimit: 0, - rebaseWhen: "conflicted", - enabledManagers: ["regex"], - regexManagers: [ - { - fileMatch: "package\\.yaml$", - matchStringsStrategy: "combination", - matchStrings: [ - "\n id:\\s+pkg:github\\/(?.+)@(?[^\\s\\?#]+)", - "\nname: (?.+)", - "# renovate:datasource=git-refs[\\s\\S]*pkg:github\\/(?.+)@(?[^\\s\\?#]+)", - "# renovate:.*versioning=(?[^,\n]+)", - "# renovate:.*datasource=(?[^,\n]+)", - ], - datasourceTemplate: "{{#if datasource}}{{{datasource}}}{{else}}github-releases{{/if}}", - versioningTemplate: "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}", - packageNameTemplate: "{{#if (containsString datasource 'git-refs')}}https://github.com/{{{packageName}}}{{else}}{{{packageName}}}{{/if}}", - currentValueTemplate: "{{#if (containsString datasource 'git-refs')}}{{else}}{{currentValue}}{{/if}}", - }, - { - fileMatch: "package\\.yaml$", - matchStringsStrategy: "combination", - matchStrings: [ - "\nname: (?.+)", - "\n id:\\s+pkg:cargo\\/(?.+)@(?[^\\s\\?#]+)", - "\\?.*repository_url=(?https:\\/\\/github\\.com)\\/(?[^\\s&]+)", - "# renovate:.*versioning=(?[^,\n]+)", - ], - datasourceTemplate: "{{#if githubRepo}}github-tags{{else}}crate{{/if}}", - // In cargo versioning, "1.2.3" doesn't mean "exactly 1.2.3" but rather ">=1.2.3 <2.0.0". - // We on the other hand do want to treat versions as fixed - so we change versioning strategy. - versioningTemplate: "semver", - }, - { - fileMatch: "package\\.yaml$", - matchStringsStrategy: "combination", - matchStrings: [ - "\nname: (?.+)", - "\n id:\\s+pkg:golang\\/(?.+)@(?[^\\s\\?#]+)", - ], - datasourceTemplate: "go", - }, - { - fileMatch: "package\\.yaml$", - matchStringsStrategy: "combination", - matchStrings: [ - "\nname: (?.+)", - "\n id:\\s+pkg:gem\\/(?.+)@(?[^\\s\\?#]+)", - ], - datasourceTemplate: "rubygems", - }, - { - fileMatch: "package\\.yaml$", - matchStringsStrategy: "combination", - matchStrings: [ - "\nname: (?.+)", - "\n id:\\s+pkg:composer\\/(?.+)@(?[^\\s\\?#]+)", - ], - datasourceTemplate: "packagist", - }, - { - fileMatch: "package\\.yaml$", - matchStringsStrategy: "combination", - matchStrings: [ - "\nname: (?.+)", - "\n id:\\s+pkg:(?npm|pypi|nuget)\\/(?.+)@(?[^\\s\\?#]+)", - ], - datasourceTemplate: "{{datasource}}", - }, - { - fileMatch: "package\\.yaml$", - matchStringsStrategy: "combination", - matchStrings: [ - "\nname: (?.+)", - "\n id:\\s+pkg:generic\\/(?.+)@(?[^\\s\\?#]+)", - "# renovate:.*versioning=(?[^,\n]+)", - "# renovate:.*datasource=(?[^,\n]+)", - ], - datasourceTemplate: "{{{datasource}}}", - versioningTemplate: "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}", - }, - ], - packageRules: [ - { - matchDepNames: ["cucumber-language-server"], - allowedVersions: "!/^1\\.[34]\\.0/" - }, - { - matchDepNames: ["rustfmt"], - allowedVersions: "<=1.5.1" - } - ] + extends: ["github>mason-org/registry-renovate-config"] } diff --git a/schemas/components/bin.json b/schemas/components/bin.json deleted file mode 100644 index eeabc3b..0000000 --- a/schemas/components/bin.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/bin", - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9_\\-\\.]+$": { - "type": "string" - } - }, - "additionalProperties": false -} diff --git a/schemas/components/deprecation.json b/schemas/components/deprecation.json deleted file mode 100644 index c5804fd..0000000 --- a/schemas/components/deprecation.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/deprecation", - "type": "object", - "additionalProperties": false, - "required": ["since", "message"], - "properties": { - "message": { - "type": "string", - "description": "Deprecation message shown to users. Should include alternative installation methods if available." - }, - "since": { - "type": "string", - "description": "The version number when the deprecation was made." - } - } -} diff --git a/schemas/components/opt.json b/schemas/components/opt.json deleted file mode 100644 index ac79bb0..0000000 --- a/schemas/components/opt.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/opt", - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9_\\-\\./]+$": { - "type": "string" - } - }, - "additionalProperties": false -} diff --git a/schemas/components/schemas.json b/schemas/components/schemas.json deleted file mode 100644 index 026c4cd..0000000 --- a/schemas/components/schemas.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/schemas", - "type": "object", - "additionalProperties": false, - "properties": { - "lsp": { - "type": "string", - "description": "A URL to where the LSP JSON schema can be downloaded from. If the provided URL is a VSCode package.json you MUST prefix the url with vscode:", - "pattern": "^(vscode:)?https://" - } - } -} diff --git a/schemas/components/share.json b/schemas/components/share.json deleted file mode 100644 index 75be7d7..0000000 --- a/schemas/components/share.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/share", - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9_\\-\\./]+$": { - "type": "string" - } - }, - "additionalProperties": false -} diff --git a/schemas/components/source.json b/schemas/components/source.json deleted file mode 100644 index 7bc1758..0000000 --- a/schemas/components/source.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/source", - "$defs": { - "Source": { - "oneOf": [ - { "$ref": "sources/cargo" }, - { "$ref": "sources/composer" }, - { "$ref": "sources/gem" }, - { "$ref": "sources/generic" }, - { "$ref": "sources/github" }, - { "$ref": "sources/golang" }, - { "$ref": "sources/luarocks" }, - { "$ref": "sources/npm" }, - { "$ref": "sources/nuget" }, - { "$ref": "sources/opam" }, - { "$ref": "sources/pypi" } - ] - } - }, - "allOf": [ - { - "type": "object", - "properties": { - "version_overrides": { - "type": "array", - "items": { - "type": "object", - "allOf": [ - { - "type": "object", - "required": ["constraint"], - "properties": { - "constraint": { - "type": "string", - "pattern": "^semver:(<=)?v?\\d+\\.\\d+\\.\\d+" - } - } - }, - { - "$ref": "#/$defs/Source" - } - ] - } - } - } - }, - { - "$ref": "#/$defs/Source" - } - ] -} diff --git a/schemas/components/sources/build.json b/schemas/components/sources/build.json deleted file mode 100644 index ac1a7d6..0000000 --- a/schemas/components/sources/build.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/build", - "type": "object", - "required": ["run"], - "properties": { - "target": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "/mason-registry.json/enums/platform" - } - }, - { - "$ref": "/mason-registry.json/enums/platform" - } - ] - }, - "run": { - "type": "string", - "description": "The shell script to run. Platform sensitive (bash on Unix, powershell on Windows)." - }, - "env": { - "type": "object", - "additionalProperties": false, - "patternProperties": { - "^[A-Z0-9_]+$": { - "type": "string" - } - } - }, - "staged": { - "type": "boolean", - "description": "Whether to run the build script in a staging location (defaults to true)." - } - } -} diff --git a/schemas/components/sources/cargo.json b/schemas/components/sources/cargo.json deleted file mode 100644 index 227a051..0000000 --- a/schemas/components/sources/cargo.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/cargo", - "type": "object", - "required": ["id"], - "properties": { - "id": { - "type": "string", - "pattern": "^pkg:cargo/.+@.+" - }, - "supported_platforms": { - "type": "array", - "description": "List of platforms supported by the cargo package.", - "items": { - "$ref": "/mason-registry.json/enums/platform" - } - } - } -} diff --git a/schemas/components/sources/composer.json b/schemas/components/sources/composer.json deleted file mode 100644 index dad1938..0000000 --- a/schemas/components/sources/composer.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/composer", - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^pkg:composer/.+/.+@.+" - } - } -} diff --git a/schemas/components/sources/gem.json b/schemas/components/sources/gem.json deleted file mode 100644 index 651deb8..0000000 --- a/schemas/components/sources/gem.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/gem", - "type": "object", - "required": ["id"], - "properties": { - "id": { - "type": "string", - "pattern": "^pkg:gem/.+@.+" - }, - "extra_packages": { - "type": "array", - "description": "Extra gem packages required by the main package to function.", - "items": { - "type": "string" - } - }, - "supported_platforms": { - "type": "array", - "description": "List of platforms supported by the gem package.", - "items": { - "$ref": "/mason-registry.json/enums/platform" - } - } - } -} diff --git a/schemas/components/sources/generic/build.json b/schemas/components/sources/generic/build.json deleted file mode 100644 index 66922cb..0000000 --- a/schemas/components/sources/generic/build.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/generic/build", - "type": "object", - "required": ["id", "build"], - "properties": { - "id": { - "type": "string", - "pattern": "^pkg:generic/.+@.+" - }, - "build": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "/mason-registry.json/components/sources/build" - } - }, - { - "$ref": "/mason-registry.json/components/sources/build" - } - ] - } - } -} diff --git a/schemas/components/sources/generic/download.json b/schemas/components/sources/generic/download.json deleted file mode 100644 index fb26dec..0000000 --- a/schemas/components/sources/generic/download.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/generic/download", - "type": "object", - "$defs": { - "Download": { - "type": "object", - "required": ["files"], - "additionalProperties": true, - "properties": { - "target": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "/mason-registry.json/enums/platform" - } - }, - { - "$ref": "/mason-registry.json/enums/platform" - } - ] - }, - "files": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9_\\-\\.]+$": { - "type": "string", - "pattern": "^https?://" - } - }, - "additionalProperties": false - } - } - } - }, - "required": ["id", "download"], - "properties": { - "id": { - "type": "string", - "pattern": "^pkg:generic/.+@.+" - }, - "download": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/$defs/Download" - } - }, - { - "$ref": "#/$defs/Download" - } - ] - } - } -} diff --git a/schemas/components/sources/generic/generic.json b/schemas/components/sources/generic/generic.json deleted file mode 100644 index e5a4f97..0000000 --- a/schemas/components/sources/generic/generic.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/generic", - "oneOf": [ - { - "$ref": "generic/download" - }, - { - "$ref": "generic/build" - } - ] -} diff --git a/schemas/components/sources/github/build.json b/schemas/components/sources/github/build.json deleted file mode 100644 index 7f6b17d..0000000 --- a/schemas/components/sources/github/build.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/github/build", - "type": "object", - "required": ["id", "build"], - "properties": { - "id": { - "type": "string", - "pattern": "^pkg:github/.+/.+@.+" - }, - "build": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "/mason-registry.json/components/sources/build" - } - }, - { - "$ref": "/mason-registry.json/components/sources/build" - } - ] - } - } -} diff --git a/schemas/components/sources/github/github.json b/schemas/components/sources/github/github.json deleted file mode 100644 index 86b7456..0000000 --- a/schemas/components/sources/github/github.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/github", - "oneOf": [ - { - "$ref": "github/release" - }, - { - "$ref": "github/build" - } - ] -} diff --git a/schemas/components/sources/github/release.json b/schemas/components/sources/github/release.json deleted file mode 100644 index 5774193..0000000 --- a/schemas/components/sources/github/release.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/github/release", - "type": "object", - "$defs": { - "Asset": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "object", - "required": ["target", "file"], - "additionalProperties": true, - "properties": { - "target": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "/mason-registry.json/enums/platform" - } - }, - { - "$ref": "/mason-registry.json/enums/platform" - } - ] - }, - "file": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - } - } - } - }, - { - "type": "object", - "required": ["file"], - "properties": { - "file": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - } - } - } - ] - } - }, - "required": ["id", "asset"], - "properties": { - "id": { - "type": "string", - "pattern": "^pkg:github/.+/.+@.+" - }, - "asset": { - "$ref": "#/$defs/Asset" - } - } -} diff --git a/schemas/components/sources/golang.json b/schemas/components/sources/golang.json deleted file mode 100644 index 65873c6..0000000 --- a/schemas/components/sources/golang.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/golang", - "type": "object", - "required": ["id"], - "properties": { - "id": { - "type": "string", - "pattern": "^pkg:golang/.+/.+@.+" - }, - "extra_packages": { - "type": "array", - "description": "Extra golang packages required by the main package to function.", - "items": { - "type": "string" - } - } - } -} diff --git a/schemas/components/sources/luarocks.json b/schemas/components/sources/luarocks.json deleted file mode 100644 index 9f9ab8b..0000000 --- a/schemas/components/sources/luarocks.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/luarocks", - "type": "object", - "required": ["id"], - "properties": { - "id": { - "type": "string", - "pattern": "^pkg:luarocks/.+@.+" - } - } -} diff --git a/schemas/components/sources/npm.json b/schemas/components/sources/npm.json deleted file mode 100644 index 1ad81d3..0000000 --- a/schemas/components/sources/npm.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/npm", - "type": "object", - "required": ["id"], - "properties": { - "id": { - "type": "string", - "pattern": "^pkg:npm/.+@.+" - }, - "extra_packages": { - "type": "array", - "description": "Extra npm packages required by the main package to function.", - "items": { - "type": "string" - } - } - } -} diff --git a/schemas/components/sources/nuget.json b/schemas/components/sources/nuget.json deleted file mode 100644 index b0b6496..0000000 --- a/schemas/components/sources/nuget.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/nuget", - "type": "object", - "required": ["id"], - "properties": { - "id": { - "type": "string", - "pattern": "^pkg:nuget/.+@.+" - } - } -} diff --git a/schemas/components/sources/opam.json b/schemas/components/sources/opam.json deleted file mode 100644 index ae325c5..0000000 --- a/schemas/components/sources/opam.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/opam", - "type": "object", - "required": ["id"], - "properties": { - "id": { - "type": "string", - "pattern": "^pkg:opam/.+@.+" - } - } -} diff --git a/schemas/components/sources/pypi.json b/schemas/components/sources/pypi.json deleted file mode 100644 index 243f823..0000000 --- a/schemas/components/sources/pypi.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/components/sources/pypi", - "type": "object", - "required": ["id"], - "properties": { - "id": { - "type": "string", - "pattern": "^pkg:pypi/.+@.+" - }, - "extra_packages": { - "type": "array", - "description": "Extra pypi packages required by the main package to function.", - "items": { - "type": "string" - } - }, - "supported_platforms": { - "type": "array", - "description": "List of platforms supported by the pypi package.", - "items": { - "$ref": "/mason-registry.json/enums/platform" - } - } - } -} diff --git a/schemas/enums/category.json b/schemas/enums/category.json deleted file mode 100644 index 54c6e07..0000000 --- a/schemas/enums/category.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/enums/category", - "type": "string", - "enum": ["Compiler", "DAP", "Formatter", "LSP", "Linter", "Runtime"] -} diff --git a/schemas/enums/language.json b/schemas/enums/language.json deleted file mode 100644 index 843c888..0000000 --- a/schemas/enums/language.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/enums/language", - "type": "string", - "enum": [ - ".NET", - "1ะก:Enterprise", - "AWK", - "Ada", - "Angular", - "Ansible", - "Antlers", - "Apex", - "Arduino", - "Assembly", - "Astro", - "Azure Pipelines", - "Bash", - "Bazel", - "Beancount", - "Bicep", - "Blade", - "BrighterScript", - "C", - "C#", - "C++", - "CMake", - "CQL", - "CSS", - "Cairo", - "Clarity", - "Clojure", - "ClojureScript", - "CloudFormation", - "CodeQL", - "Crystal", - "Csh", - "Cucumber", - "Cue", - "Cypher", - "D", - "DOT", - "Dart", - "Dhall", - "Django", - "Docker", - "Drools", - "Elixir", - "Elm", - "Ember", - "Emmet", - "Erg", - "Erlang", - "F#", - "Fennel", - "Flow", - "Flux", - "Fortran", - "GDScript", - "Gleam", - "Glimmer", - "Go", - "Gradle", - "GraphQL", - "Groovy", - "HAML", - "HTML", - "HTMX", - "Handlebars", - "Haskell", - "Haxe", - "Helm", - "Hoon", - "IPython", - "JSON", - "JSON-LD", - "JSX", - "Java", - "JavaScript", - "Jinja", - "Jq", - "Jsonnet", - "Julia", - "KCL", - "Kotlin", - "Ksh", - "Kubernetes", - "LESS", - "LaTeX", - "Lean 3", - "Lelwel", - "Liquid", - "Lua", - "Luau", - "MDX", - "Markdown", - "Matlab", - "Meson", - "Metamath Zero", - "Mksh", - "Move", - "Mustache", - "Nginx", - "Nickel", - "Nim", - "Nix", - "Nunjucks", - "OCaml", - "Odin", - "OneScript", - "OpenAPI", - "OpenCL", - "OpenEdge", - "OpenFOAM", - "OpenSCAD", - "PHP", - "PICO-8", - "Perl", - "Pest", - "PowerShell", - "Prisma", - "Progress", - "Protobuf", - "Puppet", - "PureScript", - "Python", - "R", - "Raku", - "ReScript", - "Reason", - "Robot Framework", - "Ruby", - "Rust", - "SCSS", - "SQL", - "Salt", - "Sass", - "Scala", - "Sh", - "Shell", - "Slang", - "Slint", - "Smithy", - "Snakemake", - "Snyk", - "Solidity", - "Sphinx", - "Standard ML", - "Starlark", - "Stylelint", - "Svelte", - "SystemVerilog", - "TOML", - "Teal", - "Terraform", - "Text", - "Thrift", - "Twig", - "TypeScript", - "Typst", - "V", - "Vala", - "Veryl", - "VimScript", - "Visualforce", - "Vue", - "WGSL", - "XML", - "YAML", - "YARA", - "Zig", - "Zsh" - ] -} diff --git a/schemas/enums/platform.json b/schemas/enums/platform.json deleted file mode 100644 index ef6da9a..0000000 --- a/schemas/enums/platform.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/enums/platform", - "type": "string", - "enum": [ - "unix", - "darwin", - "darwin_arm64", - "darwin_x64", - "linux", - "linux_arm", - "linux_arm64", - "linux_arm64_gnu", - "linux_arm64_musl", - "linux_arm64_openbsd", - "linux_arm_gnu", - "linux_armv6_gnu", - "linux_armv6l", - "linux_armv7_gnu", - "linux_armv7l", - "linux_x64", - "linux_x64_gnu", - "linux_x64_musl", - "linux_x64_openbsd", - "linux_x86", - "linux_x86_gnu", - "linux_x86_musl", - "linux_x86_openbsd", - "win", - "win_arm", - "win_arm64", - "win_armv6l", - "win_armv7l", - "win_x64", - "win_x86" - ] -} diff --git a/schemas/enums/spdx-license.json b/schemas/enums/spdx-license.json deleted file mode 100644 index f678389..0000000 --- a/schemas/enums/spdx-license.json +++ /dev/null @@ -1,511 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json/enums/spdx-license", - "$comment": "SPDX license list; releaseDate=2022-12-15; source=https://raw.githubusercontent.com/spdx/license-list-data/master/json/licenses.json", - "enum": [ - "proprietary", - "0BSD", - "AAL", - "Abstyles", - "Adobe-2006", - "Adobe-Glyph", - "ADSL", - "AFL-1.1", - "AFL-1.2", - "AFL-2.0", - "AFL-2.1", - "AFL-3.0", - "Afmparse", - "AGPL-1.0", - "AGPL-1.0-only", - "AGPL-1.0-or-later", - "AGPL-3.0", - "AGPL-3.0-only", - "AGPL-3.0-or-later", - "Aladdin", - "AMDPLPA", - "AML", - "AMPAS", - "ANTLR-PD", - "ANTLR-PD-fallback", - "Apache-1.0", - "Apache-1.1", - "Apache-2.0", - "APAFML", - "APL-1.0", - "App-s2p", - "APSL-1.0", - "APSL-1.1", - "APSL-1.2", - "APSL-2.0", - "Arphic-1999", - "Artistic-1.0", - "Artistic-1.0-cl8", - "Artistic-1.0-Perl", - "Artistic-2.0", - "Baekmuk", - "Bahyph", - "Barr", - "Beerware", - "Bitstream-Vera", - "BitTorrent-1.0", - "BitTorrent-1.1", - "blessing", - "BlueOak-1.0.0", - "Borceux", - "BSD-1-Clause", - "BSD-2-Clause", - "BSD-2-Clause-FreeBSD", - "BSD-2-Clause-NetBSD", - "BSD-2-Clause-Patent", - "BSD-2-Clause-Views", - "BSD-3-Clause", - "BSD-3-Clause-Attribution", - "BSD-3-Clause-Clear", - "BSD-3-Clause-LBNL", - "BSD-3-Clause-Modification", - "BSD-3-Clause-No-Military-License", - "BSD-3-Clause-No-Nuclear-License", - "BSD-3-Clause-No-Nuclear-License-2014", - "BSD-3-Clause-No-Nuclear-Warranty", - "BSD-3-Clause-Open-MPI", - "BSD-4-Clause", - "BSD-4-Clause-Shortened", - "BSD-4-Clause-UC", - "BSD-Protection", - "BSD-Source-Code", - "BSL-1.0", - "BUSL-1.1", - "bzip2-1.0.5", - "bzip2-1.0.6", - "C-UDA-1.0", - "CAL-1.0", - "CAL-1.0-Combined-Work-Exception", - "Caldera", - "CATOSL-1.1", - "CC-BY-1.0", - "CC-BY-2.0", - "CC-BY-2.5", - "CC-BY-2.5-AU", - "CC-BY-3.0", - "CC-BY-3.0-AT", - "CC-BY-3.0-DE", - "CC-BY-3.0-IGO", - "CC-BY-3.0-NL", - "CC-BY-3.0-US", - "CC-BY-4.0", - "CC-BY-NC-1.0", - "CC-BY-NC-2.0", - "CC-BY-NC-2.5", - "CC-BY-NC-3.0", - "CC-BY-NC-3.0-DE", - "CC-BY-NC-4.0", - "CC-BY-NC-ND-1.0", - "CC-BY-NC-ND-2.0", - "CC-BY-NC-ND-2.5", - "CC-BY-NC-ND-3.0", - "CC-BY-NC-ND-3.0-DE", - "CC-BY-NC-ND-3.0-IGO", - "CC-BY-NC-ND-4.0", - "CC-BY-NC-SA-1.0", - "CC-BY-NC-SA-2.0", - "CC-BY-NC-SA-2.0-FR", - "CC-BY-NC-SA-2.0-UK", - "CC-BY-NC-SA-2.5", - "CC-BY-NC-SA-3.0", - "CC-BY-NC-SA-3.0-DE", - "CC-BY-NC-SA-3.0-IGO", - "CC-BY-NC-SA-4.0", - "CC-BY-ND-1.0", - "CC-BY-ND-2.0", - "CC-BY-ND-2.5", - "CC-BY-ND-3.0", - "CC-BY-ND-3.0-DE", - "CC-BY-ND-4.0", - "CC-BY-SA-1.0", - "CC-BY-SA-2.0", - "CC-BY-SA-2.0-UK", - "CC-BY-SA-2.1-JP", - "CC-BY-SA-2.5", - "CC-BY-SA-3.0", - "CC-BY-SA-3.0-AT", - "CC-BY-SA-3.0-DE", - "CC-BY-SA-4.0", - "CC-PDDC", - "CC0-1.0", - "CDDL-1.0", - "CDDL-1.1", - "CDL-1.0", - "CDLA-Permissive-1.0", - "CDLA-Permissive-2.0", - "CDLA-Sharing-1.0", - "CECILL-1.0", - "CECILL-1.1", - "CECILL-2.0", - "CECILL-2.1", - "CECILL-B", - "CECILL-C", - "CERN-OHL-1.1", - "CERN-OHL-1.2", - "CERN-OHL-P-2.0", - "CERN-OHL-S-2.0", - "CERN-OHL-W-2.0", - "checkmk", - "ClArtistic", - "CNRI-Jython", - "CNRI-Python", - "CNRI-Python-GPL-Compatible", - "COIL-1.0", - "Community-Spec-1.0", - "Condor-1.1", - "copyleft-next-0.3.0", - "copyleft-next-0.3.1", - "CPAL-1.0", - "CPL-1.0", - "CPOL-1.02", - "Crossword", - "CrystalStacker", - "CUA-OPL-1.0", - "Cube", - "curl", - "D-FSL-1.0", - "diffmark", - "DL-DE-BY-2.0", - "DOC", - "Dotseqn", - "DRL-1.0", - "DSDP", - "dvipdfm", - "ECL-1.0", - "ECL-2.0", - "eCos-2.0", - "EFL-1.0", - "EFL-2.0", - "eGenix", - "Elastic-2.0", - "Entessa", - "EPICS", - "EPL-1.0", - "EPL-2.0", - "ErlPL-1.1", - "etalab-2.0", - "EUDatagrid", - "EUPL-1.0", - "EUPL-1.1", - "EUPL-1.2", - "Eurosym", - "Fair", - "FDK-AAC", - "Frameworx-1.0", - "FreeBSD-DOC", - "FreeImage", - "FSFAP", - "FSFUL", - "FSFULLR", - "FSFULLRWD", - "FTL", - "GD", - "GFDL-1.1", - "GFDL-1.1-invariants-only", - "GFDL-1.1-invariants-or-later", - "GFDL-1.1-no-invariants-only", - "GFDL-1.1-no-invariants-or-later", - "GFDL-1.1-only", - "GFDL-1.1-or-later", - "GFDL-1.2", - "GFDL-1.2-invariants-only", - "GFDL-1.2-invariants-or-later", - "GFDL-1.2-no-invariants-only", - "GFDL-1.2-no-invariants-or-later", - "GFDL-1.2-only", - "GFDL-1.2-or-later", - "GFDL-1.3", - "GFDL-1.3-invariants-only", - "GFDL-1.3-invariants-or-later", - "GFDL-1.3-no-invariants-only", - "GFDL-1.3-no-invariants-or-later", - "GFDL-1.3-only", - "GFDL-1.3-or-later", - "Giftware", - "GL2PS", - "Glide", - "Glulxe", - "GLWTPL", - "gnuplot", - "GPL-1.0", - "GPL-1.0-only", - "GPL-1.0-or-later", - "GPL-1.0+", - "GPL-2.0", - "GPL-2.0-only", - "GPL-2.0-or-later", - "GPL-2.0-with-autoconf-exception", - "GPL-2.0-with-bison-exception", - "GPL-2.0-with-classpath-exception", - "GPL-2.0-with-font-exception", - "GPL-2.0-with-GCC-exception", - "GPL-2.0+", - "GPL-3.0", - "GPL-3.0-only", - "GPL-3.0-or-later", - "GPL-3.0-with-autoconf-exception", - "GPL-3.0-with-GCC-exception", - "GPL-3.0+", - "gSOAP-1.3b", - "HaskellReport", - "Hippocratic-2.1", - "HPND", - "HPND-sell-variant", - "HTMLTIDY", - "IBM-pibs", - "ICU", - "IJG", - "ImageMagick", - "iMatix", - "Imlib2", - "Info-ZIP", - "Intel", - "Intel-ACPI", - "Interbase-1.0", - "IPA", - "IPL-1.0", - "ISC", - "Jam", - "JasPer-2.0", - "JPNIC", - "JSON", - "Knuth-CTAN", - "LAL-1.2", - "LAL-1.3", - "Latex2e", - "Leptonica", - "LGPL-2.0", - "LGPL-2.0-only", - "LGPL-2.0-or-later", - "LGPL-2.0+", - "LGPL-2.1", - "LGPL-2.1-only", - "LGPL-2.1-or-later", - "LGPL-2.1+", - "LGPL-3.0", - "LGPL-3.0-only", - "LGPL-3.0-or-later", - "LGPL-3.0+", - "LGPLLR", - "Libpng", - "libpng-2.0", - "libselinux-1.0", - "libtiff", - "libutil-David-Nugent", - "LiLiQ-P-1.1", - "LiLiQ-R-1.1", - "LiLiQ-Rplus-1.1", - "Linux-man-pages-copyleft", - "Linux-OpenIB", - "LOOP", - "LPL-1.0", - "LPL-1.02", - "LPPL-1.0", - "LPPL-1.1", - "LPPL-1.2", - "LPPL-1.3a", - "LPPL-1.3c", - "LZMA-SDK-9.11-to-9.20", - "LZMA-SDK-9.22", - "MakeIndex", - "Minpack", - "MirOS", - "MIT", - "MIT-0", - "MIT-advertising", - "MIT-CMU", - "MIT-enna", - "MIT-feh", - "MIT-Modern-Variant", - "MIT-open-group", - "MITNFA", - "Motosoto", - "mpi-permissive", - "mpich2", - "MPL-1.0", - "MPL-1.1", - "MPL-2.0", - "MPL-2.0-no-copyleft-exception", - "mplus", - "MS-LPL", - "MS-PL", - "MS-RL", - "MTLL", - "MulanPSL-1.0", - "MulanPSL-2.0", - "Multics", - "Mup", - "NAIST-2003", - "NASA-1.3", - "Naumen", - "NBPL-1.0", - "NCGL-UK-2.0", - "NCSA", - "Net-SNMP", - "NetCDF", - "Newsletr", - "NGPL", - "NICTA-1.0", - "NIST-PD", - "NIST-PD-fallback", - "NLOD-1.0", - "NLOD-2.0", - "NLPL", - "Nokia", - "NOSL", - "Noweb", - "NPL-1.0", - "NPL-1.1", - "NPOSL-3.0", - "NRL", - "NTP", - "NTP-0", - "Nunit", - "O-UDA-1.0", - "OCCT-PL", - "OCLC-2.0", - "ODbL-1.0", - "ODC-By-1.0", - "OFL-1.0", - "OFL-1.0-no-RFN", - "OFL-1.0-RFN", - "OFL-1.1", - "OFL-1.1-no-RFN", - "OFL-1.1-RFN", - "OGC-1.0", - "OGDL-Taiwan-1.0", - "OGL-Canada-2.0", - "OGL-UK-1.0", - "OGL-UK-2.0", - "OGL-UK-3.0", - "OGTSL", - "OLDAP-1.1", - "OLDAP-1.2", - "OLDAP-1.3", - "OLDAP-1.4", - "OLDAP-2.0", - "OLDAP-2.0.1", - "OLDAP-2.1", - "OLDAP-2.2", - "OLDAP-2.2.1", - "OLDAP-2.2.2", - "OLDAP-2.3", - "OLDAP-2.4", - "OLDAP-2.5", - "OLDAP-2.6", - "OLDAP-2.7", - "OLDAP-2.8", - "OML", - "OpenSSL", - "OPL-1.0", - "OPUBL-1.0", - "OSET-PL-2.1", - "OSL-1.0", - "OSL-1.1", - "OSL-2.0", - "OSL-2.1", - "OSL-3.0", - "Parity-6.0.0", - "Parity-7.0.0", - "PDDL-1.0", - "PHP-3.0", - "PHP-3.01", - "Plexus", - "PolyForm-Noncommercial-1.0.0", - "PolyForm-Small-Business-1.0.0", - "PostgreSQL", - "PSF-2.0", - "psfrag", - "psutils", - "Python-2.0", - "Python-2.0.1", - "Qhull", - "QPL-1.0", - "Rdisc", - "RHeCos-1.1", - "RPL-1.1", - "RPL-1.5", - "RPSL-1.0", - "RSA-MD", - "RSCPL", - "Ruby", - "SAX-PD", - "Saxpath", - "SCEA", - "SchemeReport", - "Sendmail", - "Sendmail-8.23", - "SGI-B-1.0", - "SGI-B-1.1", - "SGI-B-2.0", - "SHL-0.5", - "SHL-0.51", - "SimPL-2.0", - "SISSL", - "SISSL-1.2", - "Sleepycat", - "SMLNJ", - "SMPPL", - "SNIA", - "Spencer-86", - "Spencer-94", - "Spencer-99", - "SPL-1.0", - "SSH-OpenSSH", - "SSH-short", - "SSPL-1.0", - "StandardML-NJ", - "SugarCRM-1.1.3", - "SWL", - "Symlinks", - "TAPR-OHL-1.0", - "TCL", - "TCP-wrappers", - "TMate", - "TORQUE-1.1", - "TOSL", - "TU-Berlin-1.0", - "TU-Berlin-2.0", - "UCL-1.0", - "Unicode-DFS-2015", - "Unicode-DFS-2016", - "Unicode-TOU", - "Unlicense", - "UPL-1.0", - "Vim", - "VOSTROM", - "VSL-1.0", - "W3C", - "W3C-19980720", - "W3C-20150513", - "Watcom-1.0", - "Wsuipa", - "WTFPL", - "wxWindows", - "X11", - "X11-distribute-modifications-variant", - "Xerox", - "XFree86-1.1", - "xinetd", - "Xnet", - "xpp", - "XSkat", - "YPL-1.0", - "YPL-1.1", - "Zed", - "Zend-2.0", - "Zimbra-1.3", - "Zimbra-1.4", - "Zlib", - "zlib-acknowledgement", - "ZPL-1.1", - "ZPL-2.0", - "ZPL-2.1" - ], - "type": "string" -} diff --git a/schemas/package.schema.json b/schemas/package.schema.json deleted file mode 100644 index 065b2c8..0000000 --- a/schemas/package.schema.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://json.schemastore.org/mason-registry.json", - "title": "Mason Registry package schema", - "description": "Schema for package definitions.", - "type": "object", - "additionalProperties": false, - "properties": { - "name": { - "type": "string", - "description": "The package name. MUST be unique within the registry it belongs to." - }, - "description": { - "type": "string", - "description": "The description of the package. Usually sourced upstream." - }, - "homepage": { - "type": "string", - "format": "uri", - "pattern": "^https?://", - "description": "A URL to the package's homepage." - }, - "licenses": { - "type": "array", - "minItems": 1, - "items": { - "$ref": "mason-registry.json/enums/spdx-license" - } - }, - "languages": { - "type": "array", - "items": { - "$ref": "mason-registry.json/enums/language" - } - }, - "categories": { - "type": "array", - "items": { - "$ref": "mason-registry.json/enums/category" - } - }, - "deprecation": { - "$ref": "mason-registry.json/components/deprecation" - }, - "source": { - "$ref": "mason-registry.json/components/source" - }, - "schemas": { - "$ref": "mason-registry.json/components/schemas" - }, - "bin": { - "$ref": "mason-registry.json/components/bin" - }, - "share": { - "$ref": "mason-registry.json/components/share" - }, - "opt": { - "$ref": "mason-registry.json/components/opt" - }, - "ci_skip": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "array", - "items": { - "$ref": "mason-registry.json/enums/platform" - } - } - ] - } - }, - "required": ["name", "description", "homepage", "licenses", "languages", "categories", "source"] -}