|
1 | 1 | {
|
2 | 2 | "definitions": {},
|
3 | 3 | "$schema": "http://json-schema.org/draft-07/schema#",
|
4 |
| - "$id": "http://example.com/root.json", |
| 4 | + "$id": "https://github.com/react-native-community/directory/blob/main/react-native-libraries.schema.json", |
5 | 5 | "type": "array",
|
6 |
| - "title": "The Root Schema", |
| 6 | + "title": "React Native Directory entries", |
7 | 7 | "items": {
|
8 | 8 | "$id": "#/items",
|
9 | 9 | "type": "object",
|
10 |
| - "title": "The Items Schema", |
| 10 | + "title": "React Native Directory package entry", |
11 | 11 | "required": [
|
12 | 12 | "githubUrl"
|
13 | 13 | ],
|
14 | 14 | "properties": {
|
15 | 15 | "githubUrl": {
|
16 | 16 | "$id": "#/items/properties/githubUrl",
|
17 | 17 | "type": "string",
|
18 |
| - "title": "The GitHub URL Schema", |
| 18 | + "title": "Package GitHub repository URL", |
19 | 19 | "default": "",
|
20 | 20 | "examples": [
|
21 | 21 | "https://github.com/joshswan/react-native-autolink"
|
|
25 | 25 | "ios": {
|
26 | 26 | "$id": "#/items/properties/ios",
|
27 | 27 | "type": "boolean",
|
28 |
| - "title": "The iOS Schema", |
| 28 | + "title": "Package supports iOS", |
29 | 29 | "default": false,
|
30 | 30 | "examples": [
|
31 | 31 | true
|
|
34 | 34 | "android": {
|
35 | 35 | "$id": "#/items/properties/android",
|
36 | 36 | "type": "boolean",
|
37 |
| - "title": "The Android Schema", |
| 37 | + "title": "Package supports Android", |
38 | 38 | "default": false,
|
39 | 39 | "examples": [
|
40 | 40 | true
|
|
43 | 43 | "windows": {
|
44 | 44 | "$id": "#/items/properties/windows",
|
45 | 45 | "type": "boolean",
|
46 |
| - "title": "The Windows Schema", |
| 46 | + "title": "Package supports Windows (react-native-windows)", |
47 | 47 | "default": false,
|
48 | 48 | "examples": [
|
49 | 49 | true
|
|
52 | 52 | "macos": {
|
53 | 53 | "$id": "#/items/properties/macos",
|
54 | 54 | "type": "boolean",
|
55 |
| - "title": "The macOS Schema", |
| 55 | + "title": "Package supports macOS (react-native-macos)", |
| 56 | + "default": false, |
| 57 | + "examples": [ |
| 58 | + true |
| 59 | + ] |
| 60 | + }, |
| 61 | + "tvos": { |
| 62 | + "$id": "#/items/properties/tvos", |
| 63 | + "type": "boolean", |
| 64 | + "title": "Package supports tvOS (react-native-tvos)", |
56 | 65 | "default": false,
|
57 | 66 | "examples": [
|
58 | 67 | true
|
|
61 | 70 | "fireos": {
|
62 | 71 | "$id": "#/items/properties/fireos",
|
63 | 72 | "type": "boolean",
|
64 |
| - "title": "The Fire OS Schema", |
| 73 | + "title": "Package is compatible with Fire OS", |
65 | 74 | "default": false,
|
66 | 75 | "examples": [
|
67 | 76 | true
|
|
70 | 79 | "expoGo": {
|
71 | 80 | "$id": "#/items/properties/expo",
|
72 | 81 | "type": "boolean",
|
73 |
| - "title": "The Expo Go Schema", |
| 82 | + "title": "Package is compatible with Expo Go", |
74 | 83 | "default": false,
|
75 | 84 | "examples": [
|
76 | 85 | true
|
|
79 | 88 | "examples": {
|
80 | 89 | "$id": "#/items/properties/examples",
|
81 | 90 | "type": "array",
|
82 |
| - "title": "The Examples Schema", |
| 91 | + "title": "List of example projects or Snacks URLs", |
83 | 92 | "default": null,
|
84 | 93 | "items": {
|
85 | 94 | "$id": "#/items/properties/examples/items",
|
86 | 95 | "type": "string",
|
87 |
| - "title": "The Items Schema", |
| 96 | + "title": "Example entry URL", |
88 | 97 | "default": "",
|
89 | 98 | "examples": [
|
| 99 | + "https://github.com/expo/examples/tree/master/with-video-background", |
90 | 100 | "https://snack.expo.io/SkRP2Ehrb"
|
91 | 101 | ],
|
92 | 102 | "pattern": "^(.*)$"
|
93 | 103 | }
|
94 | 104 | },
|
| 105 | + "images": { |
| 106 | + "$id": "#/items/properties/images", |
| 107 | + "type": "array", |
| 108 | + "title": "List of image URLs demonstrating package functionality", |
| 109 | + "default": [ |
| 110 | + null |
| 111 | + ], |
| 112 | + "items": { |
| 113 | + "$id": "#/items/properties/images/items", |
| 114 | + "type": "string", |
| 115 | + "title": "Image entry URL", |
| 116 | + "default": "", |
| 117 | + "examples": [ |
| 118 | + "https://reactnative.dev/img/homepage/phones.png", |
| 119 | + "https://github.com/mattermost/react-native-paste-input/blob/master/example/gifs/iOSPasteInput.gif?raw=true" |
| 120 | + ], |
| 121 | + "pattern": "^(http(s?):)(\\w|\\/|\\.|:|-|%|\\+|\\*)+\\.(?:jp(e?)g|gif|png|webp|JP(E?)G|GIF|PNG|WEBP)(\\?\\S*)?$" |
| 122 | + } |
| 123 | + }, |
95 | 124 | "npmPkg": {
|
96 | 125 | "$id": "#/items/properties/npmPkg",
|
97 | 126 | "type": "string",
|
98 |
| - "title": "The NPM Package Name Schema", |
| 127 | + "title": "npm package name in the registry (mostly for scoped packages)", |
99 | 128 | "default": "",
|
100 | 129 | "examples": [
|
101 | 130 | "@expo/ex-navigation"
|
|
108 | 137 | "boolean",
|
109 | 138 | "string"
|
110 | 139 | ],
|
111 |
| - "title": "The Unmaintained Schema", |
| 140 | + "title": "Package is unmaintained or archived", |
112 | 141 | "default": false,
|
113 | 142 | "examples": [
|
114 | 143 | true,
|
115 | 144 | "expo-image"
|
116 | 145 | ]
|
117 | 146 | },
|
118 |
| - "images": { |
119 |
| - "$id": "#/items/properties/images", |
120 |
| - "type": "array", |
121 |
| - "title": "The Images Schema", |
122 |
| - "default": [ |
123 |
| - null |
124 |
| - ], |
125 |
| - "items": { |
126 |
| - "$id": "#/items/properties/images/items", |
127 |
| - "type": "string", |
128 |
| - "title": "The Image Schema", |
129 |
| - "default": "", |
130 |
| - "examples": [ |
131 |
| - "https://reactnative.dev/img/homepage/phones.png", |
132 |
| - "https://github.com/mattermost/react-native-paste-input/blob/master/example/gifs/iOSPasteInput.gif?raw=true" |
133 |
| - ], |
134 |
| - "pattern": "^(http(s?):)(\\w|\\/|\\.|:|-|%|\\+|\\*)+\\.(?:jp(e?)g|gif|png|webp|JP(E?)G|GIF|PNG|WEBP)(\\?\\S*)?$" |
135 |
| - } |
136 |
| - }, |
137 | 147 | "dev": {
|
138 | 148 | "$id": "#/items/properties/dev",
|
139 | 149 | "type": "boolean",
|
140 |
| - "title": "The Development Tool Schema", |
| 150 | + "title": "Package is a Development Tool (should be installed as 'devDependency')", |
141 | 151 | "default": false,
|
142 | 152 | "examples": [
|
143 | 153 | true
|
|
146 | 156 | "template": {
|
147 | 157 | "$id": "#/items/properties/template",
|
148 | 158 | "type": "boolean",
|
149 |
| - "title": "The Template Schema", |
| 159 | + "title": "Package is a project template", |
150 | 160 | "default": false,
|
151 | 161 | "examples": [
|
152 | 162 | true
|
|
158 | 168 | "boolean",
|
159 | 169 | "string"
|
160 | 170 | ],
|
161 |
| - "title": "The New Architecture Support Schema", |
| 171 | + "title": "Package supports New Architecture", |
162 | 172 | "default": false,
|
163 | 173 | "examples": [
|
164 | 174 | true,
|
|
184 | 194 | "items": {
|
185 | 195 | "$id": "#/items/properties/alternatives/items",
|
186 | 196 | "type": "string",
|
187 |
| - "title": "Alternative library", |
| 197 | + "title": "Alternative library npm package name", |
188 | 198 | "default": "",
|
189 | 199 | "examples": [
|
190 | 200 | "expo-image"
|
|
0 commit comments