vuepress-jsdoc 4.3.0 → 5.0.0

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/index.js CHANGED
@@ -8,74 +8,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __read = (this && this.__read) || function (o, n) {
39
- var m = typeof Symbol === "function" && o[Symbol.iterator];
40
- if (!m) return o;
41
- var i = m.call(o), r, ar = [], e;
42
- try {
43
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
- }
45
- catch (error) { e = { error: error }; }
46
- finally {
47
- try {
48
- if (r && !r.done && (m = i["return"])) m.call(i);
49
- }
50
- finally { if (e) throw e.error; }
51
- }
52
- return ar;
53
- };
54
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
55
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
56
- if (ar || !(i in from)) {
57
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
58
- ar[i] = from[i];
59
- }
60
- }
61
- return to.concat(ar || Array.prototype.slice.call(from));
62
- };
63
- var __values = (this && this.__values) || function(o) {
64
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
65
- if (m) return m.call(o);
66
- if (o && typeof o.length === "number") return {
67
- next: function () {
68
- if (o && i >= o.length) o = void 0;
69
- return { value: o && o[i++], done: !o };
70
- }
71
- };
72
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
73
- };
74
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
75
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
76
13
  };
77
14
  Object.defineProperty(exports, "__esModule", { value: true });
78
- exports.generate = void 0;
15
+ exports.watchFiles = exports.generate = void 0;
79
16
  /*
80
17
  * @vuepress
81
18
  * ---
@@ -83,32 +20,30 @@ exports.generate = void 0;
83
20
  * headline: The Main File
84
21
  * ---
85
22
  */
86
- var chalk_1 = __importDefault(require("chalk"));
87
- var chokidar_1 = __importDefault(require("chokidar"));
88
- var del_1 = __importDefault(require("del"));
89
- var promises_1 = __importDefault(require("fs/promises"));
90
- var mkdirp_1 = __importDefault(require("mkdirp"));
91
- var readline_1 = __importDefault(require("readline"));
92
- var constants_1 = require("./constants");
93
- var list_folder_1 = require("./lib/list-folder");
94
- var parser_1 = require("./lib/parser");
95
- var vue_sidebar_1 = require("./lib/vue-sidebar");
23
+ const chokidar_1 = __importDefault(require("chokidar"));
24
+ const del_1 = __importDefault(require("del"));
25
+ const kleur_1 = __importDefault(require("kleur"));
26
+ const mkdirp_1 = require("mkdirp");
27
+ const promises_1 = __importDefault(require("node:fs/promises"));
28
+ const node_readline_1 = __importDefault(require("node:readline"));
29
+ const constants_1 = require("./constants");
30
+ const list_folder_1 = require("./lib/list-folder");
31
+ const parser_1 = require("./lib/parser");
32
+ const vue_sidebar_1 = require("./lib/vue-sidebar");
96
33
  /**
97
34
  * Create the sidebar
98
35
  * @param {object} options
99
36
  * @returns {Promise}
100
37
  */
101
- var createVuepressSidebar = function (options) {
102
- return promises_1.default.writeFile("".concat(options.docsFolder, "/config.js"), "exports.fileTree=".concat(JSON.stringify(options.fileTree), ";exports.sidebarTree = (title = 'Mainpage') => (").concat(JSON.stringify((0, vue_sidebar_1.generateVueSidebar)(options)).replace('::vuepress-jsdoc-title::', '"+title+"'), ");"));
103
- };
38
+ const createVuepressSidebar = (options) => promises_1.default.writeFile(`${options.docsFolder}/config.js`, `exports.fileTree=${JSON.stringify(options.fileTree)};exports.sidebarTree = (title = 'Mainpage') => (${JSON.stringify((0, vue_sidebar_1.generateVueSidebar)(options)).replace('::vuepress-jsdoc-title::', '"+title+"')});`);
104
39
  /**
105
40
  * Parse file
106
41
  * @param {DirectoryFile} file
107
42
  * @param {CLIArguments} argv
108
43
  * @returns {Promise}
109
44
  */
110
- var parseDirectoryFile = function (file, argv) {
111
- var _a = parseArguments(argv), srcFolder = _a.srcFolder, docsFolder = _a.docsFolder, partials = _a.partials;
45
+ const parseDirectoryFile = (file, argv) => {
46
+ const { srcFolder, docsFolder, partials } = parseArguments(argv);
112
47
  if (!file.isDir && file.folder) {
113
48
  if (['.jsx', '.tsx', '.ts', '.js'].includes(file.ext || '')) {
114
49
  return (0, parser_1.parseFile)(file, srcFolder, docsFolder, argv.jsDocConfigPath, partials);
@@ -124,47 +59,33 @@ var parseDirectoryFile = function (file, argv) {
124
59
  * @param {string} deletedPaths
125
60
  * @returns {void}
126
61
  */
127
- var createReadmeFile = function (argv, deletedPaths) { return __awaiter(void 0, void 0, void 0, function () {
128
- var _a, srcFolder, codeFolder, docsFolder, title, readme, readMeContent, readmePath, e_1;
129
- return __generator(this, function (_b) {
130
- switch (_b.label) {
131
- case 0:
132
- _a = parseArguments(argv), srcFolder = _a.srcFolder, codeFolder = _a.codeFolder, docsFolder = _a.docsFolder, title = _a.title, readme = _a.readme;
133
- readMeContent = "### Welcome to ".concat(title);
134
- readmePath = readme || "".concat(srcFolder, "/README.md");
135
- _b.label = 1;
136
- case 1:
137
- _b.trys.push([1, 3, , 4]);
138
- return [4 /*yield*/, promises_1.default.readFile(readmePath, 'utf-8')];
139
- case 2:
140
- readMeContent = _b.sent();
141
- if (deletedPaths === null || deletedPaths === void 0 ? void 0 : deletedPaths.some(function (p) { return p.indexOf("".concat(codeFolder, "/README.md")) !== -1; })) {
142
- console.log("\n".concat(chalk_1.default.white.bgBlack(' README '), " ").concat(chalk_1.default.dim(readmePath.replace('README.md', ''))).concat(chalk_1.default.bold('README.md'), " \u2192 ").concat(chalk_1.default.dim(docsFolder)).concat(chalk_1.default.bold('/README.md')));
143
- }
144
- return [3 /*break*/, 4];
145
- case 3:
146
- e_1 = _b.sent();
147
- console.log("\n".concat(chalk_1.default.white.bgBlack(' README '), " Add default README.md"));
148
- return [3 /*break*/, 4];
149
- case 4: return [4 /*yield*/, promises_1.default.writeFile("".concat(docsFolder, "/README.md"), readMeContent)];
150
- case 5:
151
- _b.sent();
152
- return [2 /*return*/];
62
+ const createReadmeFile = (argv, deletedPaths) => __awaiter(void 0, void 0, void 0, function* () {
63
+ const { srcFolder, codeFolder, docsFolder, title, readme } = parseArguments(argv);
64
+ let readMeContent = `### Welcome to ${title}`;
65
+ const readmePath = readme || `${srcFolder}/README.md`;
66
+ try {
67
+ readMeContent = yield promises_1.default.readFile(readmePath, 'utf-8');
68
+ if (deletedPaths === null || deletedPaths === void 0 ? void 0 : deletedPaths.some((p) => p.indexOf(`${codeFolder}/README.md`) !== -1)) {
69
+ console.log(`\n${kleur_1.default.white().bgBlack(' README ')} ${kleur_1.default.dim(readmePath.replace('README.md', ''))}${kleur_1.default.bold('README.md')} \u2192 ${kleur_1.default.dim(docsFolder)}${kleur_1.default.bold('/README.md')}`);
153
70
  }
154
- });
155
- }); };
71
+ }
72
+ catch (e) {
73
+ console.log(`\n${kleur_1.default.white().bgBlack(' README ')} Add default README.md`);
74
+ }
75
+ yield promises_1.default.writeFile(`${docsFolder}/README.md`, readMeContent);
76
+ });
156
77
  /**
157
78
  * Parse all CLI arguments
158
79
  * @param {CLIArguments} argv
159
80
  * @returns {object} all arguments
160
81
  */
161
- var parseArguments = function (argv) {
82
+ const parseArguments = (argv) => {
162
83
  return {
163
84
  include: (argv.include || '').split(',').filter(Boolean),
164
85
  exclude: (argv.exclude || '').split(',').filter(Boolean),
165
86
  srcFolder: argv.source.replace('./', ''),
166
87
  codeFolder: argv.folder,
167
- docsFolder: "".concat(argv.dist, "/").concat(argv.folder),
88
+ docsFolder: `${argv.dist}/${argv.folder}`,
168
89
  title: argv.title,
169
90
  readme: argv.readme,
170
91
  rmPattern: argv.rmPattern || [],
@@ -175,217 +96,105 @@ var parseArguments = function (argv) {
175
96
  * Default command that generate md files
176
97
  * @param {object} argv passed arguments
177
98
  */
178
- var generate = function (argv) { return __awaiter(void 0, void 0, void 0, function () {
179
- var _a, exclude, include, srcFolder, codeFolder, docsFolder, title, rmPattern, startTime, deletedPaths, lsFolder, parsePromises, _b, _c, file, e_2_1, _loop_1, _d, _e, file, result, _f, _g, file, _h, _j, entry, color, resultTime;
180
- var e_2, _k, e_3, _l, e_4, _m, e_5, _o, _p;
181
- return __generator(this, function (_q) {
182
- switch (_q.label) {
183
- case 0:
184
- _a = parseArguments(argv), exclude = _a.exclude, include = _a.include, srcFolder = _a.srcFolder, codeFolder = _a.codeFolder, docsFolder = _a.docsFolder, title = _a.title, rmPattern = _a.rmPattern;
185
- startTime = +new Date();
186
- return [4 /*yield*/, (0, del_1.default)(__spreadArray(["".concat(docsFolder, "/**/*")], __read(rmPattern), false))];
187
- case 1:
188
- deletedPaths = _q.sent();
189
- return [4 /*yield*/, (0, list_folder_1.listFolder)(srcFolder, exclude, include)];
190
- case 2:
191
- lsFolder = _q.sent();
192
- return [4 /*yield*/, (0, mkdirp_1.default)(docsFolder)];
193
- case 3:
194
- _q.sent();
195
- parsePromises = [];
196
- _q.label = 4;
197
- case 4:
198
- _q.trys.push([4, 9, 10, 11]);
199
- _b = __values(lsFolder.paths), _c = _b.next();
200
- _q.label = 5;
201
- case 5:
202
- if (!!_c.done) return [3 /*break*/, 8];
203
- file = _c.value;
204
- if (!!file.isDir) return [3 /*break*/, 7];
205
- readline_1.default.clearLine(process.stdout, 0);
206
- readline_1.default.cursorTo(process.stdout, 0);
207
- process.stdout.write(chalk_1.default.dim(" ".concat(file.path, " ")));
208
- return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 20); })];
209
- case 6:
210
- _q.sent();
211
- _q.label = 7;
212
- case 7:
213
- _c = _b.next();
214
- return [3 /*break*/, 5];
215
- case 8: return [3 /*break*/, 11];
216
- case 9:
217
- e_2_1 = _q.sent();
218
- e_2 = { error: e_2_1 };
219
- return [3 /*break*/, 11];
220
- case 10:
221
- try {
222
- if (_c && !_c.done && (_k = _b.return)) _k.call(_b);
223
- }
224
- finally { if (e_2) throw e_2.error; }
225
- return [7 /*endfinally*/];
226
- case 11:
227
- readline_1.default.clearLine(process.stdout, 0);
228
- readline_1.default.cursorTo(process.stdout, 0);
229
- _loop_1 = function (file) {
230
- parsePromises.push((function () { return __awaiter(void 0, void 0, void 0, function () {
231
- var data;
232
- return __generator(this, function (_a) {
233
- switch (_a.label) {
234
- case 0: return [4 /*yield*/, parseDirectoryFile(file, argv)];
235
- case 1:
236
- data = _a.sent();
237
- if (data && (data === null || data === void 0 ? void 0 : data.relativePathDest)) {
238
- return [2 /*return*/, (0, parser_1.writeContentToFile)(data, data.relativePathDest)];
239
- }
240
- return [2 /*return*/];
241
- }
242
- });
243
- }); })());
244
- };
245
- try {
246
- // iterate through files and parse them
247
- for (_d = __values(lsFolder.paths), _e = _d.next(); !_e.done; _e = _d.next()) {
248
- file = _e.value;
249
- _loop_1(file);
250
- }
251
- }
252
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
253
- finally {
254
- try {
255
- if (_e && !_e.done && (_l = _d.return)) _l.call(_d);
256
- }
257
- finally { if (e_3) throw e_3.error; }
258
- }
259
- return [4 /*yield*/, Promise.all(parsePromises)];
260
- case 12:
261
- result = _q.sent();
262
- result = result.filter(Boolean);
263
- // write vuepress sidebar
264
- return [4 /*yield*/, createVuepressSidebar({
265
- fileTree: lsFolder.tree,
266
- srcFolder: srcFolder,
267
- docsFolder: docsFolder,
268
- codeFolder: codeFolder,
269
- title: title
270
- })];
271
- case 13:
272
- // write vuepress sidebar
273
- _q.sent();
274
- try {
275
- // print stats
276
- for (_f = __values(lsFolder.excluded), _g = _f.next(); !_g.done; _g = _f.next()) {
277
- file = _g.value;
278
- console.log(chalk_1.default.reset.inverse.bold.blue(' EXCLUDE '), "".concat(chalk_1.default.dim(file.folder)).concat(chalk_1.default.bold(file.name + file.ext)));
279
- }
280
- }
281
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
282
- finally {
283
- try {
284
- if (_g && !_g.done && (_m = _f.return)) _m.call(_f);
285
- }
286
- finally { if (e_4) throw e_4.error; }
287
- }
288
- console.log();
289
- try {
290
- for (_h = __values(result.flat()), _j = _h.next(); !_j.done; _j = _h.next()) {
291
- entry = _j.value;
292
- if (!entry.file)
293
- continue;
294
- color = (_p = {},
295
- _p[constants_1.StatisticType.SUCCESS] = 'green',
296
- _p[constants_1.StatisticType.ERROR] = 'red',
297
- _p[constants_1.StatisticType.EMPTY] = 'yellow',
298
- _p[constants_1.StatisticType.EXCLUDE] = 'blue',
299
- _p)[entry.type];
300
- console.log(chalk_1.default.reset.inverse.bold[color](" ".concat(entry.type, " ")), "".concat(chalk_1.default.dim(entry.relativePathSrc)).concat(chalk_1.default.bold(entry.file.name + entry.file.ext), " \u2192 ").concat(chalk_1.default.dim(entry.relativePathDest)).concat(chalk_1.default.bold(entry.file.name + '.md')));
301
- }
302
- }
303
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
304
- finally {
305
- try {
306
- if (_j && !_j.done && (_o = _h.return)) _o.call(_h);
307
- }
308
- finally { if (e_5) throw e_5.error; }
309
- }
310
- // create README.md
311
- return [4 /*yield*/, createReadmeFile(argv, deletedPaths)];
312
- case 14:
313
- // create README.md
314
- _q.sent();
315
- resultTime = (Math.abs(startTime - +new Date()) / 1000).toFixed(2);
316
- console.log("\n\u23F0 Time: ".concat(resultTime, "s"));
317
- watchFiles(argv);
318
- return [2 /*return*/];
99
+ const generate = (argv) => __awaiter(void 0, void 0, void 0, function* () {
100
+ const { exclude, include, srcFolder, codeFolder, docsFolder, title, rmPattern } = parseArguments(argv);
101
+ const startTime = +new Date();
102
+ // remove docs folder, except README.md
103
+ const deletedPaths = yield (0, del_1.default)([`${docsFolder}/**/*`, ...rmPattern]);
104
+ const lsFolder = yield (0, list_folder_1.listFolder)(srcFolder, exclude, include);
105
+ yield (0, mkdirp_1.mkdirp)(docsFolder);
106
+ const parsePromises = [];
107
+ // print out all files
108
+ for (const file of lsFolder.paths) {
109
+ if (!file.isDir) {
110
+ node_readline_1.default.clearLine(process.stdout, 0);
111
+ node_readline_1.default.cursorTo(process.stdout, 0);
112
+ process.stdout.write(kleur_1.default.dim(` ${file.path} `));
113
+ yield new Promise((resolve) => setTimeout(resolve, 20));
319
114
  }
115
+ }
116
+ node_readline_1.default.clearLine(process.stdout, 0);
117
+ node_readline_1.default.cursorTo(process.stdout, 0);
118
+ // iterate through files and parse them
119
+ for (const file of lsFolder.paths) {
120
+ parsePromises.push((() => __awaiter(void 0, void 0, void 0, function* () {
121
+ const data = yield parseDirectoryFile(file, argv);
122
+ if (data && (data === null || data === void 0 ? void 0 : data.relativePathDest)) {
123
+ return (0, parser_1.writeContentToFile)(data, data.relativePathDest);
124
+ }
125
+ }))());
126
+ }
127
+ // wait unitl all files resolved
128
+ let result = yield Promise.all(parsePromises);
129
+ result = result.filter(Boolean);
130
+ // write vuepress sidebar
131
+ yield createVuepressSidebar({
132
+ fileTree: lsFolder.tree,
133
+ srcFolder,
134
+ docsFolder,
135
+ codeFolder,
136
+ title
320
137
  });
321
- }); };
138
+ // print stats
139
+ for (const file of lsFolder.excluded) {
140
+ console.log(kleur_1.default.reset().inverse().bold().blue(' EXCLUDE '), `${kleur_1.default.dim(file.folder)}${kleur_1.default.bold(file.name + file.ext)}`);
141
+ }
142
+ console.log();
143
+ for (const entry of result.flat()) {
144
+ if (!entry.file)
145
+ continue;
146
+ const color = {
147
+ [constants_1.StatisticType.INCLUDE]: kleur_1.default.reset().inverse().bold().green,
148
+ [constants_1.StatisticType.ERROR]: kleur_1.default.reset().inverse().bold().red,
149
+ [constants_1.StatisticType.EMPTY]: kleur_1.default.reset().inverse().bold().yellow,
150
+ [constants_1.StatisticType.EXCLUDE]: kleur_1.default.reset().inverse().bold().blue
151
+ }[entry.type];
152
+ console.log(color(` ${entry.type} `), `${kleur_1.default.dim(entry.relativePathSrc)}${kleur_1.default.bold(entry.file.name + entry.file.ext)} \u2192 ${kleur_1.default.dim(entry.relativePathDest)}${kleur_1.default.bold(entry.file.name + '.md')}`);
153
+ }
154
+ // create README.md
155
+ yield createReadmeFile(argv, deletedPaths);
156
+ const resultTime = (Math.abs(startTime - +new Date()) / 1000).toFixed(2);
157
+ console.log(`\n⏰ Time: ${resultTime}s`);
158
+ (0, exports.watchFiles)(argv);
159
+ });
322
160
  exports.generate = generate;
323
161
  /**
324
162
  * Watch files in source folder
325
163
  * @param {CLIArguments} argv
326
164
  */
327
- var watchFiles = function (argv) {
328
- var _a = parseArguments(argv), exclude = _a.exclude, include = _a.include, srcFolder = _a.srcFolder, codeFolder = _a.codeFolder, docsFolder = _a.docsFolder, title = _a.title;
165
+ const watchFiles = (argv) => {
166
+ const { exclude, include, srcFolder, codeFolder, docsFolder, title } = parseArguments(argv);
329
167
  if (argv.watch) {
330
168
  console.log('\n---\n\n👀 watching files...');
331
- var watcher = chokidar_1.default.watch([srcFolder, argv.readme, "".concat(srcFolder, "/README.md")].filter(Boolean), {
169
+ const watcher = chokidar_1.default.watch([srcFolder, argv.readme, `${srcFolder}/README.md`].filter(Boolean), {
332
170
  ignored: /(^|[\/\\])\../,
333
171
  persistent: true
334
172
  });
335
- watcher.on('change', function (path) { return __awaiter(void 0, void 0, void 0, function () {
336
- var lsFolder, file;
173
+ watcher.on('change', (path) => __awaiter(void 0, void 0, void 0, function* () {
337
174
  var _a;
338
- return __generator(this, function (_b) {
339
- switch (_b.label) {
340
- case 0: return [4 /*yield*/, (0, list_folder_1.listFolder)(srcFolder, exclude, include)];
341
- case 1:
342
- lsFolder = _b.sent();
343
- file = lsFolder.paths.find(function (p) { return p.path === path; });
344
- readline_1.default.clearLine(process.stdout, 0);
345
- readline_1.default.cursorTo(process.stdout, 0);
346
- if (!(path === 'README.md' || path === "".concat(srcFolder, "/README.md"))) return [3 /*break*/, 3];
347
- return [4 /*yield*/, createReadmeFile(argv)];
348
- case 2:
349
- _b.sent();
350
- _b.label = 3;
351
- case 3:
352
- if (file) {
353
- process.stdout.write(chalk_1.default.dim("update ".concat(file.name + file.ext)));
354
- (_a = parseDirectoryFile(file, argv)) === null || _a === void 0 ? void 0 : _a.then(function (data) {
355
- if (data) {
356
- (0, parser_1.writeContentToFile)(data, data.relativePathDest);
357
- }
358
- createVuepressSidebar({
359
- fileTree: lsFolder.tree,
360
- srcFolder: srcFolder,
361
- docsFolder: docsFolder,
362
- codeFolder: codeFolder,
363
- title: title
364
- });
365
- });
366
- }
367
- return [2 /*return*/];
368
- }
369
- });
370
- }); });
175
+ const lsFolder = yield (0, list_folder_1.listFolder)(srcFolder, exclude, include);
176
+ const file = lsFolder.paths.find((p) => p.path === path);
177
+ node_readline_1.default.clearLine(process.stdout, 0);
178
+ node_readline_1.default.cursorTo(process.stdout, 0);
179
+ if (path === 'README.md' || path === `${srcFolder}/README.md`) {
180
+ yield createReadmeFile(argv);
181
+ }
182
+ if (file) {
183
+ process.stdout.write(kleur_1.default.dim(`update ${file.name + file.ext}`));
184
+ (_a = parseDirectoryFile(file, argv)) === null || _a === void 0 ? void 0 : _a.then((data) => {
185
+ if (data) {
186
+ (0, parser_1.writeContentToFile)(data, data.relativePathDest);
187
+ }
188
+ createVuepressSidebar({
189
+ fileTree: lsFolder.tree,
190
+ srcFolder,
191
+ docsFolder,
192
+ codeFolder,
193
+ title
194
+ });
195
+ });
196
+ }
197
+ }));
371
198
  }
372
199
  };
373
- /**
374
- * The vuepress plugins
375
- * @param {CLIArguments} argv
376
- * @param {object} ctx
377
- * @returns {object}
378
- */
379
- var plugin = function (argv, ctx) { return ({
380
- name: 'vuepress-plugin-jsdoc',
381
- ready: function () { return __awaiter(void 0, void 0, void 0, function () {
382
- return __generator(this, function (_a) {
383
- if (!ctx.isProd) {
384
- argv.watch = true;
385
- watchFiles(argv);
386
- }
387
- return [2 /*return*/];
388
- });
389
- }); }
390
- }); };
391
- exports.default = plugin;
200
+ exports.watchFiles = watchFiles;
@@ -10,17 +10,17 @@ exports.parseVuepressFileHeader = exports.parseComment = void 0;
10
10
  * headline: lib/comment-parser.ts
11
11
  * ---
12
12
  */
13
- var front_matter_1 = __importDefault(require("front-matter"));
13
+ const front_matter_1 = __importDefault(require("front-matter"));
14
14
  /**
15
15
  * Search in file for @vuepress comment
16
16
  * @param {string} fileContent content of given file
17
17
  * @returns {object} object of found frontmatter data
18
18
  */
19
- var parseComment = function (fileContent) {
19
+ const parseComment = (fileContent) => {
20
20
  try {
21
- var allCommentBlocks = fileContent.match(/\/\*[\s\S]*?\*\/|([^:]|^)\/\/.*$/g);
22
- var vuepressBlock = allCommentBlocks === null || allCommentBlocks === void 0 ? void 0 : allCommentBlocks.filter(function (block) {
23
- return block.split('\n').filter(function (line) { return line.indexOf('@vuepress') >= 0; }).length;
21
+ const allCommentBlocks = fileContent.match(/\/\*[\s\S]*?\*\/|([^:]|^)\/\/.*$/g);
22
+ const vuepressBlock = allCommentBlocks === null || allCommentBlocks === void 0 ? void 0 : allCommentBlocks.filter((block) => {
23
+ return block.split('\n').filter(line => line.indexOf('@vuepress') >= 0).length;
24
24
  })[0];
25
25
  if (!vuepressBlock) {
26
26
  return {
@@ -50,24 +50,24 @@ exports.parseComment = parseComment;
50
50
  * @param {object} file file object
51
51
  * @returns {string} markdown header
52
52
  */
53
- var parseVuepressFileHeader = function (content, file) {
54
- var _a = (0, exports.parseComment)(content), frontmatter = _a.frontmatter, attributes = _a.attributes;
55
- var fileContent = '---\n';
56
- fileContent += !(attributes === null || attributes === void 0 ? void 0 : attributes.title) ? "title: ".concat(file.name) : '';
53
+ const parseVuepressFileHeader = (content, file) => {
54
+ const { frontmatter, attributes } = (0, exports.parseComment)(content);
55
+ let fileContent = '---\n';
56
+ fileContent += !(attributes === null || attributes === void 0 ? void 0 : attributes.title) ? `title: ${file.name}` : '';
57
57
  if (frontmatter) {
58
58
  fileContent += !(attributes === null || attributes === void 0 ? void 0 : attributes.title) ? '\n' : '';
59
- fileContent += "".concat(frontmatter);
59
+ fileContent += `${frontmatter}`;
60
60
  }
61
61
  fileContent += '\n---\n';
62
62
  if ((attributes === null || attributes === void 0 ? void 0 : attributes.title) || file.ext !== '.vue') {
63
- var headline = file.name;
63
+ let headline = file.name;
64
64
  if (attributes === null || attributes === void 0 ? void 0 : attributes.headline) {
65
65
  headline = attributes.headline;
66
66
  }
67
67
  else if (attributes === null || attributes === void 0 ? void 0 : attributes.title) {
68
68
  headline = attributes.title;
69
69
  }
70
- fileContent += "\n# ".concat(headline, "\n\n");
70
+ fileContent += `\n# ${headline}\n\n`;
71
71
  }
72
72
  return fileContent;
73
73
  };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Get extension of file
3
+ * @param {string} path
4
+ * @returns {string} extension of file
5
+ */
6
+ export declare const getExtension: (path: string) => string;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getExtension = void 0;
4
+ /*
5
+ * @vuepress
6
+ * ---
7
+ * headline: lib/utils.ts
8
+ * ---
9
+ */
10
+ /**
11
+ * Get extension of file
12
+ * @param {string} path
13
+ * @returns {string} extension of file
14
+ */
15
+ const getExtension = (path) => path && typeof path === 'string' ? path.substring(path.length, path.lastIndexOf('.')) : '';
16
+ exports.getExtension = getExtension;
@@ -8,7 +8,7 @@ import { DirectoryFile, FileTree } from '../interfaces';
8
8
  * @param {object} tree tree array
9
9
  * @returns {object} paths array, tree, excluded array
10
10
  */
11
- export declare const listFolder: (srcPath: string, exclude: string[], include: string[], mainPath?: string | undefined, tree?: FileTree[]) => Promise<{
11
+ export declare const listFolder: (srcPath: string, exclude: string[], include: string[], mainPath?: string, tree?: FileTree[]) => Promise<{
12
12
  paths: DirectoryFile[];
13
13
  tree: FileTree[];
14
14
  excluded: DirectoryFile[];