UNPKG

6.75 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.projectConfig = exports.dependencyConfig = void 0;
7
8function _joi() {
9 const data = _interopRequireDefault(require("joi"));
10
11 _joi = function () {
12 return data;
13 };
14
15 return data;
16}
17
18function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
20const map = (key, value) => _joi().default.object().unknown(true).pattern(key, value);
21/**
22 * Schema for CommandT
23 */
24
25
26const command = _joi().default.object({
27 name: _joi().default.string().required(),
28 description: _joi().default.string(),
29 usage: _joi().default.string(),
30 func: _joi().default.func().required(),
31 options: _joi().default.array().items(_joi().default.object({
32 name: _joi().default.string().required(),
33 description: _joi().default.string(),
34 parse: _joi().default.func(),
35 default: _joi().default.alternatives().try(_joi().default.bool(), _joi().default.number(), _joi().default.string().allow(''), _joi().default.func())
36 }).rename('command', 'name', {
37 ignoreUndefined: true
38 })),
39 examples: _joi().default.array().items(_joi().default.object({
40 desc: _joi().default.string().required(),
41 cmd: _joi().default.string().required()
42 }))
43});
44/**
45 * Schema for HealthChecksT
46 */
47
48
49const healthCheck = _joi().default.object({
50 label: _joi().default.string().required(),
51 healthchecks: _joi().default.array().items(_joi().default.object({
52 label: _joi().default.string().required(),
53 isRequired: _joi().default.bool(),
54 description: _joi().default.string(),
55 getDiagnostics: _joi().default.func(),
56 win32AutomaticFix: _joi().default.func(),
57 darwinAutomaticFix: _joi().default.func(),
58 linuxAutomaticFix: _joi().default.func(),
59 runAutomaticFix: _joi().default.func().required()
60 }))
61});
62/**
63 * Schema for UserDependencyConfigT
64 */
65
66
67const dependencyConfig = _joi().default.object({
68 dependency: _joi().default.object({
69 platforms: map(_joi().default.string(), _joi().default.any()).keys({
70 ios: _joi().default.object({
71 project: _joi().default.string(),
72 podspecPath: _joi().default.string(),
73 sharedLibraries: _joi().default.array().items(_joi().default.string()),
74 libraryFolder: _joi().default.string(),
75 scriptPhases: _joi().default.array().items(_joi().default.object()),
76 configurations: _joi().default.array().items(_joi().default.string()).default([])
77 }).default({}),
78 android: _joi().default.object({
79 sourceDir: _joi().default.string(),
80 manifestPath: _joi().default.string(),
81 packageImportPath: _joi().default.string(),
82 packageInstance: _joi().default.string(),
83 dependencyConfiguration: _joi().default.string(),
84 buildTypes: _joi().default.array().items(_joi().default.string()).default([])
85 }).default({})
86 }).default(),
87 assets: _joi().default.array().items(_joi().default.string()).default([]),
88 hooks: map(_joi().default.string(), _joi().default.string()).default({}),
89 params: _joi().default.array().items(_joi().default.object({
90 name: _joi().default.string(),
91 type: _joi().default.string(),
92 message: _joi().default.string()
93 })).default([])
94 }).default(),
95 platforms: map(_joi().default.string(), _joi().default.object({
96 npmPackageName: _joi().default.string().optional(),
97 dependencyConfig: _joi().default.func(),
98 projectConfig: _joi().default.func(),
99 linkConfig: _joi().default.func()
100 })).default({}),
101 commands: _joi().default.array().items(command).default([]),
102 healthChecks: _joi().default.array().items(healthCheck).default([])
103}).unknown(true).default();
104/**
105 * Schema for ProjectConfigT
106 */
107
108
109exports.dependencyConfig = dependencyConfig;
110
111const projectConfig = _joi().default.object({
112 dependencies: map(_joi().default.string(), _joi().default.object({
113 root: _joi().default.string(),
114 platforms: map(_joi().default.string(), _joi().default.any()).keys({
115 ios: _joi().default.object({
116 sourceDir: _joi().default.string(),
117 folder: _joi().default.string(),
118 pbxprojPath: _joi().default.string(),
119 podfile: _joi().default.string(),
120 podspecPath: _joi().default.string(),
121 projectPath: _joi().default.string(),
122 projectName: _joi().default.string(),
123 libraryFolder: _joi().default.string(),
124 sharedLibraries: _joi().default.array().items(_joi().default.string()),
125 configurations: _joi().default.array().items(_joi().default.string()).default([])
126 }).allow(null),
127 android: _joi().default.object({
128 sourceDir: _joi().default.string(),
129 folder: _joi().default.string(),
130 packageImportPath: _joi().default.string(),
131 packageInstance: _joi().default.string(),
132 dependencyConfiguration: _joi().default.string(),
133 buildTypes: _joi().default.array().items(_joi().default.string()).default([])
134 }).allow(null)
135 }),
136 assets: _joi().default.array().items(_joi().default.string()),
137 hooks: map(_joi().default.string(), _joi().default.string()),
138 params: _joi().default.array().items(_joi().default.object({
139 name: _joi().default.string(),
140 type: _joi().default.string(),
141 message: _joi().default.string()
142 }))
143 }).allow(null)).default({}),
144 reactNativePath: _joi().default.string(),
145 project: map(_joi().default.string(), _joi().default.any()).keys({
146 ios: _joi().default.object({
147 project: _joi().default.string(),
148 sharedLibraries: _joi().default.array().items(_joi().default.string()),
149 libraryFolder: _joi().default.string()
150 }).default({}),
151 android: _joi().default.object({
152 sourceDir: _joi().default.string(),
153 manifestPath: _joi().default.string(),
154 packageName: _joi().default.string(),
155 packageFolder: _joi().default.string(),
156 mainFilePath: _joi().default.string(),
157 stringsPath: _joi().default.string(),
158 settingsGradlePath: _joi().default.string(),
159 assetsPath: _joi().default.string(),
160 buildGradlePath: _joi().default.string(),
161 appName: _joi().default.string(),
162 dependencyConfiguration: _joi().default.string()
163 }).default({})
164 }).default(),
165 assets: _joi().default.array().items(_joi().default.string()).default([]),
166 commands: _joi().default.array().items(command).default([]),
167 platforms: map(_joi().default.string(), _joi().default.object({
168 npmPackageName: _joi().default.string().optional(),
169 dependencyConfig: _joi().default.func(),
170 projectConfig: _joi().default.func(),
171 linkConfig: _joi().default.func()
172 })).default({})
173}).unknown(true).default();
174
175exports.projectConfig = projectConfig;
176
177//# sourceMappingURL=schema.js.map
\No newline at end of file