@take-out/cli 0.0.43 → 0.0.44
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/cjs/cli.native.js +28 -35
- package/dist/cjs/cli.native.js.map +1 -6
- package/dist/cjs/commands/changed.native.js +132 -111
- package/dist/cjs/commands/changed.native.js.map +1 -6
- package/dist/cjs/commands/docs.native.js +405 -326
- package/dist/cjs/commands/docs.native.js.map +1 -6
- package/dist/cjs/commands/env-setup.native.js +75 -64
- package/dist/cjs/commands/env-setup.native.js.map +1 -6
- package/dist/cjs/commands/onboard.native.js +206 -193
- package/dist/cjs/commands/onboard.native.js.map +1 -6
- package/dist/cjs/commands/run.native.js +139 -109
- package/dist/cjs/commands/run.native.js.map +1 -6
- package/dist/cjs/commands/script.native.js +269 -227
- package/dist/cjs/commands/script.native.js.map +1 -6
- package/dist/cjs/commands/sync.native.js +58 -58
- package/dist/cjs/commands/sync.native.js.map +1 -6
- package/dist/cjs/constants/ascii.native.js +19 -16
- package/dist/cjs/constants/ascii.native.js.map +1 -6
- package/dist/cjs/index.native.js +22 -49
- package/dist/cjs/index.native.js.map +1 -6
- package/dist/cjs/types.native.js +9 -5
- package/dist/cjs/types.native.js.map +1 -6
- package/dist/cjs/utils/env-categories.native.js +181 -210
- package/dist/cjs/utils/env-categories.native.js.map +1 -6
- package/dist/cjs/utils/env-setup.native.js +104 -87
- package/dist/cjs/utils/env-setup.native.js.map +1 -6
- package/dist/cjs/utils/env.native.js +48 -46
- package/dist/cjs/utils/env.native.js.map +1 -6
- package/dist/cjs/utils/files.native.js +123 -111
- package/dist/cjs/utils/files.native.js.map +1 -6
- package/dist/cjs/utils/parallel-runner.native.js +70 -58
- package/dist/cjs/utils/parallel-runner.native.js.map +1 -6
- package/dist/cjs/utils/ports.native.js +37 -44
- package/dist/cjs/utils/ports.native.js.map +1 -6
- package/dist/cjs/utils/prerequisites.native.js +38 -37
- package/dist/cjs/utils/prerequisites.native.js.map +1 -6
- package/dist/cjs/utils/prompts.native.js +60 -72
- package/dist/cjs/utils/prompts.native.js.map +1 -6
- package/dist/cjs/utils/script-listing.native.js +73 -56
- package/dist/cjs/utils/script-listing.native.js.map +1 -6
- package/dist/cjs/utils/sync.native.js +39 -30
- package/dist/cjs/utils/sync.native.js.map +1 -6
- package/package.json +4 -4
|
@@ -1,254 +1,308 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
var __create = Object.create;
|
|
3
4
|
var __defProp = Object.defineProperty;
|
|
4
5
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf,
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf,
|
|
8
|
+
__hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
9
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
for (var name in all) __defProp(target, name, {
|
|
11
|
+
get: all[name],
|
|
12
|
+
enumerable: !0
|
|
13
|
+
});
|
|
14
|
+
},
|
|
15
|
+
__copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
17
|
+
get: () => from[key],
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
16
22
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
17
23
|
// If the importer is in node compatibility mode or this is not an ESM
|
|
18
24
|
// file that has been converted to a CommonJS file using a Babel-
|
|
19
25
|
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
20
26
|
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
+
value: mod,
|
|
29
|
+
enumerable: !0
|
|
30
|
+
}) : target, mod)),
|
|
31
|
+
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
32
|
+
value: !0
|
|
33
|
+
}), mod);
|
|
24
34
|
var docs_exports = {};
|
|
25
35
|
__export(docs_exports, {
|
|
26
36
|
docsCommand: () => docsCommand
|
|
27
37
|
});
|
|
28
38
|
module.exports = __toCommonJS(docs_exports);
|
|
29
|
-
var import_fs = require("fs"),
|
|
39
|
+
var import_fs = require("fs"),
|
|
40
|
+
import_module = require("module"),
|
|
41
|
+
import_path = require("path"),
|
|
42
|
+
import_citty = require("citty"),
|
|
43
|
+
import_picocolors = __toESM(require("picocolors"), 1),
|
|
44
|
+
import_sync = require("../utils/sync.native.js");
|
|
30
45
|
const import_meta = {};
|
|
31
|
-
var require2 = (0, import_module.createRequire)(import_meta.url),
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
var require2 = (0, import_module.createRequire)(import_meta.url),
|
|
47
|
+
DOCS_DIR = (0, import_path.dirname)(require2.resolve("@take-out/docs/package.json")),
|
|
48
|
+
listCommand = (0, import_citty.defineCommand)({
|
|
49
|
+
meta: {
|
|
50
|
+
name: "list",
|
|
51
|
+
description: "List all available documentation files"
|
|
52
|
+
},
|
|
53
|
+
async run() {
|
|
54
|
+
(0, import_fs.existsSync)(DOCS_DIR) || (console.error(import_picocolors.default.red("\u2717 Docs directory not found")), process.exit(1));
|
|
55
|
+
var files = (0, import_fs.readdirSync)(DOCS_DIR).filter(function (f) {
|
|
56
|
+
return f.endsWith(".md");
|
|
57
|
+
}).sort();
|
|
58
|
+
console.info(), console.info(import_picocolors.default.bold(import_picocolors.default.cyan("\u{1F4DA} Available Documentation"))), console.info();
|
|
59
|
+
var _iteratorNormalCompletion = !0,
|
|
60
|
+
_didIteratorError = !1,
|
|
61
|
+
_iteratorError = void 0;
|
|
62
|
+
try {
|
|
63
|
+
for (var _iterator = files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
64
|
+
var file = _step.value,
|
|
65
|
+
name = file.replace(/\.md$/, ""),
|
|
66
|
+
path = (0, import_path.join)(DOCS_DIR, file),
|
|
67
|
+
description = "";
|
|
68
|
+
try {
|
|
69
|
+
var content = (0, import_fs.readFileSync)(path, "utf-8"),
|
|
70
|
+
match = content.match(/^#\s+(.+)$/m);
|
|
71
|
+
match?.[1] && (description = match[1]);
|
|
72
|
+
} catch {}
|
|
73
|
+
description ? (console.info(` ${import_picocolors.default.green(name)}`), console.info(` ${import_picocolors.default.dim(description)}`)) : console.info(` ${import_picocolors.default.green(name)}`);
|
|
74
|
+
}
|
|
75
|
+
} catch (err) {
|
|
76
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
77
|
+
} finally {
|
|
46
78
|
try {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
79
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
80
|
+
} finally {
|
|
81
|
+
if (_didIteratorError) throw _iteratorError;
|
|
50
82
|
}
|
|
51
|
-
description ? (console.info(` ${import_picocolors.default.green(name)}`), console.info(` ${import_picocolors.default.dim(description)}`)) : console.info(` ${import_picocolors.default.green(name)}`);
|
|
52
83
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
84
|
+
console.info(), console.info(import_picocolors.default.dim("Use 'takeout docs get <name>' to view a document")), console.info();
|
|
85
|
+
}
|
|
86
|
+
}),
|
|
87
|
+
getCommand = (0, import_citty.defineCommand)({
|
|
88
|
+
meta: {
|
|
89
|
+
name: "get",
|
|
90
|
+
description: "Get the content of one or more documentation files"
|
|
91
|
+
},
|
|
92
|
+
args: {
|
|
93
|
+
name: {
|
|
94
|
+
type: "positional",
|
|
95
|
+
description: "Name(s) of the doc files (without .md extension)",
|
|
96
|
+
required: !0,
|
|
97
|
+
valueHint: "name..."
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
async run(param) {
|
|
101
|
+
var {
|
|
102
|
+
args
|
|
103
|
+
} = param,
|
|
104
|
+
names = args._.length > 0 ? args._ : [args.name],
|
|
105
|
+
results = [],
|
|
106
|
+
errors = [],
|
|
107
|
+
cwd = process.cwd(),
|
|
108
|
+
localDocsDir = (0, import_path.join)(cwd, "docs"),
|
|
109
|
+
_iteratorNormalCompletion = !0,
|
|
110
|
+
_didIteratorError = !1,
|
|
111
|
+
_iteratorError = void 0;
|
|
56
112
|
try {
|
|
57
|
-
|
|
113
|
+
for (var _iterator = names[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
114
|
+
var name = _step.value,
|
|
115
|
+
fileName = name.endsWith(".md") ? name : `${name}.md`,
|
|
116
|
+
localFilePath = (0, import_path.join)(localDocsDir, fileName),
|
|
117
|
+
packageFilePath = (0, import_path.join)(DOCS_DIR, fileName),
|
|
118
|
+
filePath = null;
|
|
119
|
+
if ((0, import_fs.existsSync)(localFilePath) ? filePath = localFilePath : (0, import_fs.existsSync)(packageFilePath) && (filePath = packageFilePath), !filePath) {
|
|
120
|
+
errors.push({
|
|
121
|
+
name,
|
|
122
|
+
error: "File not found"
|
|
123
|
+
});
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
try {
|
|
127
|
+
var content = (0, import_fs.readFileSync)(filePath, "utf-8");
|
|
128
|
+
results.push({
|
|
129
|
+
name,
|
|
130
|
+
content
|
|
131
|
+
});
|
|
132
|
+
} catch (err) {
|
|
133
|
+
errors.push({
|
|
134
|
+
name,
|
|
135
|
+
error: String(err)
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
} catch (err) {
|
|
140
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
58
141
|
} finally {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
console.info(), console.info(import_picocolors.default.dim("Use 'takeout docs get <name>' to view a document")), console.info();
|
|
64
|
-
}
|
|
65
|
-
}), getCommand = (0, import_citty.defineCommand)({
|
|
66
|
-
meta: {
|
|
67
|
-
name: "get",
|
|
68
|
-
description: "Get the content of one or more documentation files"
|
|
69
|
-
},
|
|
70
|
-
args: {
|
|
71
|
-
name: {
|
|
72
|
-
type: "positional",
|
|
73
|
-
description: "Name(s) of the doc files (without .md extension)",
|
|
74
|
-
required: !0,
|
|
75
|
-
valueHint: "name..."
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
async run(param) {
|
|
79
|
-
var { args } = param, names = args._.length > 0 ? args._ : [
|
|
80
|
-
args.name
|
|
81
|
-
], results = [], errors = [], cwd = process.cwd(), localDocsDir = (0, import_path.join)(cwd, "docs"), _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
|
|
82
|
-
try {
|
|
83
|
-
for (var _iterator = names[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
84
|
-
var name = _step.value, fileName = name.endsWith(".md") ? name : `${name}.md`, localFilePath = (0, import_path.join)(localDocsDir, fileName), packageFilePath = (0, import_path.join)(DOCS_DIR, fileName), filePath = null;
|
|
85
|
-
if ((0, import_fs.existsSync)(localFilePath) ? filePath = localFilePath : (0, import_fs.existsSync)(packageFilePath) && (filePath = packageFilePath), !filePath) {
|
|
86
|
-
errors.push({
|
|
87
|
-
name,
|
|
88
|
-
error: "File not found"
|
|
89
|
-
});
|
|
90
|
-
continue;
|
|
142
|
+
try {
|
|
143
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
144
|
+
} finally {
|
|
145
|
+
if (_didIteratorError) throw _iteratorError;
|
|
91
146
|
}
|
|
147
|
+
}
|
|
148
|
+
if (errors.length > 0) {
|
|
149
|
+
var _iteratorNormalCompletion1 = !0,
|
|
150
|
+
_didIteratorError1 = !1,
|
|
151
|
+
_iteratorError1 = void 0;
|
|
92
152
|
try {
|
|
93
|
-
var
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
153
|
+
for (var _iterator1 = errors[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
|
|
154
|
+
var {
|
|
155
|
+
name: name1
|
|
156
|
+
} = _step1.value;
|
|
157
|
+
console.error(import_picocolors.default.red(`\u2717 Doc file not found: ${name1}`));
|
|
158
|
+
}
|
|
98
159
|
} catch (err) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
160
|
+
_didIteratorError1 = !0, _iteratorError1 = err;
|
|
161
|
+
} finally {
|
|
162
|
+
try {
|
|
163
|
+
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
|
|
164
|
+
} finally {
|
|
165
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
166
|
+
}
|
|
103
167
|
}
|
|
168
|
+
console.info(), console.info(import_picocolors.default.dim("Use 'takeout docs list' to see available docs")), results.length === 0 && process.exit(1), console.info();
|
|
104
169
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
170
|
+
for (var i = 0; i < results.length; i++) {
|
|
171
|
+
var result = results[i];
|
|
172
|
+
result && (console.info(`# ${result.name}`), console.info(), console.info(result.content), i < results.length - 1 && (console.info(), console.info("---"), console.info()));
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}),
|
|
176
|
+
pathCommand = (0, import_citty.defineCommand)({
|
|
177
|
+
meta: {
|
|
178
|
+
name: "path",
|
|
179
|
+
description: "Get the absolute path to a documentation file"
|
|
180
|
+
},
|
|
181
|
+
args: {
|
|
182
|
+
name: {
|
|
183
|
+
type: "positional",
|
|
184
|
+
description: "Name of the doc file (without .md extension)",
|
|
185
|
+
required: !1
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
async run(param) {
|
|
189
|
+
var {
|
|
190
|
+
args
|
|
191
|
+
} = param;
|
|
192
|
+
if (!args.name) {
|
|
193
|
+
console.info(DOCS_DIR);
|
|
194
|
+
return;
|
|
113
195
|
}
|
|
196
|
+
var fileName = args.name.endsWith(".md") ? args.name : `${args.name}.md`,
|
|
197
|
+
filePath = (0, import_path.join)(DOCS_DIR, fileName);
|
|
198
|
+
(0, import_fs.existsSync)(filePath) || (console.error(import_picocolors.default.red(`\u2717 Doc file not found: ${args.name}`)), process.exit(1)), console.info(filePath);
|
|
114
199
|
}
|
|
115
|
-
|
|
116
|
-
|
|
200
|
+
}),
|
|
201
|
+
ejectCommand = (0, import_citty.defineCommand)({
|
|
202
|
+
meta: {
|
|
203
|
+
name: "eject",
|
|
204
|
+
description: "Eject Takeout documentation files into your project"
|
|
205
|
+
},
|
|
206
|
+
args: {
|
|
207
|
+
yes: {
|
|
208
|
+
type: "boolean",
|
|
209
|
+
description: "Skip confirmations and eject all files",
|
|
210
|
+
default: !1
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
async run(param) {
|
|
214
|
+
var {
|
|
215
|
+
args
|
|
216
|
+
} = param,
|
|
217
|
+
cwd = process.cwd(),
|
|
218
|
+
targetDocsDir = (0, import_path.join)(cwd, "docs"),
|
|
219
|
+
sourceDocsDir = DOCS_DIR;
|
|
220
|
+
console.info(), console.info(import_picocolors.default.bold(import_picocolors.default.cyan("\u{1F4DA} Eject Docs"))), console.info(), console.info(import_picocolors.default.dim(`Source: ${sourceDocsDir}`)), console.info(import_picocolors.default.dim(`Target: ${targetDocsDir}`)), console.info(), (0, import_fs.existsSync)(sourceDocsDir) || (console.error(import_picocolors.default.red("\u2717 Source docs directory not found in Takeout package")), process.exit(1)), (0, import_fs.existsSync)(targetDocsDir) || (console.info(import_picocolors.default.yellow("\u26A0 Target docs directory does not exist, will create it")), (0, import_fs.mkdirSync)(targetDocsDir, {
|
|
221
|
+
recursive: !0
|
|
222
|
+
}));
|
|
223
|
+
var sourceFiles = (0, import_fs.readdirSync)(sourceDocsDir).filter(function (f) {
|
|
224
|
+
return f.endsWith(".md");
|
|
225
|
+
});
|
|
226
|
+
if (sourceFiles.length === 0) {
|
|
227
|
+
console.info(import_picocolors.default.yellow("No markdown files found in Takeout docs"));
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
var filesToSync = [],
|
|
231
|
+
stats = {
|
|
232
|
+
new: 0,
|
|
233
|
+
modified: 0,
|
|
234
|
+
identical: 0
|
|
235
|
+
},
|
|
236
|
+
_iteratorNormalCompletion = !0,
|
|
237
|
+
_didIteratorError = !1,
|
|
238
|
+
_iteratorError = void 0;
|
|
117
239
|
try {
|
|
118
|
-
for (var
|
|
119
|
-
var
|
|
120
|
-
|
|
240
|
+
for (var _iterator = sourceFiles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
241
|
+
var file = _step.value,
|
|
242
|
+
sourcePath = (0, import_path.join)(sourceDocsDir, file),
|
|
243
|
+
targetPath = (0, import_path.join)(targetDocsDir, file),
|
|
244
|
+
status = (0, import_sync.compareFiles)(sourcePath, targetPath);
|
|
245
|
+
stats[status]++, filesToSync.push({
|
|
246
|
+
name: file,
|
|
247
|
+
sourcePath,
|
|
248
|
+
targetPath,
|
|
249
|
+
status,
|
|
250
|
+
sourceSize: (0, import_sync.getFileSize)(sourcePath),
|
|
251
|
+
targetSize: (0, import_sync.getFileSize)(targetPath)
|
|
252
|
+
});
|
|
121
253
|
}
|
|
122
254
|
} catch (err) {
|
|
123
|
-
|
|
255
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
124
256
|
} finally {
|
|
125
257
|
try {
|
|
126
|
-
!
|
|
258
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
127
259
|
} finally {
|
|
128
|
-
if (
|
|
129
|
-
throw _iteratorError1;
|
|
260
|
+
if (_didIteratorError) throw _iteratorError;
|
|
130
261
|
}
|
|
131
262
|
}
|
|
132
|
-
console.info(), console.info(import_picocolors.default.
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
var result = results[i];
|
|
136
|
-
result && (console.info(`# ${result.name}`), console.info(), console.info(result.content), i < results.length - 1 && (console.info(), console.info("---"), console.info()));
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}), pathCommand = (0, import_citty.defineCommand)({
|
|
140
|
-
meta: {
|
|
141
|
-
name: "path",
|
|
142
|
-
description: "Get the absolute path to a documentation file"
|
|
143
|
-
},
|
|
144
|
-
args: {
|
|
145
|
-
name: {
|
|
146
|
-
type: "positional",
|
|
147
|
-
description: "Name of the doc file (without .md extension)",
|
|
148
|
-
required: !1
|
|
149
|
-
}
|
|
150
|
-
},
|
|
151
|
-
async run(param) {
|
|
152
|
-
var { args } = param;
|
|
153
|
-
if (!args.name) {
|
|
154
|
-
console.info(DOCS_DIR);
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
var fileName = args.name.endsWith(".md") ? args.name : `${args.name}.md`, filePath = (0, import_path.join)(DOCS_DIR, fileName);
|
|
158
|
-
(0, import_fs.existsSync)(filePath) || (console.error(import_picocolors.default.red(`\u2717 Doc file not found: ${args.name}`)), process.exit(1)), console.info(filePath);
|
|
159
|
-
}
|
|
160
|
-
}), ejectCommand = (0, import_citty.defineCommand)({
|
|
161
|
-
meta: {
|
|
162
|
-
name: "eject",
|
|
163
|
-
description: "Eject Takeout documentation files into your project"
|
|
164
|
-
},
|
|
165
|
-
args: {
|
|
166
|
-
yes: {
|
|
167
|
-
type: "boolean",
|
|
168
|
-
description: "Skip confirmations and eject all files",
|
|
169
|
-
default: !1
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
async run(param) {
|
|
173
|
-
var { args } = param, cwd = process.cwd(), targetDocsDir = (0, import_path.join)(cwd, "docs"), sourceDocsDir = DOCS_DIR;
|
|
174
|
-
console.info(), console.info(import_picocolors.default.bold(import_picocolors.default.cyan("\u{1F4DA} Eject Docs"))), console.info(), console.info(import_picocolors.default.dim(`Source: ${sourceDocsDir}`)), console.info(import_picocolors.default.dim(`Target: ${targetDocsDir}`)), console.info(), (0, import_fs.existsSync)(sourceDocsDir) || (console.error(import_picocolors.default.red("\u2717 Source docs directory not found in Takeout package")), process.exit(1)), (0, import_fs.existsSync)(targetDocsDir) || (console.info(import_picocolors.default.yellow("\u26A0 Target docs directory does not exist, will create it")), (0, import_fs.mkdirSync)(targetDocsDir, {
|
|
175
|
-
recursive: !0
|
|
176
|
-
}));
|
|
177
|
-
var sourceFiles = (0, import_fs.readdirSync)(sourceDocsDir).filter(function(f) {
|
|
178
|
-
return f.endsWith(".md");
|
|
179
|
-
});
|
|
180
|
-
if (sourceFiles.length === 0) {
|
|
181
|
-
console.info(import_picocolors.default.yellow("No markdown files found in Takeout docs"));
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
var filesToSync = [], stats = {
|
|
185
|
-
new: 0,
|
|
186
|
-
modified: 0,
|
|
187
|
-
identical: 0
|
|
188
|
-
}, _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
|
|
189
|
-
try {
|
|
190
|
-
for (var _iterator = sourceFiles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
191
|
-
var file = _step.value, sourcePath = (0, import_path.join)(sourceDocsDir, file), targetPath = (0, import_path.join)(targetDocsDir, file), status = (0, import_sync.compareFiles)(sourcePath, targetPath);
|
|
192
|
-
stats[status]++, filesToSync.push({
|
|
193
|
-
name: file,
|
|
194
|
-
sourcePath,
|
|
195
|
-
targetPath,
|
|
196
|
-
status,
|
|
197
|
-
sourceSize: (0, import_sync.getFileSize)(sourcePath),
|
|
198
|
-
targetSize: (0, import_sync.getFileSize)(targetPath)
|
|
199
|
-
});
|
|
263
|
+
if (console.info(import_picocolors.default.bold("Summary:")), console.info(` ${import_picocolors.default.green(`${stats.new} new`)}`), console.info(` ${import_picocolors.default.yellow(`${stats.modified} modified`)}`), console.info(` ${import_picocolors.default.dim(`${stats.identical} identical`)}`), console.info(), stats.new === 0 && stats.modified === 0) {
|
|
264
|
+
console.info(import_picocolors.default.green("\u2713 All docs are already up to date!"));
|
|
265
|
+
return;
|
|
200
266
|
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
267
|
+
var sortOrder = {
|
|
268
|
+
new: 0,
|
|
269
|
+
modified: 1,
|
|
270
|
+
identical: 2
|
|
271
|
+
};
|
|
272
|
+
filesToSync.sort(function (a, b) {
|
|
273
|
+
return sortOrder[a.status] - sortOrder[b.status];
|
|
274
|
+
});
|
|
275
|
+
var syncedCount = 0,
|
|
276
|
+
_iteratorNormalCompletion1 = !0,
|
|
277
|
+
_didIteratorError1 = !1,
|
|
278
|
+
_iteratorError1 = void 0;
|
|
204
279
|
try {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
identical: 2
|
|
219
|
-
};
|
|
220
|
-
filesToSync.sort(function(a, b) {
|
|
221
|
-
return sortOrder[a.status] - sortOrder[b.status];
|
|
222
|
-
});
|
|
223
|
-
var syncedCount = 0, _iteratorNormalCompletion1 = !0, _didIteratorError1 = !1, _iteratorError1 = void 0;
|
|
224
|
-
try {
|
|
225
|
-
for (var _iterator1 = filesToSync[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
|
|
226
|
-
var file1 = _step1.value;
|
|
227
|
-
if (args.yes && file1.status !== "identical") {
|
|
228
|
-
var targetDir = (0, import_path.join)(targetDocsDir);
|
|
229
|
-
(0, import_fs.existsSync)(targetDir) || (0, import_fs.mkdirSync)(targetDir, {
|
|
230
|
-
recursive: !0
|
|
231
|
-
});
|
|
232
|
-
var content = (0, import_fs.readFileSync)(file1.sourcePath);
|
|
233
|
-
(0, import_fs.writeFileSync)(file1.targetPath, content), console.info(import_picocolors.default.green(` \u2713 ${file1.name}`)), syncedCount++;
|
|
234
|
-
} else {
|
|
235
|
-
var wasSynced = await (0, import_sync.syncFileWithConfirmation)(file1);
|
|
236
|
-
wasSynced && syncedCount++;
|
|
280
|
+
for (var _iterator1 = filesToSync[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
|
|
281
|
+
var file1 = _step1.value;
|
|
282
|
+
if (args.yes && file1.status !== "identical") {
|
|
283
|
+
var targetDir = (0, import_path.join)(targetDocsDir);
|
|
284
|
+
(0, import_fs.existsSync)(targetDir) || (0, import_fs.mkdirSync)(targetDir, {
|
|
285
|
+
recursive: !0
|
|
286
|
+
});
|
|
287
|
+
var content = (0, import_fs.readFileSync)(file1.sourcePath);
|
|
288
|
+
(0, import_fs.writeFileSync)(file1.targetPath, content), console.info(import_picocolors.default.green(` \u2713 ${file1.name}`)), syncedCount++;
|
|
289
|
+
} else {
|
|
290
|
+
var wasSynced = await (0, import_sync.syncFileWithConfirmation)(file1);
|
|
291
|
+
wasSynced && syncedCount++;
|
|
292
|
+
}
|
|
237
293
|
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
_didIteratorError1 = !0, _iteratorError1 = err;
|
|
241
|
-
} finally {
|
|
242
|
-
try {
|
|
243
|
-
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
|
|
294
|
+
} catch (err) {
|
|
295
|
+
_didIteratorError1 = !0, _iteratorError1 = err;
|
|
244
296
|
} finally {
|
|
245
|
-
|
|
246
|
-
|
|
297
|
+
try {
|
|
298
|
+
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
|
|
299
|
+
} finally {
|
|
300
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
301
|
+
}
|
|
247
302
|
}
|
|
303
|
+
console.info(), console.info(import_picocolors.default.bold(import_picocolors.default.green(`\u2713 Complete: ${syncedCount} file(s) ejected`))), console.info();
|
|
248
304
|
}
|
|
249
|
-
|
|
250
|
-
}
|
|
251
|
-
});
|
|
305
|
+
});
|
|
252
306
|
function hasSkillFrontmatter(content) {
|
|
253
307
|
if (!content.startsWith("---")) return !1;
|
|
254
308
|
var endIndex = content.indexOf("---", 3);
|
|
@@ -257,18 +311,22 @@ function hasSkillFrontmatter(content) {
|
|
|
257
311
|
return frontmatter.includes("name:") && frontmatter.includes("description:");
|
|
258
312
|
}
|
|
259
313
|
function extractDocMeta(content) {
|
|
260
|
-
var _lines_,
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
314
|
+
var _lines_,
|
|
315
|
+
lines = content.split(`
|
|
316
|
+
`),
|
|
317
|
+
title = "",
|
|
318
|
+
description = "",
|
|
319
|
+
startLine = 0;
|
|
320
|
+
if (((_lines_ = lines[0]) === null || _lines_ === void 0 ? void 0 : _lines_.trim()) === "---") for (var i = 1; i < lines.length; i++) {
|
|
321
|
+
var _lines_i;
|
|
322
|
+
if (((_lines_i = lines[i]) === null || _lines_i === void 0 ? void 0 : _lines_i.trim()) === "---") {
|
|
323
|
+
startLine = i + 1;
|
|
324
|
+
break;
|
|
269
325
|
}
|
|
326
|
+
}
|
|
270
327
|
for (var i1 = startLine; i1 < lines.length; i1++) {
|
|
271
|
-
var _lines_i1,
|
|
328
|
+
var _lines_i1,
|
|
329
|
+
trimmed = ((_lines_i1 = lines[i1]) === null || _lines_i1 === void 0 ? void 0 : _lines_i1.trim()) || "";
|
|
272
330
|
if (!title && trimmed.startsWith("# ")) {
|
|
273
331
|
title = trimmed.slice(2).trim();
|
|
274
332
|
continue;
|
|
@@ -287,14 +345,20 @@ function toSkillName(name) {
|
|
|
287
345
|
return name.toLowerCase().replace(/[^a-z0-9-]/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "").slice(0, 64);
|
|
288
346
|
}
|
|
289
347
|
function collectAllDocs(cwd) {
|
|
290
|
-
var docs = [],
|
|
348
|
+
var docs = [],
|
|
349
|
+
seen = /* @__PURE__ */new Set(),
|
|
350
|
+
localDocsDir = (0, import_path.join)(cwd, "docs");
|
|
291
351
|
if ((0, import_fs.existsSync)(localDocsDir)) {
|
|
292
|
-
var files = (0, import_fs.readdirSync)(localDocsDir).filter(function(f) {
|
|
293
|
-
|
|
294
|
-
|
|
352
|
+
var files = (0, import_fs.readdirSync)(localDocsDir).filter(function (f) {
|
|
353
|
+
return f.endsWith(".md");
|
|
354
|
+
}),
|
|
355
|
+
_iteratorNormalCompletion = !0,
|
|
356
|
+
_didIteratorError = !1,
|
|
357
|
+
_iteratorError = void 0;
|
|
295
358
|
try {
|
|
296
359
|
for (var _iterator = files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
297
|
-
var file = _step.value,
|
|
360
|
+
var file = _step.value,
|
|
361
|
+
name = file.replace(/\.md$/, "");
|
|
298
362
|
docs.push({
|
|
299
363
|
name,
|
|
300
364
|
path: (0, import_path.join)(localDocsDir, file),
|
|
@@ -307,18 +371,21 @@ function collectAllDocs(cwd) {
|
|
|
307
371
|
try {
|
|
308
372
|
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
309
373
|
} finally {
|
|
310
|
-
if (_didIteratorError)
|
|
311
|
-
throw _iteratorError;
|
|
374
|
+
if (_didIteratorError) throw _iteratorError;
|
|
312
375
|
}
|
|
313
376
|
}
|
|
314
377
|
}
|
|
315
378
|
if ((0, import_fs.existsSync)(DOCS_DIR)) {
|
|
316
|
-
var files1 = (0, import_fs.readdirSync)(DOCS_DIR).filter(function(f) {
|
|
317
|
-
|
|
318
|
-
|
|
379
|
+
var files1 = (0, import_fs.readdirSync)(DOCS_DIR).filter(function (f) {
|
|
380
|
+
return f.endsWith(".md");
|
|
381
|
+
}),
|
|
382
|
+
_iteratorNormalCompletion1 = !0,
|
|
383
|
+
_didIteratorError1 = !1,
|
|
384
|
+
_iteratorError1 = void 0;
|
|
319
385
|
try {
|
|
320
386
|
for (var _iterator1 = files1[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
|
|
321
|
-
var file1 = _step1.value,
|
|
387
|
+
var file1 = _step1.value,
|
|
388
|
+
name1 = file1.replace(/\.md$/, "");
|
|
322
389
|
seen.has(name1) || docs.push({
|
|
323
390
|
name: name1,
|
|
324
391
|
path: (0, import_path.join)(DOCS_DIR, file1),
|
|
@@ -331,67 +398,83 @@ function collectAllDocs(cwd) {
|
|
|
331
398
|
try {
|
|
332
399
|
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
|
|
333
400
|
} finally {
|
|
334
|
-
if (_didIteratorError1)
|
|
335
|
-
throw _iteratorError1;
|
|
401
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
336
402
|
}
|
|
337
403
|
}
|
|
338
404
|
}
|
|
339
405
|
return docs;
|
|
340
406
|
}
|
|
341
|
-
var SKILL_PREFIX = "takeout-",
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
_didIteratorError = !0, _iteratorError = err;
|
|
373
|
-
} finally {
|
|
407
|
+
var SKILL_PREFIX = "takeout-",
|
|
408
|
+
skillsCommand = (0, import_citty.defineCommand)({
|
|
409
|
+
meta: {
|
|
410
|
+
name: "skills",
|
|
411
|
+
description: "Generate Claude Code skills from documentation"
|
|
412
|
+
},
|
|
413
|
+
args: {
|
|
414
|
+
clean: {
|
|
415
|
+
type: "boolean",
|
|
416
|
+
description: "Remove existing skills before generating",
|
|
417
|
+
default: !1
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
async run(param) {
|
|
421
|
+
var {
|
|
422
|
+
args
|
|
423
|
+
} = param,
|
|
424
|
+
cwd = process.cwd(),
|
|
425
|
+
skillsDir = (0, import_path.join)(cwd, ".claude", "skills");
|
|
426
|
+
console.info(), console.info(import_picocolors.default.bold(import_picocolors.default.cyan("\u{1F9E0} Generate Claude Code Skills"))), console.info();
|
|
427
|
+
var docs = collectAllDocs(cwd);
|
|
428
|
+
if (docs.length === 0) {
|
|
429
|
+
console.info(import_picocolors.default.yellow("No documentation files found"));
|
|
430
|
+
return;
|
|
431
|
+
}
|
|
432
|
+
if (console.info(import_picocolors.default.dim(`Found ${docs.length} documentation files`)), console.info(), args.clean && (0, import_fs.existsSync)(skillsDir)) {
|
|
433
|
+
console.info(import_picocolors.default.yellow("Cleaning existing takeout skills..."));
|
|
434
|
+
var existing = (0, import_fs.readdirSync)(skillsDir),
|
|
435
|
+
_iteratorNormalCompletion = !0,
|
|
436
|
+
_didIteratorError = !1,
|
|
437
|
+
_iteratorError = void 0;
|
|
374
438
|
try {
|
|
375
|
-
|
|
439
|
+
for (var _iterator = existing[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
440
|
+
var dir = _step.value;
|
|
441
|
+
dir.startsWith(SKILL_PREFIX) && (0, import_fs.rmSync)((0, import_path.join)(skillsDir, dir), {
|
|
442
|
+
recursive: !0
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
} catch (err) {
|
|
446
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
376
447
|
} finally {
|
|
377
|
-
|
|
378
|
-
|
|
448
|
+
try {
|
|
449
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
450
|
+
} finally {
|
|
451
|
+
if (_didIteratorError) throw _iteratorError;
|
|
452
|
+
}
|
|
379
453
|
}
|
|
380
454
|
}
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
var
|
|
393
|
-
|
|
394
|
-
|
|
455
|
+
(0, import_fs.existsSync)(skillsDir) || (0, import_fs.mkdirSync)(skillsDir, {
|
|
456
|
+
recursive: !0
|
|
457
|
+
});
|
|
458
|
+
var symlinked = 0,
|
|
459
|
+
generated = 0,
|
|
460
|
+
unchanged = 0,
|
|
461
|
+
_iteratorNormalCompletion1 = !0,
|
|
462
|
+
_didIteratorError1 = !1,
|
|
463
|
+
_iteratorError1 = void 0;
|
|
464
|
+
try {
|
|
465
|
+
for (var _iterator1 = docs[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
|
|
466
|
+
var doc = _step1.value,
|
|
467
|
+
baseName = toSkillName(doc.name),
|
|
468
|
+
skillName = `${SKILL_PREFIX}${baseName}`,
|
|
469
|
+
skillDir = (0, import_path.join)(skillsDir, skillName),
|
|
470
|
+
skillFile = (0, import_path.join)(skillDir, "SKILL.md"),
|
|
471
|
+
content = (0, import_fs.readFileSync)(doc.path, "utf-8"),
|
|
472
|
+
hasFrontmatter = hasSkillFrontmatter(content);
|
|
473
|
+
if ((0, import_fs.existsSync)(skillDir) || (0, import_fs.mkdirSync)(skillDir, {
|
|
474
|
+
recursive: !0
|
|
475
|
+
}), hasFrontmatter) {
|
|
476
|
+
var relativePath = (0, import_path.relative)(skillDir, doc.path);
|
|
477
|
+
if ((0, import_fs.existsSync)(skillFile)) try {
|
|
395
478
|
var stat = (0, import_fs.lstatSync)(skillFile);
|
|
396
479
|
if (stat.isSymbolicLink()) {
|
|
397
480
|
var existingTarget = (0, import_fs.readFileSync)(skillFile, "utf-8");
|
|
@@ -401,65 +484,61 @@ var SKILL_PREFIX = "takeout-", skillsCommand = (0, import_citty.defineCommand)({
|
|
|
401
484
|
}
|
|
402
485
|
}
|
|
403
486
|
(0, import_fs.unlinkSync)(skillFile);
|
|
404
|
-
} catch {
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
487
|
+
} catch {}
|
|
488
|
+
(0, import_fs.symlinkSync)(relativePath, skillFile), symlinked++;
|
|
489
|
+
var sourceLabel = doc.source === "local" ? import_picocolors.default.blue("local") : import_picocolors.default.dim("package");
|
|
490
|
+
console.info(` ${import_picocolors.default.green("\u27F7")} ${skillName} ${sourceLabel} ${import_picocolors.default.dim("(symlink)")}`);
|
|
491
|
+
} else {
|
|
492
|
+
var {
|
|
493
|
+
title,
|
|
494
|
+
description
|
|
495
|
+
} = extractDocMeta(content),
|
|
496
|
+
skillDescription = description ? `${title}. ${description}`.slice(0, 1024) : title.slice(0, 1024),
|
|
497
|
+
skillContent = `---
|
|
411
498
|
name: ${skillName}
|
|
412
499
|
description: ${skillDescription}
|
|
413
500
|
---
|
|
414
501
|
|
|
415
502
|
${content}
|
|
416
503
|
`;
|
|
417
|
-
|
|
418
|
-
try {
|
|
504
|
+
if ((0, import_fs.existsSync)(skillFile)) try {
|
|
419
505
|
var stat1 = (0, import_fs.lstatSync)(skillFile);
|
|
420
|
-
if (stat1.isSymbolicLink())
|
|
421
|
-
(0, import_fs.unlinkSync)(skillFile);
|
|
422
|
-
else {
|
|
506
|
+
if (stat1.isSymbolicLink()) (0, import_fs.unlinkSync)(skillFile);else {
|
|
423
507
|
var existing1 = (0, import_fs.readFileSync)(skillFile, "utf-8");
|
|
424
508
|
if (existing1 === skillContent) {
|
|
425
509
|
unchanged++;
|
|
426
510
|
continue;
|
|
427
511
|
}
|
|
428
512
|
}
|
|
429
|
-
} catch {
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
513
|
+
} catch {}
|
|
514
|
+
(0, import_fs.writeFileSync)(skillFile, skillContent), generated++;
|
|
515
|
+
var sourceLabel1 = doc.source === "local" ? import_picocolors.default.blue("local") : import_picocolors.default.dim("package");
|
|
516
|
+
console.info(` ${import_picocolors.default.green("\u2713")} ${skillName} ${sourceLabel1} ${import_picocolors.default.dim("(generated)")}`);
|
|
517
|
+
}
|
|
434
518
|
}
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
_didIteratorError1 = !0, _iteratorError1 = err;
|
|
438
|
-
} finally {
|
|
439
|
-
try {
|
|
440
|
-
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
|
|
519
|
+
} catch (err) {
|
|
520
|
+
_didIteratorError1 = !0, _iteratorError1 = err;
|
|
441
521
|
} finally {
|
|
442
|
-
|
|
443
|
-
|
|
522
|
+
try {
|
|
523
|
+
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
|
|
524
|
+
} finally {
|
|
525
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
526
|
+
}
|
|
444
527
|
}
|
|
528
|
+
console.info(), console.info(import_picocolors.default.bold("Summary:")), symlinked > 0 && console.info(` ${import_picocolors.default.green(`${symlinked} symlinked`)}`), generated > 0 && console.info(` ${import_picocolors.default.yellow(`${generated} generated`)} ${import_picocolors.default.dim("(add frontmatter to source to enable symlink)")}`), unchanged > 0 && console.info(` ${import_picocolors.default.dim(`${unchanged} unchanged`)}`), console.info(), console.info(import_picocolors.default.dim(`Skills in ${skillsDir}`)), console.info();
|
|
445
529
|
}
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
462
|
-
0 && (module.exports = {
|
|
463
|
-
docsCommand
|
|
464
|
-
});
|
|
465
|
-
//# sourceMappingURL=docs.js.map
|
|
530
|
+
}),
|
|
531
|
+
docsCommand = (0, import_citty.defineCommand)({
|
|
532
|
+
meta: {
|
|
533
|
+
name: "docs",
|
|
534
|
+
description: "List and retrieve Takeout documentation"
|
|
535
|
+
},
|
|
536
|
+
subCommands: {
|
|
537
|
+
list: listCommand,
|
|
538
|
+
get: getCommand,
|
|
539
|
+
path: pathCommand,
|
|
540
|
+
eject: ejectCommand,
|
|
541
|
+
skills: skillsCommand
|
|
542
|
+
}
|
|
543
|
+
});
|
|
544
|
+
//# sourceMappingURL=docs.native.js.map
|