1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.projectConfig = exports.dependencyConfig = void 0;
|
7 |
|
8 | function _joi() {
|
9 | const data = _interopRequireDefault(require("joi"));
|
10 |
|
11 | _joi = function () {
|
12 | return data;
|
13 | };
|
14 |
|
15 | return data;
|
16 | }
|
17 |
|
18 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
19 |
|
20 | const map = (key, value) => _joi().default.object().unknown(true).pattern(key, value);
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 | const 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 |
|
46 |
|
47 |
|
48 |
|
49 | const 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 |
|
64 |
|
65 |
|
66 |
|
67 | const 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 |
|
106 |
|
107 |
|
108 |
|
109 | exports.dependencyConfig = dependencyConfig;
|
110 |
|
111 | const 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 |
|
175 | exports.projectConfig = projectConfig;
|
176 |
|
177 |
|
\ | No newline at end of file |