@hyprune/schema 0.5.2 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,53 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://hyprune.com/schema/v0.9/library-releases.schema.json",
4
+ "title": "Hyprune library release record 0.9 (the meta repository's libraries/releases.json, RFC-0011): pinned archives keyed by id@version",
5
+ "type": "object",
6
+ "propertyNames": {
7
+ "type": "string",
8
+ "maxLength": 400,
9
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z][a-z0-9-]*)+@(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(-[0-9A-Za-z.-]+)?(\\+[0-9A-Za-z.-]+)?$"
10
+ },
11
+ "additionalProperties": {
12
+ "type": "object",
13
+ "properties": {
14
+ "id": {
15
+ "$ref": "../v0.8/common.schema.json#/$defs/id"
16
+ },
17
+ "version": {
18
+ "$ref": "../v0.8/common.schema.json#/$defs/version"
19
+ },
20
+ "formatVersion": {
21
+ "type": "string",
22
+ "pattern": "^0\\.(0|[1-9][0-9]*)$"
23
+ },
24
+ "url": {
25
+ "type": "string",
26
+ "maxLength": 2048,
27
+ "pattern": "^https://[^\\s]+\\.tar\\.zst$"
28
+ },
29
+ "sha256": {
30
+ "type": "string",
31
+ "pattern": "^[0-9a-f]{64}$"
32
+ },
33
+ "nixHash": {
34
+ "type": "string",
35
+ "pattern": "^sha256-[A-Za-z0-9+/]{43}=$"
36
+ },
37
+ "published": {
38
+ "type": "boolean"
39
+ }
40
+ },
41
+ "required": [
42
+ "id",
43
+ "version",
44
+ "formatVersion",
45
+ "url",
46
+ "sha256",
47
+ "nixHash",
48
+ "published"
49
+ ],
50
+ "additionalProperties": false
51
+ },
52
+ "maxProperties": 1024
53
+ }
@@ -0,0 +1,93 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://hyprune.com/schema/v0.9/library.schema.json",
4
+ "title": "Hyprune object library manifest 0.9 (library.json, RFC-0011)",
5
+ "type": "object",
6
+ "properties": {
7
+ "formatVersion": {
8
+ "const": "0.9"
9
+ },
10
+ "id": {
11
+ "$ref": "../v0.8/common.schema.json#/$defs/id"
12
+ },
13
+ "version": {
14
+ "$ref": "../v0.8/common.schema.json#/$defs/version"
15
+ },
16
+ "name": {
17
+ "type": "string",
18
+ "minLength": 1,
19
+ "maxLength": 64,
20
+ "pattern": "^[^\\u0000-\\u001f\\u007f]+$"
21
+ },
22
+ "description": {
23
+ "type": "string",
24
+ "maxLength": 512
25
+ },
26
+ "license": {
27
+ "type": "string",
28
+ "minLength": 1,
29
+ "maxLength": 256
30
+ },
31
+ "attribution": {
32
+ "type": "array",
33
+ "items": {
34
+ "type": "object",
35
+ "properties": {
36
+ "path": {
37
+ "anyOf": [
38
+ {
39
+ "$ref": "../v0.8/common.schema.json#/$defs/path"
40
+ },
41
+ {
42
+ "const": "."
43
+ }
44
+ ]
45
+ },
46
+ "author": {
47
+ "type": "string",
48
+ "minLength": 1,
49
+ "maxLength": 256
50
+ },
51
+ "license": {
52
+ "type": "string",
53
+ "minLength": 1,
54
+ "maxLength": 256
55
+ },
56
+ "source": {
57
+ "type": "string",
58
+ "minLength": 1,
59
+ "maxLength": 2048,
60
+ "pattern": "^https://"
61
+ }
62
+ },
63
+ "required": [
64
+ "path",
65
+ "author",
66
+ "license"
67
+ ],
68
+ "additionalProperties": false
69
+ },
70
+ "minItems": 1,
71
+ "maxItems": 256
72
+ },
73
+ "objects": {
74
+ "type": "array",
75
+ "items": {
76
+ "$ref": "../v0.8/common.schema.json#/$defs/slug"
77
+ },
78
+ "minItems": 1,
79
+ "maxItems": 256,
80
+ "uniqueItems": true
81
+ }
82
+ },
83
+ "required": [
84
+ "formatVersion",
85
+ "id",
86
+ "version",
87
+ "name",
88
+ "license",
89
+ "attribution",
90
+ "objects"
91
+ ],
92
+ "additionalProperties": false
93
+ }