summaryrefslogtreecommitdiffstats
path: root/data/schemas
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2023-09-20 14:13:51 +0100
committerGitHub <noreply@github.com>2023-09-20 14:13:51 +0100
commitcdff9b8da710df29da2d977da0c6cf2b5ba1bf7b (patch)
treeeb4ce883f6efa4f674866e52345823bf90ae3eb1 /data/schemas
parent16ad362e6728bafcb1f79bec193a484148932551 (diff)
Restrict "feature" and "animation" keys (#21895)
Diffstat (limited to 'data/schemas')
-rw-r--r--data/schemas/definitions.jsonschema4
-rw-r--r--data/schemas/keyboard.jsonschema9
2 files changed, 12 insertions, 1 deletions
diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema
index b9c64a55ec..441e6395cf 100644
--- a/data/schemas/definitions.jsonschema
+++ b/data/schemas/definitions.jsonschema
@@ -29,6 +29,10 @@
"minLength": 1,
"maxLength": 250
},
+ "snake_case": {
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9_]*$"
+ },
"layout_macro": {
"oneOf": [
{
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index 901caa75fe..4053387f3b 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -256,7 +256,11 @@
"enabled": {"type": "boolean"}
}
},
- "features": {"$ref": "qmk.definitions.v1#/boolean_array"},
+ "features": {
+ "$ref": "qmk.definitions.v1#/boolean_array",
+ "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
+
+ },
"indicators": {
"type": "object",
"properties": {
@@ -370,6 +374,7 @@
"properties": {
"animations": {
"type": "object",
+ "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
"additionalProperties": {
"type": "boolean"
}
@@ -419,6 +424,7 @@
"properties": {
"animations": {
"type": "object",
+ "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
"additionalProperties": {
"type": "boolean"
}
@@ -471,6 +477,7 @@
"properties": {
"animations": {
"type": "object",
+ "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
"additionalProperties": {
"type": "boolean"
}