1{ 2 "$schema": "http://json-schema.org/draft-04/schema#", 3 "$comment": "This should be kept in sync with the validator in packages/flutter_tools/lib/src/flutter_manifest.dart", 4 "title": "pubspec.yaml", 5 "type": "object", 6 "additionalProperties": true, 7 "properties": { 8 "name": { "type": "string" }, 9 "flutter": { 10 "oneOf": [ 11 { "type": "object" }, 12 { "type": "null" } 13 ], 14 "additionalProperties": false, 15 "properties": { 16 "uses-material-design": { "type": "boolean" }, 17 "assets": { 18 "type": "array", 19 "items": { "type": "string" } 20 }, 21 "services": { 22 "type": "array", 23 "items": { "type": "string" } 24 }, 25 "fonts": { 26 "type": "array", 27 "items": { 28 "type": "object", 29 "additionalProperties": false, 30 "properties": { 31 "family": { "type": "string" }, 32 "fonts": { 33 "type": "array", 34 "items": { 35 "type": "object", 36 "additionalProperties": false, 37 "properties": { 38 "asset": { "type": "string" }, 39 "weight": { "enum": [ 100, 200, 300, 400, 500, 600, 700, 800, 900 ] }, 40 "style": { "enum": [ "normal", "italic" ] } 41 } 42 } 43 } 44 } 45 } 46 }, 47 "module": { 48 "type": "object", 49 "additionalProperties": false, 50 "properties": { 51 "androidX": { "type": "boolean" }, 52 "androidPackage": { "type": "string" }, 53 "iosBundleIdentifier": { "type": "string" } 54 } 55 }, 56 "plugin": { 57 "type": "object", 58 "additionalProperties": false, 59 "properties": { 60 "androidPackage": { "type": "string" }, 61 "iosPrefix": { "type": "string" }, 62 "macosPrefix": { "type": "string" }, 63 "pluginClass": { "type": "string" } 64 } 65 } 66 } 67 } 68 } 69} 70