@mintlify/previewing 4.0.9 → 4.0.11
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.
- package/dist/constants.d.ts +2 -0
- package/dist/constants.js +16 -14
- package/dist/local-preview/index.js +90 -169
- package/dist/local-preview/listener/generate.js +27 -100
- package/dist/local-preview/listener/index.js +161 -267
- package/dist/local-preview/listener/update.js +12 -59
- package/dist/local-preview/listener/utils.js +27 -82
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/util.js +5 -6
- package/package.json +6 -6
|
@@ -7,33 +7,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
10
|
import { getCategory, createPage } from '@mintlify/prebuild';
|
|
38
11
|
import { validateMintConfig } from '@mintlify/validation';
|
|
39
12
|
import Chalk from 'chalk';
|
|
@@ -41,156 +14,117 @@ import chokidar from 'chokidar';
|
|
|
41
14
|
import { promises as _promises } from 'fs';
|
|
42
15
|
import fse from 'fs-extra';
|
|
43
16
|
import pathUtil from 'path';
|
|
44
|
-
import {
|
|
17
|
+
import { CMD_EXEC_PATH, NEXT_PROPS_PATH, NEXT_PUBLIC_PATH } from '../../constants.js';
|
|
45
18
|
import { updateGeneratedNav, updateOpenApiFiles } from './update.js';
|
|
46
19
|
import { isFileSizeValid, openApiCheck } from './utils.js';
|
|
47
|
-
|
|
48
|
-
|
|
20
|
+
const { readFile } = _promises;
|
|
21
|
+
const listener = (callback) => {
|
|
49
22
|
chokidar
|
|
50
23
|
.watch(CMD_EXEC_PATH, {
|
|
51
24
|
ignoreInitial: true,
|
|
52
25
|
ignored: ['node_modules', '.git', '.idea'],
|
|
53
26
|
cwd: CMD_EXEC_PATH,
|
|
54
27
|
})
|
|
55
|
-
.on('add',
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
switch (_a.label) {
|
|
59
|
-
case 0:
|
|
60
|
-
_a.trys.push([0, 2, , 3]);
|
|
61
|
-
return [4 /*yield*/, onUpdateEvent(filename, callback)];
|
|
62
|
-
case 1:
|
|
63
|
-
category = _a.sent();
|
|
64
|
-
switch (category) {
|
|
65
|
-
case 'page':
|
|
66
|
-
console.log('New page detected: ', filename);
|
|
67
|
-
break;
|
|
68
|
-
case 'snippet':
|
|
69
|
-
console.log('New snippet detected: ', filename);
|
|
70
|
-
break;
|
|
71
|
-
case 'mintConfig':
|
|
72
|
-
console.log('Config added');
|
|
73
|
-
break;
|
|
74
|
-
case 'openApi':
|
|
75
|
-
console.log('OpenApi spec added: ', filename);
|
|
76
|
-
break;
|
|
77
|
-
case 'staticFile':
|
|
78
|
-
console.log('Static file added: ', filename);
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
return [3 /*break*/, 3];
|
|
82
|
-
case 2:
|
|
83
|
-
error_1 = _a.sent();
|
|
84
|
-
console.error(error_1.message);
|
|
85
|
-
return [3 /*break*/, 3];
|
|
86
|
-
case 3: return [2 /*return*/];
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
}); })
|
|
90
|
-
.on('change', function (filename) { return __awaiter(void 0, void 0, void 0, function () {
|
|
91
|
-
var category, error_2;
|
|
92
|
-
return __generator(this, function (_a) {
|
|
93
|
-
switch (_a.label) {
|
|
94
|
-
case 0:
|
|
95
|
-
_a.trys.push([0, 2, , 3]);
|
|
96
|
-
return [4 /*yield*/, onUpdateEvent(filename, callback)];
|
|
97
|
-
case 1:
|
|
98
|
-
category = _a.sent();
|
|
99
|
-
switch (category) {
|
|
100
|
-
case 'page':
|
|
101
|
-
console.log('Page edited: ', filename);
|
|
102
|
-
break;
|
|
103
|
-
case 'snippet':
|
|
104
|
-
console.log('Snippet edited: ', filename);
|
|
105
|
-
break;
|
|
106
|
-
case 'mintConfig':
|
|
107
|
-
console.log('Config edited');
|
|
108
|
-
break;
|
|
109
|
-
case 'openApi':
|
|
110
|
-
console.log('OpenApi spec edited: ', filename);
|
|
111
|
-
break;
|
|
112
|
-
case 'staticFile':
|
|
113
|
-
console.log('Static file edited: ', filename);
|
|
114
|
-
break;
|
|
115
|
-
}
|
|
116
|
-
return [3 /*break*/, 3];
|
|
117
|
-
case 2:
|
|
118
|
-
error_2 = _a.sent();
|
|
119
|
-
console.error(error_2.message);
|
|
120
|
-
return [3 /*break*/, 3];
|
|
121
|
-
case 3: return [2 /*return*/];
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
}); })
|
|
125
|
-
.on('unlink', function (filename) { return __awaiter(void 0, void 0, void 0, function () {
|
|
126
|
-
var potentialCategory, targetPath, _a, error_3;
|
|
127
|
-
return __generator(this, function (_b) {
|
|
128
|
-
switch (_b.label) {
|
|
129
|
-
case 0:
|
|
130
|
-
_b.trys.push([0, 11, , 12]);
|
|
131
|
-
potentialCategory = getCategory(filename);
|
|
132
|
-
targetPath = getTargetPath(potentialCategory, filename);
|
|
133
|
-
if (!(potentialCategory === 'page' ||
|
|
134
|
-
potentialCategory === 'snippet' ||
|
|
135
|
-
potentialCategory === 'mintConfig' ||
|
|
136
|
-
potentialCategory === 'staticFile')) return [3 /*break*/, 2];
|
|
137
|
-
return [4 /*yield*/, fse.remove(targetPath)];
|
|
138
|
-
case 1:
|
|
139
|
-
_b.sent();
|
|
140
|
-
_b.label = 2;
|
|
141
|
-
case 2:
|
|
142
|
-
_a = potentialCategory;
|
|
143
|
-
switch (_a) {
|
|
144
|
-
case 'page': return [3 /*break*/, 3];
|
|
145
|
-
case 'snippet': return [3 /*break*/, 4];
|
|
146
|
-
case 'mintConfig': return [3 /*break*/, 5];
|
|
147
|
-
case 'potentialJsonOpenApiSpec': return [3 /*break*/, 6];
|
|
148
|
-
case 'potentialYamlOpenApiSpec': return [3 /*break*/, 6];
|
|
149
|
-
case 'staticFile': return [3 /*break*/, 9];
|
|
150
|
-
}
|
|
151
|
-
return [3 /*break*/, 10];
|
|
152
|
-
case 3:
|
|
153
|
-
console.log("Page deleted: ".concat(filename));
|
|
154
|
-
return [3 /*break*/, 10];
|
|
155
|
-
case 4:
|
|
156
|
-
console.log("Snippet deleted: ".concat(filename));
|
|
157
|
-
return [3 /*break*/, 10];
|
|
158
|
-
case 5:
|
|
159
|
-
console.log('⚠️ mint.json deleted. Please create a new mint.json file as it is mandatory.');
|
|
160
|
-
process.exit(1);
|
|
161
|
-
_b.label = 6;
|
|
162
|
-
case 6: return [4 /*yield*/, updateOpenApiFiles()];
|
|
163
|
-
case 7:
|
|
164
|
-
_b.sent();
|
|
165
|
-
return [4 /*yield*/, updateGeneratedNav()];
|
|
166
|
-
case 8:
|
|
167
|
-
_b.sent();
|
|
168
|
-
return [3 /*break*/, 10];
|
|
169
|
-
case 9:
|
|
170
|
-
console.log('Static file deleted: ', filename);
|
|
171
|
-
return [3 /*break*/, 10];
|
|
172
|
-
case 10: return [3 /*break*/, 12];
|
|
173
|
-
case 11:
|
|
174
|
-
error_3 = _b.sent();
|
|
175
|
-
console.error(error_3.message);
|
|
176
|
-
return [3 /*break*/, 12];
|
|
177
|
-
case 12: return [2 /*return*/];
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
}); });
|
|
28
|
+
.on('add', (filename) => onAddEvent(filename, callback))
|
|
29
|
+
.on('change', (filename) => onChangeEvent(filename, callback))
|
|
30
|
+
.on('unlink', onUnlinkEvent);
|
|
181
31
|
};
|
|
182
|
-
|
|
32
|
+
const onAddEvent = (filename, callback) => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
|
+
try {
|
|
34
|
+
const category = yield onUpdateEvent(filename, callback);
|
|
35
|
+
switch (category) {
|
|
36
|
+
case 'page':
|
|
37
|
+
console.log('New page detected: ', filename);
|
|
38
|
+
break;
|
|
39
|
+
case 'snippet':
|
|
40
|
+
console.log('New snippet detected: ', filename);
|
|
41
|
+
break;
|
|
42
|
+
case 'mintConfig':
|
|
43
|
+
console.log('Config added');
|
|
44
|
+
break;
|
|
45
|
+
case 'openApi':
|
|
46
|
+
console.log('OpenApi spec added: ', filename);
|
|
47
|
+
break;
|
|
48
|
+
case 'staticFile':
|
|
49
|
+
console.log('Static file added: ', filename);
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
console.error(error.message);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
const onChangeEvent = (filename, callback) => __awaiter(void 0, void 0, void 0, function* () {
|
|
58
|
+
try {
|
|
59
|
+
const category = yield onUpdateEvent(filename, callback);
|
|
60
|
+
switch (category) {
|
|
61
|
+
case 'page':
|
|
62
|
+
console.log('Page edited: ', filename);
|
|
63
|
+
break;
|
|
64
|
+
case 'snippet':
|
|
65
|
+
console.log('Snippet edited: ', filename);
|
|
66
|
+
break;
|
|
67
|
+
case 'mintConfig':
|
|
68
|
+
console.log('Config edited');
|
|
69
|
+
break;
|
|
70
|
+
case 'openApi':
|
|
71
|
+
console.log('OpenApi spec edited: ', filename);
|
|
72
|
+
break;
|
|
73
|
+
case 'staticFile':
|
|
74
|
+
console.log('Static file edited: ', filename);
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
console.error(error.message);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
const onUnlinkEvent = (filename) => __awaiter(void 0, void 0, void 0, function* () {
|
|
83
|
+
try {
|
|
84
|
+
const potentialCategory = getCategory(filename);
|
|
85
|
+
const targetPath = getTargetPath(potentialCategory, filename);
|
|
86
|
+
if (potentialCategory === 'page' ||
|
|
87
|
+
potentialCategory === 'snippet' ||
|
|
88
|
+
potentialCategory === 'mintConfig' ||
|
|
89
|
+
potentialCategory === 'staticFile') {
|
|
90
|
+
yield fse.remove(targetPath);
|
|
91
|
+
}
|
|
92
|
+
switch (potentialCategory) {
|
|
93
|
+
case 'page':
|
|
94
|
+
console.log(`Page deleted: ${filename}`);
|
|
95
|
+
break;
|
|
96
|
+
case 'snippet':
|
|
97
|
+
console.log(`Snippet deleted: ${filename}`);
|
|
98
|
+
break;
|
|
99
|
+
case 'mintConfig':
|
|
100
|
+
console.error('⚠️ mint.json is required, but has been deleted. Exiting.');
|
|
101
|
+
process.exit(1);
|
|
102
|
+
case 'potentialJsonOpenApiSpec':
|
|
103
|
+
case 'potentialYamlOpenApiSpec':
|
|
104
|
+
yield updateOpenApiFiles();
|
|
105
|
+
yield updateGeneratedNav();
|
|
106
|
+
break;
|
|
107
|
+
case 'staticFile':
|
|
108
|
+
console.log('Static file deleted: ', filename);
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
console.error(error.message);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
const getTargetPath = (potentialCategory, filePath) => {
|
|
183
117
|
switch (potentialCategory) {
|
|
184
118
|
case 'page':
|
|
185
119
|
case 'snippet':
|
|
186
|
-
return pathUtil.join(
|
|
120
|
+
return pathUtil.join(NEXT_PROPS_PATH, filePath);
|
|
187
121
|
case 'mintConfig':
|
|
188
|
-
return pathUtil.join(
|
|
122
|
+
return pathUtil.join(NEXT_PROPS_PATH, 'mint.json');
|
|
189
123
|
case 'potentialYamlOpenApiSpec':
|
|
190
124
|
case 'potentialJsonOpenApiSpec':
|
|
191
|
-
return pathUtil.join(
|
|
125
|
+
return pathUtil.join(NEXT_PROPS_PATH, 'openApiFiles.json');
|
|
192
126
|
case 'staticFile':
|
|
193
|
-
return pathUtil.join(
|
|
127
|
+
return pathUtil.join(NEXT_PUBLIC_PATH, filePath);
|
|
194
128
|
default:
|
|
195
129
|
throw new Error('Invalid category');
|
|
196
130
|
}
|
|
@@ -200,119 +134,79 @@ var getTargetPath = function (potentialCategory, filePath) {
|
|
|
200
134
|
* @param filename
|
|
201
135
|
* @returns FileCategory
|
|
202
136
|
*/
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
case 3:
|
|
233
|
-
pageContent = (_c.sent()).pageContent;
|
|
234
|
-
return [4 /*yield*/, fse.outputFile(targetPath, pageContent, {
|
|
235
|
-
flag: 'w',
|
|
236
|
-
})];
|
|
237
|
-
case 4:
|
|
238
|
-
_c.sent();
|
|
239
|
-
return [3 /*break*/, 23];
|
|
240
|
-
case 5: return [4 /*yield*/, fse.copy(filePath, targetPath)];
|
|
241
|
-
case 6:
|
|
242
|
-
_c.sent();
|
|
243
|
-
return [3 /*break*/, 23];
|
|
244
|
-
case 7:
|
|
245
|
-
regenerateNav = true;
|
|
246
|
-
return [4 /*yield*/, readFile(filePath)];
|
|
247
|
-
case 8:
|
|
248
|
-
mintJsonFileContent = (_c.sent()).toString();
|
|
249
|
-
_c.label = 9;
|
|
250
|
-
case 9:
|
|
251
|
-
_c.trys.push([9, 12, , 13]);
|
|
252
|
-
mintConfig = JSON.parse(mintJsonFileContent);
|
|
253
|
-
_b = validateMintConfig(mintConfig), status_1 = _b.status, errors = _b.errors, warnings = _b.warnings;
|
|
254
|
-
errors.forEach(function (error) {
|
|
255
|
-
console.error("\uD83D\uDEA8 ".concat(Chalk.red(error)));
|
|
137
|
+
const onUpdateEvent = (filename, callback) => __awaiter(void 0, void 0, void 0, function* () {
|
|
138
|
+
const filePath = pathUtil.join(CMD_EXEC_PATH, filename);
|
|
139
|
+
const potentialCategory = getCategory(filename);
|
|
140
|
+
const targetPath = getTargetPath(potentialCategory, filename);
|
|
141
|
+
let regenerateNav = false;
|
|
142
|
+
let category = potentialCategory === 'potentialYamlOpenApiSpec' ||
|
|
143
|
+
potentialCategory === 'potentialJsonOpenApiSpec'
|
|
144
|
+
? 'staticFile'
|
|
145
|
+
: potentialCategory;
|
|
146
|
+
switch (potentialCategory) {
|
|
147
|
+
case 'page':
|
|
148
|
+
regenerateNav = true;
|
|
149
|
+
const contentStr = (yield readFile(filePath)).toString();
|
|
150
|
+
const { pageContent } = yield createPage(filename, contentStr, CMD_EXEC_PATH, []);
|
|
151
|
+
yield fse.outputFile(targetPath, pageContent, {
|
|
152
|
+
flag: 'w',
|
|
153
|
+
});
|
|
154
|
+
break;
|
|
155
|
+
case 'snippet':
|
|
156
|
+
yield fse.copy(filePath, targetPath);
|
|
157
|
+
break;
|
|
158
|
+
case 'mintConfig':
|
|
159
|
+
regenerateNav = true;
|
|
160
|
+
const mintJsonFileContent = (yield readFile(filePath)).toString();
|
|
161
|
+
try {
|
|
162
|
+
const mintConfig = JSON.parse(mintJsonFileContent);
|
|
163
|
+
const { status, errors, warnings } = validateMintConfig(mintConfig);
|
|
164
|
+
errors.forEach((error) => {
|
|
165
|
+
console.error(`🚨 ${Chalk.red(error)}`);
|
|
256
166
|
});
|
|
257
|
-
warnings.forEach(
|
|
258
|
-
console.warn(
|
|
167
|
+
warnings.forEach((warning) => {
|
|
168
|
+
console.warn(`⚠️ ${Chalk.yellow(warning)}`);
|
|
259
169
|
});
|
|
260
|
-
if (
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
case 12:
|
|
267
|
-
e_1 = _c.sent();
|
|
268
|
-
error = e_1;
|
|
170
|
+
if (status === 'success') {
|
|
171
|
+
yield fse.copy(filePath, targetPath);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
catch (e) {
|
|
175
|
+
const error = e;
|
|
269
176
|
if (error.name === 'SyntaxError') {
|
|
270
|
-
console.error(
|
|
177
|
+
console.error(`🚨 ${Chalk.red('mint.json has invalid JSON. You are likely missing a comma or a bracket. You can paste your mint.json file into https://jsonlint.com/ to get a more specific error message.')}`);
|
|
271
178
|
}
|
|
272
179
|
else {
|
|
273
|
-
console.error(
|
|
180
|
+
console.error(`🚨 ${Chalk.red(error.message)}`);
|
|
274
181
|
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
if (!isOpenApi) return [3 /*break*/, 17];
|
|
284
|
-
// TODO: Instead of re-generating all openApi files, optimize by just updating the specific file that changed.
|
|
285
|
-
return [4 /*yield*/, updateOpenApiFiles()];
|
|
286
|
-
case 16:
|
|
182
|
+
}
|
|
183
|
+
break;
|
|
184
|
+
case 'potentialYamlOpenApiSpec':
|
|
185
|
+
case 'potentialJsonOpenApiSpec':
|
|
186
|
+
let isOpenApi = false;
|
|
187
|
+
const openApiInfo = yield openApiCheck(filePath);
|
|
188
|
+
isOpenApi = openApiInfo.isOpenApi;
|
|
189
|
+
if (isOpenApi) {
|
|
287
190
|
// TODO: Instead of re-generating all openApi files, optimize by just updating the specific file that changed.
|
|
288
|
-
|
|
191
|
+
yield updateOpenApiFiles();
|
|
289
192
|
regenerateNav = true;
|
|
290
193
|
category = 'openApi';
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
// TODO: Instead of re-generating the entire nav, optimize by just updating the specific page that changed.
|
|
310
|
-
_c.sent();
|
|
311
|
-
_c.label = 25;
|
|
312
|
-
case 25:
|
|
313
|
-
callback();
|
|
314
|
-
return [2 /*return*/, category];
|
|
315
|
-
}
|
|
316
|
-
});
|
|
317
|
-
}); };
|
|
194
|
+
}
|
|
195
|
+
break;
|
|
196
|
+
case 'staticFile':
|
|
197
|
+
if (yield isFileSizeValid(filePath, 5)) {
|
|
198
|
+
yield fse.copy(filePath, targetPath);
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
console.error(Chalk.red(`🚨 The file at ${filename} is too big. The maximum file size is 5 mb.`));
|
|
202
|
+
}
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
if (regenerateNav) {
|
|
206
|
+
// TODO: Instead of re-generating the entire nav, optimize by just updating the specific page that changed.
|
|
207
|
+
yield updateGeneratedNav();
|
|
208
|
+
}
|
|
209
|
+
callback();
|
|
210
|
+
return category;
|
|
211
|
+
});
|
|
318
212
|
export default listener;
|
|
@@ -7,33 +7,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
10
|
// TODO: Add Types
|
|
38
11
|
import { categorizeFiles } from '@mintlify/prebuild';
|
|
39
12
|
import fse from 'fs-extra';
|
|
@@ -41,37 +14,17 @@ import { join } from 'path';
|
|
|
41
14
|
import { CLIENT_PATH, CMD_EXEC_PATH } from '../../constants.js';
|
|
42
15
|
import { generateNav } from './generate.js';
|
|
43
16
|
// TODO: Put in prebuild package
|
|
44
|
-
export
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
case 1:
|
|
50
|
-
generatedNav = _a.sent();
|
|
51
|
-
targetPath = join(CLIENT_PATH, 'src', '_props', 'generatedNav.json');
|
|
52
|
-
return [4 /*yield*/, fse.outputFile(targetPath, JSON.stringify(generatedNav, null, 2), {
|
|
53
|
-
flag: 'w',
|
|
54
|
-
})];
|
|
55
|
-
case 2:
|
|
56
|
-
_a.sent();
|
|
57
|
-
return [2 /*return*/];
|
|
58
|
-
}
|
|
17
|
+
export const updateGeneratedNav = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
const generatedNav = yield generateNav();
|
|
19
|
+
const targetPath = join(CLIENT_PATH, 'src', '_props', 'generatedNav.json');
|
|
20
|
+
yield fse.outputFile(targetPath, JSON.stringify(generatedNav, null, 2), {
|
|
21
|
+
flag: 'w',
|
|
59
22
|
});
|
|
60
|
-
});
|
|
61
|
-
export
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
case 1:
|
|
67
|
-
openApiFiles = (_a.sent()).openApiFiles;
|
|
68
|
-
targetPath = join(CLIENT_PATH, 'src', '_props', 'openApiFiles.json');
|
|
69
|
-
return [4 /*yield*/, fse.outputFile(targetPath, JSON.stringify(openApiFiles, null, 2), {
|
|
70
|
-
flag: 'w',
|
|
71
|
-
})];
|
|
72
|
-
case 2:
|
|
73
|
-
_a.sent();
|
|
74
|
-
return [2 /*return*/];
|
|
75
|
-
}
|
|
23
|
+
});
|
|
24
|
+
export const updateOpenApiFiles = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
|
+
const { openApiFiles } = yield categorizeFiles(CMD_EXEC_PATH);
|
|
26
|
+
const targetPath = join(CLIENT_PATH, 'src', '_props', 'openApiFiles.json');
|
|
27
|
+
yield fse.outputFile(targetPath, JSON.stringify(openApiFiles, null, 2), {
|
|
28
|
+
flag: 'w',
|
|
76
29
|
});
|
|
77
|
-
});
|
|
30
|
+
});
|