Skip to content

Commit 5ab4963

Browse files
committed
fix(core): make JSON Schemas at packages/core/src/ruleset/meta valid
Plus add a GitHub Action that uses `sourcemeta/jsonschema` to perform some basic smoke tests to prevent regressions. Fixes: #2787 Signed-off-by: Juan Cruz Viotti <[email protected]>
1 parent cb7792c commit 5ab4963

File tree

6 files changed

+32
-11
lines changed

6 files changed

+32
-11
lines changed

.github/workflows/jsonschema.yml

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Check JSON Schemas
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- master
7+
- develop
8+
9+
jobs:
10+
jsonschema-check:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@main
14+
- uses: sourcemeta/[email protected]
15+
- run: jsonschema metaschema --verbose packages/core/src/ruleset/meta/*.json
16+
- run: jsonschema lint --verbose packages/core/src/ruleset/meta/*.json
17+
18+
# As a smoke test to ensure the schemas at least reference each other well
19+
- run: >
20+
jsonschema bundle --verbose
21+
packages/core/src/ruleset/meta/ruleset.schema.json
22+
--resolve packages/core/src/ruleset/meta
23+
--ignore packages/core/src/ruleset/meta/js-extensions.json

packages/core/src/ruleset/meta/js-extensions.json

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "http://json-schema.org/draft-07/schema#",
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
33
"$id": "@stoplight/spectral-core/meta/extensions",
44
"$defs": {
55
"Extends": {
@@ -20,13 +20,12 @@
2020
{
2121
"type": "array",
2222
"minItems": 2,
23-
"additionalItems": false,
24-
"items": [
23+
"items": false,
24+
"prefixItems": [
2525
{
2626
"$ref": "ruleset"
2727
},
2828
{
29-
"type": "string",
3029
"enum": ["off", "recommended", "all"],
3130
"errorMessage": "allowed types are \"off\", \"recommended\" and \"all\""
3231
}

packages/core/src/ruleset/meta/json-extensions.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "http://json-schema.org/draft-07/schema#",
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
33
"$id": "@stoplight/spectral-core/meta/extensions",
44
"$defs": {
55
"Extends": {
@@ -18,8 +18,8 @@
1818
{
1919
"type": "array",
2020
"minItems": 2,
21-
"additionalItems": false,
22-
"items": [
21+
"items": false,
22+
"prefixItems": [
2323
{
2424
"type": "string"
2525
},

packages/core/src/ruleset/meta/rule.schema.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "http://json-schema.org/draft-07/schema#",
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
33
"$id": "@stoplight/spectral-core/meta/rule.schema",
44
"$defs": {
55
"Then": {
@@ -75,7 +75,6 @@
7575
},
7676
"type": {
7777
"enum": ["style", "validation"],
78-
"type": "string",
7978
"errorMessage": "allowed types are \"style\" and \"validation\""
8079
},
8180
"extensions": {

packages/core/src/ruleset/meta/ruleset.schema.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "http://json-schema.org/draft-07/schema#",
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
33
"$id": "@stoplight/spectral-core/meta/ruleset.schema",
44
"type": "object",
55
"additionalProperties": false,

packages/core/src/ruleset/meta/shared.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$schema": "http://json-schema.org/draft-07/schema#",
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
33
"$id": "@stoplight/spectral-core/meta/shared",
44
"$defs": {
55
"Formats": {

0 commit comments

Comments
 (0)