@fern-api/generator-cli 0.0.31 → 0.0.32
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/cli.cjs +309 -242
- package/package.json +1 -1
package/dist/cli.cjs
CHANGED
|
@@ -34,7 +34,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
34
34
|
var require_build = __commonJS({
|
|
35
35
|
"../../node_modules/.pnpm/y18n@5.0.8/node_modules/y18n/build/index.cjs"(exports2, module2) {
|
|
36
36
|
"use strict";
|
|
37
|
-
var
|
|
37
|
+
var fs3 = require("fs");
|
|
38
38
|
var util = require("util");
|
|
39
39
|
var path4 = require("path");
|
|
40
40
|
var shim2;
|
|
@@ -198,14 +198,14 @@ var require_build = __commonJS({
|
|
|
198
198
|
}
|
|
199
199
|
var nodePlatformShim = {
|
|
200
200
|
fs: {
|
|
201
|
-
readFileSync:
|
|
202
|
-
writeFile:
|
|
201
|
+
readFileSync: fs3.readFileSync,
|
|
202
|
+
writeFile: fs3.writeFile
|
|
203
203
|
},
|
|
204
204
|
format: util.format,
|
|
205
205
|
resolve: path4.resolve,
|
|
206
206
|
exists: (file) => {
|
|
207
207
|
try {
|
|
208
|
-
return
|
|
208
|
+
return fs3.statSync(file).isFile();
|
|
209
209
|
} catch (err) {
|
|
210
210
|
return false;
|
|
211
211
|
}
|
|
@@ -224,7 +224,7 @@ var require_build2 = __commonJS({
|
|
|
224
224
|
"use strict";
|
|
225
225
|
var util = require("util");
|
|
226
226
|
var path4 = require("path");
|
|
227
|
-
var
|
|
227
|
+
var fs3 = require("fs");
|
|
228
228
|
function camelCase3(str) {
|
|
229
229
|
const isCamelCase = str !== str.toLowerCase() && str !== str.toUpperCase();
|
|
230
230
|
if (!isCamelCase) {
|
|
@@ -1173,7 +1173,7 @@ var require_build2 = __commonJS({
|
|
|
1173
1173
|
if (typeof require !== "undefined") {
|
|
1174
1174
|
return require(path5);
|
|
1175
1175
|
} else if (path5.match(/\.json$/)) {
|
|
1176
|
-
return JSON.parse(
|
|
1176
|
+
return JSON.parse(fs3.readFileSync(path5, "utf8"));
|
|
1177
1177
|
} else {
|
|
1178
1178
|
throw Error("only .json config files are supported in ESM");
|
|
1179
1179
|
}
|
|
@@ -2881,7 +2881,7 @@ var require_get_caller_file = __commonJS({
|
|
|
2881
2881
|
var require_require_directory = __commonJS({
|
|
2882
2882
|
"../../node_modules/.pnpm/require-directory@2.1.1/node_modules/require-directory/index.js"(exports2, module2) {
|
|
2883
2883
|
"use strict";
|
|
2884
|
-
var
|
|
2884
|
+
var fs3 = require("fs");
|
|
2885
2885
|
var join = require("path").join;
|
|
2886
2886
|
var resolve7 = require("path").resolve;
|
|
2887
2887
|
var dirname3 = require("path").dirname;
|
|
@@ -2918,9 +2918,9 @@ var require_require_directory = __commonJS({
|
|
|
2918
2918
|
}
|
|
2919
2919
|
}
|
|
2920
2920
|
path4 = !path4 ? dirname3(m.filename) : resolve7(dirname3(m.filename), path4);
|
|
2921
|
-
|
|
2921
|
+
fs3.readdirSync(path4).forEach(function(filename) {
|
|
2922
2922
|
var joined = join(path4, filename), files, key, obj;
|
|
2923
|
-
if (
|
|
2923
|
+
if (fs3.statSync(joined).isDirectory() && options.recurse) {
|
|
2924
2924
|
files = requireDirectory(m, joined, options);
|
|
2925
2925
|
if (Object.keys(files).length) {
|
|
2926
2926
|
retval[options.rename(filename, joined, filename)] = files;
|
|
@@ -4562,11 +4562,11 @@ ${t5.join("\n")}` : "";
|
|
|
4562
4562
|
var require_tmp = __commonJS({
|
|
4563
4563
|
"../../node_modules/.pnpm/tmp@0.2.3/node_modules/tmp/lib/tmp.js"(exports2, module2) {
|
|
4564
4564
|
"use strict";
|
|
4565
|
-
var
|
|
4565
|
+
var fs3 = require("fs");
|
|
4566
4566
|
var os = require("os");
|
|
4567
4567
|
var path4 = require("path");
|
|
4568
4568
|
var crypto = require("crypto");
|
|
4569
|
-
var _c2 = { fs:
|
|
4569
|
+
var _c2 = { fs: fs3.constants, os: os.constants };
|
|
4570
4570
|
var RANDOM_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
|
4571
4571
|
var TEMPLATE_PATTERN = /XXXXXX/;
|
|
4572
4572
|
var DEFAULT_TRIES = 3;
|
|
@@ -4578,13 +4578,13 @@ var require_tmp = __commonJS({
|
|
|
4578
4578
|
var FILE_MODE = 384;
|
|
4579
4579
|
var EXIT = "exit";
|
|
4580
4580
|
var _removeObjects = [];
|
|
4581
|
-
var FN_RMDIR_SYNC =
|
|
4581
|
+
var FN_RMDIR_SYNC = fs3.rmdirSync.bind(fs3);
|
|
4582
4582
|
var _gracefulCleanup = false;
|
|
4583
4583
|
function rimraf(dirPath, callback) {
|
|
4584
|
-
return
|
|
4584
|
+
return fs3.rm(dirPath, { recursive: true }, callback);
|
|
4585
4585
|
}
|
|
4586
4586
|
function FN_RIMRAF_SYNC(dirPath) {
|
|
4587
|
-
return
|
|
4587
|
+
return fs3.rmSync(dirPath, { recursive: true });
|
|
4588
4588
|
}
|
|
4589
4589
|
function tmpName(options, callback) {
|
|
4590
4590
|
const args = _parseArguments(options, callback), opts = args[0], cb = args[1];
|
|
@@ -4597,7 +4597,7 @@ var require_tmp = __commonJS({
|
|
|
4597
4597
|
(function _getUniqueName() {
|
|
4598
4598
|
try {
|
|
4599
4599
|
const name = _generateTmpName(opts);
|
|
4600
|
-
|
|
4600
|
+
fs3.stat(name, function(err) {
|
|
4601
4601
|
if (!err) {
|
|
4602
4602
|
if (tries-- > 0) return _getUniqueName();
|
|
4603
4603
|
return cb(new Error("Could not get a unique tmp filename, max tries reached " + name));
|
|
@@ -4616,7 +4616,7 @@ var require_tmp = __commonJS({
|
|
|
4616
4616
|
do {
|
|
4617
4617
|
const name = _generateTmpName(opts);
|
|
4618
4618
|
try {
|
|
4619
|
-
|
|
4619
|
+
fs3.statSync(name);
|
|
4620
4620
|
} catch (e) {
|
|
4621
4621
|
return name;
|
|
4622
4622
|
}
|
|
@@ -4627,10 +4627,10 @@ var require_tmp = __commonJS({
|
|
|
4627
4627
|
const args = _parseArguments(options, callback), opts = args[0], cb = args[1];
|
|
4628
4628
|
tmpName(opts, function _tmpNameCreated(err, name) {
|
|
4629
4629
|
if (err) return cb(err);
|
|
4630
|
-
|
|
4630
|
+
fs3.open(name, CREATE_FLAGS, opts.mode || FILE_MODE, function _fileCreated(err2, fd) {
|
|
4631
4631
|
if (err2) return cb(err2);
|
|
4632
4632
|
if (opts.discardDescriptor) {
|
|
4633
|
-
return
|
|
4633
|
+
return fs3.close(fd, function _discardCallback(possibleErr) {
|
|
4634
4634
|
return cb(possibleErr, name, void 0, _prepareTmpFileRemoveCallback(name, -1, opts, false));
|
|
4635
4635
|
});
|
|
4636
4636
|
} else {
|
|
@@ -4644,9 +4644,9 @@ var require_tmp = __commonJS({
|
|
|
4644
4644
|
const args = _parseArguments(options), opts = args[0];
|
|
4645
4645
|
const discardOrDetachDescriptor = opts.discardDescriptor || opts.detachDescriptor;
|
|
4646
4646
|
const name = tmpNameSync(opts);
|
|
4647
|
-
var fd =
|
|
4647
|
+
var fd = fs3.openSync(name, CREATE_FLAGS, opts.mode || FILE_MODE);
|
|
4648
4648
|
if (opts.discardDescriptor) {
|
|
4649
|
-
|
|
4649
|
+
fs3.closeSync(fd);
|
|
4650
4650
|
fd = void 0;
|
|
4651
4651
|
}
|
|
4652
4652
|
return {
|
|
@@ -4659,7 +4659,7 @@ var require_tmp = __commonJS({
|
|
|
4659
4659
|
const args = _parseArguments(options, callback), opts = args[0], cb = args[1];
|
|
4660
4660
|
tmpName(opts, function _tmpNameCreated(err, name) {
|
|
4661
4661
|
if (err) return cb(err);
|
|
4662
|
-
|
|
4662
|
+
fs3.mkdir(name, opts.mode || DIR_MODE, function _dirCreated(err2) {
|
|
4663
4663
|
if (err2) return cb(err2);
|
|
4664
4664
|
cb(null, name, _prepareTmpDirRemoveCallback(name, opts, false));
|
|
4665
4665
|
});
|
|
@@ -4668,7 +4668,7 @@ var require_tmp = __commonJS({
|
|
|
4668
4668
|
function dirSync(options) {
|
|
4669
4669
|
const args = _parseArguments(options), opts = args[0];
|
|
4670
4670
|
const name = tmpNameSync(opts);
|
|
4671
|
-
|
|
4671
|
+
fs3.mkdirSync(name, opts.mode || DIR_MODE);
|
|
4672
4672
|
return {
|
|
4673
4673
|
name,
|
|
4674
4674
|
removeCallback: _prepareTmpDirRemoveCallback(name, opts, true)
|
|
@@ -4682,20 +4682,20 @@ var require_tmp = __commonJS({
|
|
|
4682
4682
|
next();
|
|
4683
4683
|
};
|
|
4684
4684
|
if (0 <= fdPath[0])
|
|
4685
|
-
|
|
4686
|
-
|
|
4685
|
+
fs3.close(fdPath[0], function() {
|
|
4686
|
+
fs3.unlink(fdPath[1], _handler);
|
|
4687
4687
|
});
|
|
4688
|
-
else
|
|
4688
|
+
else fs3.unlink(fdPath[1], _handler);
|
|
4689
4689
|
}
|
|
4690
4690
|
function _removeFileSync(fdPath) {
|
|
4691
4691
|
let rethrownException = null;
|
|
4692
4692
|
try {
|
|
4693
|
-
if (0 <= fdPath[0])
|
|
4693
|
+
if (0 <= fdPath[0]) fs3.closeSync(fdPath[0]);
|
|
4694
4694
|
} catch (e) {
|
|
4695
4695
|
if (!_isEBADF(e) && !_isENOENT(e)) throw e;
|
|
4696
4696
|
} finally {
|
|
4697
4697
|
try {
|
|
4698
|
-
|
|
4698
|
+
fs3.unlinkSync(fdPath[1]);
|
|
4699
4699
|
} catch (e) {
|
|
4700
4700
|
if (!_isENOENT(e)) rethrownException = e;
|
|
4701
4701
|
}
|
|
@@ -4711,7 +4711,7 @@ var require_tmp = __commonJS({
|
|
|
4711
4711
|
return sync ? removeCallbackSync : removeCallback;
|
|
4712
4712
|
}
|
|
4713
4713
|
function _prepareTmpDirRemoveCallback(name, opts, sync) {
|
|
4714
|
-
const removeFunction = opts.unsafeCleanup ? rimraf :
|
|
4714
|
+
const removeFunction = opts.unsafeCleanup ? rimraf : fs3.rmdir.bind(fs3);
|
|
4715
4715
|
const removeFunctionSync = opts.unsafeCleanup ? FN_RIMRAF_SYNC : FN_RMDIR_SYNC;
|
|
4716
4716
|
const removeCallbackSync = _prepareRemoveCallback(removeFunctionSync, name, sync);
|
|
4717
4717
|
const removeCallback = _prepareRemoveCallback(removeFunction, name, sync, removeCallbackSync);
|
|
@@ -6417,7 +6417,7 @@ var require_dist2 = __commonJS({
|
|
|
6417
6417
|
});
|
|
6418
6418
|
|
|
6419
6419
|
// src/cli.ts
|
|
6420
|
-
var
|
|
6420
|
+
var import_fs6 = __toESM(require("fs"), 1);
|
|
6421
6421
|
var import_promises6 = require("fs/promises");
|
|
6422
6422
|
var import_path7 = __toESM(require("path"), 1);
|
|
6423
6423
|
|
|
@@ -13047,17 +13047,18 @@ var Language = {
|
|
|
13047
13047
|
};
|
|
13048
13048
|
|
|
13049
13049
|
// src/utils/Writer.ts
|
|
13050
|
+
var import_fs5 = __toESM(require("fs"), 1);
|
|
13050
13051
|
var Writer = class {
|
|
13051
|
-
writeCodeBlock(language, content) {
|
|
13052
|
-
this.writeLine(
|
|
13053
|
-
this.write(content);
|
|
13054
|
-
this.writeLine("```");
|
|
13052
|
+
async writeCodeBlock(language, content) {
|
|
13053
|
+
await this.writeLine(`\`\`\`${language}`);
|
|
13054
|
+
await this.write(content);
|
|
13055
|
+
await this.writeLine("```");
|
|
13055
13056
|
}
|
|
13056
|
-
writeLine(content) {
|
|
13057
|
+
async writeLine(content) {
|
|
13057
13058
|
if (content === void 0) {
|
|
13058
|
-
this.write("\n");
|
|
13059
|
+
await this.write("\n");
|
|
13059
13060
|
} else {
|
|
13060
|
-
this.write(`${content}
|
|
13061
|
+
await this.write(`${content}
|
|
13061
13062
|
`);
|
|
13062
13063
|
}
|
|
13063
13064
|
}
|
|
@@ -13068,11 +13069,57 @@ var StreamWriter = class extends Writer {
|
|
|
13068
13069
|
this.stream = stream;
|
|
13069
13070
|
this.stream = stream;
|
|
13070
13071
|
}
|
|
13071
|
-
write(content) {
|
|
13072
|
-
|
|
13072
|
+
async write(content) {
|
|
13073
|
+
return new Promise((resolve7, reject) => {
|
|
13074
|
+
const handleError = (err) => {
|
|
13075
|
+
this.stream.removeListener("error", handleError);
|
|
13076
|
+
reject(err);
|
|
13077
|
+
};
|
|
13078
|
+
if (this.stream instanceof import_fs5.default.WriteStream) {
|
|
13079
|
+
const canWrite = this.stream.write(
|
|
13080
|
+
content,
|
|
13081
|
+
(error) => {
|
|
13082
|
+
this.stream.removeListener("error", handleError);
|
|
13083
|
+
if (error) {
|
|
13084
|
+
reject(error);
|
|
13085
|
+
} else {
|
|
13086
|
+
resolve7();
|
|
13087
|
+
}
|
|
13088
|
+
}
|
|
13089
|
+
);
|
|
13090
|
+
this.stream.once("error", handleError);
|
|
13091
|
+
if (!canWrite) {
|
|
13092
|
+
this.stream.once("drain", resolve7);
|
|
13093
|
+
}
|
|
13094
|
+
} else {
|
|
13095
|
+
const canWrite = this.stream.write(content);
|
|
13096
|
+
this.stream.once("error", handleError);
|
|
13097
|
+
if (!canWrite) {
|
|
13098
|
+
this.stream.once("drain", () => {
|
|
13099
|
+
this.stream.removeListener("error", handleError);
|
|
13100
|
+
resolve7();
|
|
13101
|
+
});
|
|
13102
|
+
} else {
|
|
13103
|
+
this.stream.removeListener("error", handleError);
|
|
13104
|
+
resolve7();
|
|
13105
|
+
}
|
|
13106
|
+
}
|
|
13107
|
+
});
|
|
13073
13108
|
}
|
|
13074
13109
|
end() {
|
|
13075
|
-
|
|
13110
|
+
return new Promise((resolve7, reject) => {
|
|
13111
|
+
if (this.stream instanceof import_fs5.default.WriteStream) {
|
|
13112
|
+
this.stream.end(() => {
|
|
13113
|
+
resolve7();
|
|
13114
|
+
});
|
|
13115
|
+
this.stream.once("error", reject);
|
|
13116
|
+
this.stream.once("finish", resolve7);
|
|
13117
|
+
} else {
|
|
13118
|
+
this.stream.write("", () => {
|
|
13119
|
+
resolve7();
|
|
13120
|
+
});
|
|
13121
|
+
}
|
|
13122
|
+
});
|
|
13076
13123
|
}
|
|
13077
13124
|
};
|
|
13078
13125
|
var StringWriter = class extends Writer {
|
|
@@ -13081,10 +13128,10 @@ var StringWriter = class extends Writer {
|
|
|
13081
13128
|
super();
|
|
13082
13129
|
this.content = "";
|
|
13083
13130
|
}
|
|
13084
|
-
write(content) {
|
|
13131
|
+
async write(content) {
|
|
13085
13132
|
this.content += content;
|
|
13086
13133
|
}
|
|
13087
|
-
end() {
|
|
13134
|
+
async end() {
|
|
13088
13135
|
return;
|
|
13089
13136
|
}
|
|
13090
13137
|
toString() {
|
|
@@ -13100,10 +13147,10 @@ var Block = class {
|
|
|
13100
13147
|
this.id = id;
|
|
13101
13148
|
this.content = content;
|
|
13102
13149
|
}
|
|
13103
|
-
write(writer) {
|
|
13104
|
-
writer.write(this.content);
|
|
13150
|
+
async write(writer) {
|
|
13151
|
+
await writer.write(this.content);
|
|
13105
13152
|
if (!this.content.endsWith("\n")) {
|
|
13106
|
-
writer.writeLine();
|
|
13153
|
+
await writer.writeLine();
|
|
13107
13154
|
}
|
|
13108
13155
|
}
|
|
13109
13156
|
};
|
|
@@ -13198,42 +13245,41 @@ var ReadmeGenerator = class {
|
|
|
13198
13245
|
async generateReadme({
|
|
13199
13246
|
output
|
|
13200
13247
|
}) {
|
|
13201
|
-
const blocks = this.generateBlocks();
|
|
13248
|
+
const blocks = await this.generateBlocks();
|
|
13202
13249
|
const writer = new StreamWriter(output);
|
|
13203
|
-
this.writeHeader({ writer });
|
|
13204
|
-
this.writeBlocks({
|
|
13250
|
+
await this.writeHeader({ writer });
|
|
13251
|
+
await this.writeBlocks({
|
|
13205
13252
|
writer,
|
|
13206
13253
|
blocks: await this.mergeBlocks({ blocks })
|
|
13207
13254
|
});
|
|
13208
|
-
writer.end();
|
|
13209
|
-
return;
|
|
13255
|
+
await writer.end();
|
|
13210
13256
|
}
|
|
13211
|
-
generateBlocks() {
|
|
13257
|
+
async generateBlocks() {
|
|
13212
13258
|
const blocks = [];
|
|
13213
13259
|
if (this.readmeConfig.apiReferenceLink != null) {
|
|
13214
13260
|
blocks.push(
|
|
13215
|
-
this.generateDocumentation({
|
|
13261
|
+
await this.generateDocumentation({
|
|
13216
13262
|
docsLink: this.readmeConfig.apiReferenceLink
|
|
13217
13263
|
})
|
|
13218
13264
|
);
|
|
13219
13265
|
}
|
|
13220
13266
|
if (this.readmeConfig.requirements != null) {
|
|
13221
13267
|
blocks.push(
|
|
13222
|
-
this.generateRequirements({
|
|
13268
|
+
await this.generateRequirements({
|
|
13223
13269
|
requirements: this.readmeConfig.requirements
|
|
13224
13270
|
})
|
|
13225
13271
|
);
|
|
13226
13272
|
}
|
|
13227
13273
|
if (this.readmeConfig.language?.publishInfo != null) {
|
|
13228
13274
|
blocks.push(
|
|
13229
|
-
this.generateInstallation({
|
|
13275
|
+
await this.generateInstallation({
|
|
13230
13276
|
language: this.readmeConfig.language
|
|
13231
13277
|
})
|
|
13232
13278
|
);
|
|
13233
13279
|
}
|
|
13234
13280
|
if (this.readmeConfig.referenceMarkdownPath != null) {
|
|
13235
13281
|
blocks.push(
|
|
13236
|
-
this.generateReference({
|
|
13282
|
+
await this.generateReference({
|
|
13237
13283
|
referenceFile: this.readmeConfig.referenceMarkdownPath
|
|
13238
13284
|
})
|
|
13239
13285
|
);
|
|
@@ -13245,12 +13291,12 @@ var ReadmeGenerator = class {
|
|
|
13245
13291
|
continue;
|
|
13246
13292
|
}
|
|
13247
13293
|
blocks.push(
|
|
13248
|
-
this.generateFeatureBlock({
|
|
13294
|
+
await this.generateFeatureBlock({
|
|
13249
13295
|
feature
|
|
13250
13296
|
})
|
|
13251
13297
|
);
|
|
13252
13298
|
}
|
|
13253
|
-
const advancedFeatureBlock = this.generateNestedFeatureBlock({
|
|
13299
|
+
const advancedFeatureBlock = await this.generateNestedFeatureBlock({
|
|
13254
13300
|
featureId: this.ADVANCED_FEATURE_ID,
|
|
13255
13301
|
features: advancedFeatures
|
|
13256
13302
|
});
|
|
@@ -13266,7 +13312,7 @@ var ReadmeGenerator = class {
|
|
|
13266
13312
|
}
|
|
13267
13313
|
return feat.advanced ?? false;
|
|
13268
13314
|
}
|
|
13269
|
-
generateNestedFeatureBlock({
|
|
13315
|
+
async generateNestedFeatureBlock({
|
|
13270
13316
|
featureId,
|
|
13271
13317
|
features
|
|
13272
13318
|
}) {
|
|
@@ -13274,13 +13320,13 @@ var ReadmeGenerator = class {
|
|
|
13274
13320
|
return void 0;
|
|
13275
13321
|
}
|
|
13276
13322
|
const writer = new StringWriter();
|
|
13277
|
-
writer.writeLine(`## ${featureIDToTitle(featureId)}`);
|
|
13278
|
-
writer.writeLine();
|
|
13323
|
+
await writer.writeLine(`## ${featureIDToTitle(featureId)}`);
|
|
13324
|
+
await writer.writeLine();
|
|
13279
13325
|
for (const feature of features) {
|
|
13280
13326
|
if (this.shouldSkipFeature({ feature })) {
|
|
13281
13327
|
continue;
|
|
13282
13328
|
}
|
|
13283
|
-
this.generateFeatureBlock({
|
|
13329
|
+
await this.generateFeatureBlock({
|
|
13284
13330
|
feature,
|
|
13285
13331
|
heading: "###",
|
|
13286
13332
|
maybeWriter: writer
|
|
@@ -13291,27 +13337,27 @@ var ReadmeGenerator = class {
|
|
|
13291
13337
|
content: writer.toString()
|
|
13292
13338
|
});
|
|
13293
13339
|
}
|
|
13294
|
-
generateFeatureBlock({
|
|
13340
|
+
async generateFeatureBlock({
|
|
13295
13341
|
feature,
|
|
13296
13342
|
heading = "##",
|
|
13297
13343
|
maybeWriter
|
|
13298
13344
|
}) {
|
|
13299
13345
|
const writer = maybeWriter ?? new StringWriter();
|
|
13300
|
-
writer.writeLine(`${heading} ${featureIDToTitle(feature.id)}`);
|
|
13301
|
-
writer.writeLine();
|
|
13346
|
+
await writer.writeLine(`${heading} ${featureIDToTitle(feature.id)}`);
|
|
13347
|
+
await writer.writeLine();
|
|
13302
13348
|
if (feature.description != null) {
|
|
13303
|
-
writer.writeLine(feature.description);
|
|
13349
|
+
await writer.writeLine(feature.description);
|
|
13304
13350
|
}
|
|
13305
|
-
feature.snippets?.
|
|
13351
|
+
for (const [index, snippet] of feature.snippets?.entries() ?? []) {
|
|
13306
13352
|
if (index > 0) {
|
|
13307
|
-
writer.writeLine();
|
|
13353
|
+
await writer.writeLine();
|
|
13308
13354
|
}
|
|
13309
|
-
writer.writeCodeBlock(this.readmeConfig.language.type, snippet);
|
|
13310
|
-
}
|
|
13355
|
+
await writer.writeCodeBlock(this.readmeConfig.language.type, snippet);
|
|
13356
|
+
}
|
|
13311
13357
|
if (feature.addendum != null) {
|
|
13312
|
-
writer.writeLine(feature.addendum);
|
|
13358
|
+
await writer.writeLine(feature.addendum);
|
|
13313
13359
|
}
|
|
13314
|
-
writer.writeLine();
|
|
13360
|
+
await writer.writeLine();
|
|
13315
13361
|
return new Block({
|
|
13316
13362
|
id: feature.id,
|
|
13317
13363
|
content: writer.toString()
|
|
@@ -13344,150 +13390,152 @@ var ReadmeGenerator = class {
|
|
|
13344
13390
|
}
|
|
13345
13391
|
return void 0;
|
|
13346
13392
|
}
|
|
13347
|
-
writeBlocks({
|
|
13393
|
+
async writeBlocks({
|
|
13348
13394
|
writer,
|
|
13349
13395
|
blocks
|
|
13350
13396
|
}) {
|
|
13351
13397
|
for (const block of blocks) {
|
|
13352
|
-
block.write(writer);
|
|
13398
|
+
await block.write(writer);
|
|
13353
13399
|
}
|
|
13354
13400
|
}
|
|
13355
|
-
writeHeader({ writer }) {
|
|
13356
|
-
writer.writeLine(
|
|
13401
|
+
async writeHeader({ writer }) {
|
|
13402
|
+
await writer.writeLine(
|
|
13357
13403
|
`# ${this.organizationPascalCase} ${this.languageTitle} Library`
|
|
13358
13404
|
);
|
|
13359
|
-
writer.writeLine();
|
|
13405
|
+
await writer.writeLine();
|
|
13360
13406
|
if (this.readmeConfig.bannerLink != null) {
|
|
13361
|
-
this.writeBanner({
|
|
13407
|
+
await this.writeBanner({
|
|
13362
13408
|
writer,
|
|
13363
13409
|
bannerLink: this.readmeConfig.bannerLink
|
|
13364
13410
|
});
|
|
13365
13411
|
}
|
|
13366
|
-
this.writeFernShield({ writer });
|
|
13412
|
+
await this.writeFernShield({ writer });
|
|
13367
13413
|
if (this.readmeConfig.language != null) {
|
|
13368
|
-
this.writeShield({
|
|
13414
|
+
await this.writeShield({
|
|
13369
13415
|
writer,
|
|
13370
13416
|
language: this.readmeConfig.language
|
|
13371
13417
|
});
|
|
13372
13418
|
}
|
|
13373
|
-
writer.writeLine();
|
|
13374
|
-
this.
|
|
13419
|
+
await writer.writeLine();
|
|
13420
|
+
await this.writeIntro({ writer });
|
|
13375
13421
|
}
|
|
13376
|
-
writeBanner({
|
|
13422
|
+
async writeBanner({
|
|
13377
13423
|
writer,
|
|
13378
13424
|
bannerLink
|
|
13379
13425
|
}) {
|
|
13380
|
-
writer.writeLine(``);
|
|
13381
|
-
writer.writeLine();
|
|
13426
|
+
await writer.writeLine(``);
|
|
13427
|
+
await writer.writeLine();
|
|
13382
13428
|
}
|
|
13383
|
-
writeFernShield({ writer }) {
|
|
13429
|
+
async writeFernShield({ writer }) {
|
|
13384
13430
|
const repoSource = this.readmeConfig.remote?.repoUrl ?? `${this.organizationPascalCase}/${this.languageTitle}`;
|
|
13385
|
-
writer.writeLine(
|
|
13431
|
+
await writer.writeLine(
|
|
13386
13432
|
`[](https://buildwithfern.com?utm_source=github&utm_medium=github&utm_campaign=readme&utm_source=${encodeURIComponent(repoSource)})`
|
|
13387
13433
|
);
|
|
13388
13434
|
}
|
|
13389
|
-
|
|
13390
|
-
writer.writeLine(
|
|
13435
|
+
async writeIntro({ writer }) {
|
|
13436
|
+
await writer.writeLine(
|
|
13391
13437
|
this.readmeConfig.introduction != null ? this.readmeConfig.introduction : `The ${this.organizationPascalCase} ${this.languageTitle} library provides convenient access to the ${this.organizationPascalCase} API from ${this.languageTitle}.`
|
|
13392
13438
|
);
|
|
13393
|
-
writer.writeLine();
|
|
13439
|
+
await writer.writeLine();
|
|
13394
13440
|
}
|
|
13395
|
-
generateDocumentation({
|
|
13441
|
+
async generateDocumentation({
|
|
13442
|
+
docsLink
|
|
13443
|
+
}) {
|
|
13396
13444
|
const writer = new StringWriter();
|
|
13397
|
-
writer.writeLine("## Documentation");
|
|
13398
|
-
writer.writeLine();
|
|
13399
|
-
writer.writeLine(
|
|
13445
|
+
await writer.writeLine("## Documentation");
|
|
13446
|
+
await writer.writeLine();
|
|
13447
|
+
await writer.writeLine(
|
|
13400
13448
|
`API reference documentation is available [here](${docsLink}).`
|
|
13401
13449
|
);
|
|
13402
|
-
writer.writeLine();
|
|
13450
|
+
await writer.writeLine();
|
|
13403
13451
|
return new Block({
|
|
13404
13452
|
id: "DOCUMENTATION",
|
|
13405
13453
|
content: writer.toString()
|
|
13406
13454
|
});
|
|
13407
13455
|
}
|
|
13408
|
-
generateReference({
|
|
13456
|
+
async generateReference({
|
|
13409
13457
|
referenceFile
|
|
13410
13458
|
}) {
|
|
13411
13459
|
const writer = new StringWriter();
|
|
13412
|
-
writer.writeLine("## Reference");
|
|
13413
|
-
writer.writeLine();
|
|
13414
|
-
writer.writeLine(
|
|
13460
|
+
await writer.writeLine("## Reference");
|
|
13461
|
+
await writer.writeLine();
|
|
13462
|
+
await writer.writeLine(
|
|
13415
13463
|
`A full reference for this library is available [here](${this.readmeConfig.remote?.repoUrl != null ? `${this.readmeConfig.remote.repoUrl}/blob/HEAD/${referenceFile}` : referenceFile}).`
|
|
13416
13464
|
);
|
|
13417
|
-
writer.writeLine();
|
|
13465
|
+
await writer.writeLine();
|
|
13418
13466
|
return new Block({
|
|
13419
13467
|
id: "REFERENCE",
|
|
13420
13468
|
content: writer.toString()
|
|
13421
13469
|
});
|
|
13422
13470
|
}
|
|
13423
|
-
generateRequirements({
|
|
13471
|
+
async generateRequirements({
|
|
13424
13472
|
requirements
|
|
13425
13473
|
}) {
|
|
13426
13474
|
const writer = new StringWriter();
|
|
13427
|
-
writer.writeLine("## Requirements");
|
|
13428
|
-
writer.writeLine();
|
|
13475
|
+
await writer.writeLine("## Requirements");
|
|
13476
|
+
await writer.writeLine();
|
|
13429
13477
|
if (requirements.length === 1) {
|
|
13430
|
-
writer.writeLine(`This SDK requires ${requirements[0]}.`);
|
|
13478
|
+
await writer.writeLine(`This SDK requires ${requirements[0]}.`);
|
|
13431
13479
|
} else {
|
|
13432
|
-
writer.writeLine("This SDK requires:");
|
|
13480
|
+
await writer.writeLine("This SDK requires:");
|
|
13433
13481
|
for (const requirement of requirements) {
|
|
13434
|
-
writer.writeLine(`- ${requirement}`);
|
|
13482
|
+
await writer.writeLine(`- ${requirement}`);
|
|
13435
13483
|
}
|
|
13436
13484
|
}
|
|
13437
|
-
writer.writeLine();
|
|
13485
|
+
await writer.writeLine();
|
|
13438
13486
|
return new Block({
|
|
13439
13487
|
id: "REQUIREMENTS",
|
|
13440
13488
|
content: writer.toString()
|
|
13441
13489
|
});
|
|
13442
13490
|
}
|
|
13443
|
-
generateInstallation({
|
|
13491
|
+
async generateInstallation({
|
|
13444
13492
|
language
|
|
13445
13493
|
}) {
|
|
13446
13494
|
if (language.publishInfo == null) {
|
|
13447
13495
|
throw new Error("publish information is required for installation block");
|
|
13448
13496
|
}
|
|
13449
13497
|
const writer = new StringWriter();
|
|
13450
|
-
writer.writeLine("## Installation");
|
|
13451
|
-
writer.writeLine();
|
|
13498
|
+
await writer.writeLine("## Installation");
|
|
13499
|
+
await writer.writeLine();
|
|
13452
13500
|
switch (language.type) {
|
|
13453
13501
|
case "typescript":
|
|
13454
|
-
this.writeInstallationForNPM({
|
|
13502
|
+
await this.writeInstallationForNPM({
|
|
13455
13503
|
writer,
|
|
13456
13504
|
npm: language.publishInfo
|
|
13457
13505
|
});
|
|
13458
13506
|
break;
|
|
13459
13507
|
case "python":
|
|
13460
|
-
this.writeInstallationForPyPi({
|
|
13508
|
+
await this.writeInstallationForPyPi({
|
|
13461
13509
|
writer,
|
|
13462
13510
|
pypi: language.publishInfo
|
|
13463
13511
|
});
|
|
13464
13512
|
break;
|
|
13465
13513
|
case "java":
|
|
13466
|
-
this.writeInstallationForMaven({
|
|
13514
|
+
await this.writeInstallationForMaven({
|
|
13467
13515
|
writer,
|
|
13468
13516
|
maven: language.publishInfo
|
|
13469
13517
|
});
|
|
13470
13518
|
break;
|
|
13471
13519
|
case "go":
|
|
13472
|
-
this.writeInstallationForGo({
|
|
13520
|
+
await this.writeInstallationForGo({
|
|
13473
13521
|
writer,
|
|
13474
13522
|
go: language.publishInfo
|
|
13475
13523
|
});
|
|
13476
13524
|
break;
|
|
13477
13525
|
case "ruby":
|
|
13478
|
-
this.writeInstallationForRubyGems({
|
|
13526
|
+
await this.writeInstallationForRubyGems({
|
|
13479
13527
|
writer,
|
|
13480
13528
|
rubyGems: language.publishInfo
|
|
13481
13529
|
});
|
|
13482
13530
|
break;
|
|
13483
13531
|
case "csharp":
|
|
13484
|
-
this.writeInstallationForNuget({
|
|
13532
|
+
await this.writeInstallationForNuget({
|
|
13485
13533
|
writer,
|
|
13486
13534
|
nuget: language.publishInfo
|
|
13487
13535
|
});
|
|
13488
13536
|
break;
|
|
13489
13537
|
case "php":
|
|
13490
|
-
this.writeInstallationForComposer({
|
|
13538
|
+
await this.writeInstallationForComposer({
|
|
13491
13539
|
writer,
|
|
13492
13540
|
composer: language.publishInfo
|
|
13493
13541
|
});
|
|
@@ -13500,93 +13548,95 @@ var ReadmeGenerator = class {
|
|
|
13500
13548
|
content: writer.toString()
|
|
13501
13549
|
});
|
|
13502
13550
|
}
|
|
13503
|
-
writeInstallationForNPM({
|
|
13551
|
+
async writeInstallationForNPM({
|
|
13504
13552
|
writer,
|
|
13505
13553
|
npm
|
|
13506
13554
|
}) {
|
|
13507
|
-
writer.writeLine("```sh");
|
|
13508
|
-
writer.writeLine(`npm i -s ${npm.packageName}`);
|
|
13509
|
-
writer.writeLine("```");
|
|
13510
|
-
writer.writeLine();
|
|
13555
|
+
await writer.writeLine("```sh");
|
|
13556
|
+
await writer.writeLine(`npm i -s ${npm.packageName}`);
|
|
13557
|
+
await writer.writeLine("```");
|
|
13558
|
+
await writer.writeLine();
|
|
13511
13559
|
}
|
|
13512
|
-
writeInstallationForPyPi({
|
|
13560
|
+
async writeInstallationForPyPi({
|
|
13513
13561
|
writer,
|
|
13514
13562
|
pypi
|
|
13515
13563
|
}) {
|
|
13516
|
-
writer.writeLine("```sh");
|
|
13517
|
-
writer.writeLine(`pip install ${pypi.packageName}`);
|
|
13518
|
-
writer.writeLine("```");
|
|
13519
|
-
writer.writeLine();
|
|
13564
|
+
await writer.writeLine("```sh");
|
|
13565
|
+
await writer.writeLine(`pip install ${pypi.packageName}`);
|
|
13566
|
+
await writer.writeLine("```");
|
|
13567
|
+
await writer.writeLine();
|
|
13520
13568
|
}
|
|
13521
|
-
writeInstallationForMaven({
|
|
13569
|
+
async writeInstallationForMaven({
|
|
13522
13570
|
writer,
|
|
13523
13571
|
maven
|
|
13524
13572
|
}) {
|
|
13525
|
-
writer.writeLine("### Gradle");
|
|
13526
|
-
writer.writeLine();
|
|
13527
|
-
writer.writeLine("Add the dependency in your `build.gradle` file:");
|
|
13528
|
-
writer.writeLine();
|
|
13529
|
-
writer.writeLine("```groovy");
|
|
13530
|
-
writer.writeLine("dependencies {");
|
|
13531
|
-
writer.writeLine(
|
|
13532
|
-
|
|
13533
|
-
|
|
13534
|
-
writer.writeLine();
|
|
13535
|
-
writer.writeLine("
|
|
13536
|
-
writer.writeLine();
|
|
13537
|
-
writer.writeLine("
|
|
13538
|
-
writer.writeLine();
|
|
13539
|
-
writer.writeLine("
|
|
13540
|
-
writer.writeLine(
|
|
13541
|
-
writer.writeLine(
|
|
13542
|
-
writer.writeLine(
|
|
13543
|
-
writer.writeLine(` <
|
|
13544
|
-
writer.writeLine(
|
|
13545
|
-
writer.writeLine(
|
|
13546
|
-
writer.writeLine();
|
|
13547
|
-
|
|
13548
|
-
|
|
13573
|
+
await writer.writeLine("### Gradle");
|
|
13574
|
+
await writer.writeLine();
|
|
13575
|
+
await writer.writeLine("Add the dependency in your `build.gradle` file:");
|
|
13576
|
+
await writer.writeLine();
|
|
13577
|
+
await writer.writeLine("```groovy");
|
|
13578
|
+
await writer.writeLine("dependencies {");
|
|
13579
|
+
await writer.writeLine(
|
|
13580
|
+
` implementation '${maven.group}:${maven.artifact}'`
|
|
13581
|
+
);
|
|
13582
|
+
await writer.writeLine("}");
|
|
13583
|
+
await writer.writeLine("```");
|
|
13584
|
+
await writer.writeLine();
|
|
13585
|
+
await writer.writeLine("### Maven");
|
|
13586
|
+
await writer.writeLine();
|
|
13587
|
+
await writer.writeLine("Add the dependency in your `pom.xml` file:");
|
|
13588
|
+
await writer.writeLine();
|
|
13589
|
+
await writer.writeLine("```xml");
|
|
13590
|
+
await writer.writeLine("<dependency>");
|
|
13591
|
+
await writer.writeLine(` <groupId>${maven.group}</groupId>`);
|
|
13592
|
+
await writer.writeLine(` <artifactId>${maven.artifact}</artifactId>`);
|
|
13593
|
+
await writer.writeLine(` <version>${maven.version}</version>`);
|
|
13594
|
+
await writer.writeLine("</dependency>");
|
|
13595
|
+
await writer.writeLine("```");
|
|
13596
|
+
await writer.writeLine();
|
|
13597
|
+
}
|
|
13598
|
+
async writeInstallationForGo({
|
|
13549
13599
|
writer,
|
|
13550
13600
|
go
|
|
13551
13601
|
}) {
|
|
13552
|
-
writer.writeLine("```sh");
|
|
13553
|
-
writer.write(`go get github.com/${go.owner}/${go.repo}`);
|
|
13602
|
+
await writer.writeLine("```sh");
|
|
13603
|
+
await writer.write(`go get github.com/${go.owner}/${go.repo}`);
|
|
13554
13604
|
const majorVersion = getMajorVersion(go.version);
|
|
13555
13605
|
if (!majorVersion.startsWith("0") && !majorVersion.startsWith("1")) {
|
|
13556
|
-
writer.write(`/v${majorVersion}`);
|
|
13606
|
+
await writer.write(`/v${majorVersion}`);
|
|
13557
13607
|
}
|
|
13558
|
-
writer.writeLine();
|
|
13559
|
-
writer.writeLine("```");
|
|
13560
|
-
writer.writeLine();
|
|
13608
|
+
await writer.writeLine();
|
|
13609
|
+
await writer.writeLine("```");
|
|
13610
|
+
await writer.writeLine();
|
|
13561
13611
|
}
|
|
13562
|
-
writeInstallationForRubyGems({
|
|
13612
|
+
async writeInstallationForRubyGems({
|
|
13563
13613
|
writer,
|
|
13564
13614
|
rubyGems
|
|
13565
13615
|
}) {
|
|
13566
|
-
writer.writeLine("```sh");
|
|
13567
|
-
writer.writeLine(`gem install ${rubyGems.packageName}`);
|
|
13568
|
-
writer.writeLine("```");
|
|
13569
|
-
writer.writeLine();
|
|
13616
|
+
await writer.writeLine("```sh");
|
|
13617
|
+
await writer.writeLine(`gem install ${rubyGems.packageName}`);
|
|
13618
|
+
await writer.writeLine("```");
|
|
13619
|
+
await writer.writeLine();
|
|
13570
13620
|
}
|
|
13571
|
-
writeInstallationForNuget({
|
|
13621
|
+
async writeInstallationForNuget({
|
|
13572
13622
|
writer,
|
|
13573
13623
|
nuget
|
|
13574
13624
|
}) {
|
|
13575
|
-
writer.writeLine("```sh");
|
|
13576
|
-
writer.writeLine(`dotnet add package ${nuget.packageName}`);
|
|
13577
|
-
writer.writeLine("```");
|
|
13578
|
-
writer.writeLine();
|
|
13625
|
+
await writer.writeLine("```sh");
|
|
13626
|
+
await writer.writeLine(`dotnet add package ${nuget.packageName}`);
|
|
13627
|
+
await writer.writeLine("```");
|
|
13628
|
+
await writer.writeLine();
|
|
13579
13629
|
}
|
|
13580
|
-
writeInstallationForComposer({
|
|
13630
|
+
async writeInstallationForComposer({
|
|
13581
13631
|
writer,
|
|
13582
13632
|
composer
|
|
13583
13633
|
}) {
|
|
13584
|
-
writer.writeLine("```sh");
|
|
13585
|
-
writer.writeLine(`composer require ${composer.packageName}`);
|
|
13586
|
-
writer.writeLine("```");
|
|
13587
|
-
writer.writeLine();
|
|
13634
|
+
await writer.writeLine("```sh");
|
|
13635
|
+
await writer.writeLine(`composer require ${composer.packageName}`);
|
|
13636
|
+
await writer.writeLine("```");
|
|
13637
|
+
await writer.writeLine();
|
|
13588
13638
|
}
|
|
13589
|
-
writeShield({
|
|
13639
|
+
async writeShield({
|
|
13590
13640
|
writer,
|
|
13591
13641
|
language
|
|
13592
13642
|
}) {
|
|
@@ -13596,7 +13646,7 @@ var ReadmeGenerator = class {
|
|
|
13596
13646
|
if (npm == null) {
|
|
13597
13647
|
return;
|
|
13598
13648
|
}
|
|
13599
|
-
this.writeShieldForNPM({
|
|
13649
|
+
await this.writeShieldForNPM({
|
|
13600
13650
|
writer,
|
|
13601
13651
|
npm
|
|
13602
13652
|
});
|
|
@@ -13607,7 +13657,7 @@ var ReadmeGenerator = class {
|
|
|
13607
13657
|
if (pypi == null) {
|
|
13608
13658
|
return;
|
|
13609
13659
|
}
|
|
13610
|
-
this.writeShieldForPyPi({
|
|
13660
|
+
await this.writeShieldForPyPi({
|
|
13611
13661
|
writer,
|
|
13612
13662
|
pypi
|
|
13613
13663
|
});
|
|
@@ -13618,7 +13668,7 @@ var ReadmeGenerator = class {
|
|
|
13618
13668
|
if (maven == null) {
|
|
13619
13669
|
return;
|
|
13620
13670
|
}
|
|
13621
|
-
this.writeShieldForMaven({
|
|
13671
|
+
await this.writeShieldForMaven({
|
|
13622
13672
|
writer,
|
|
13623
13673
|
maven
|
|
13624
13674
|
});
|
|
@@ -13629,7 +13679,7 @@ var ReadmeGenerator = class {
|
|
|
13629
13679
|
if (go == null) {
|
|
13630
13680
|
return;
|
|
13631
13681
|
}
|
|
13632
|
-
this.writeShieldForGo({
|
|
13682
|
+
await this.writeShieldForGo({
|
|
13633
13683
|
writer,
|
|
13634
13684
|
go
|
|
13635
13685
|
});
|
|
@@ -13640,7 +13690,7 @@ var ReadmeGenerator = class {
|
|
|
13640
13690
|
if (rubyGems == null) {
|
|
13641
13691
|
return;
|
|
13642
13692
|
}
|
|
13643
|
-
this.writeShieldForRubyGems({
|
|
13693
|
+
await this.writeShieldForRubyGems({
|
|
13644
13694
|
writer,
|
|
13645
13695
|
rubyGems
|
|
13646
13696
|
});
|
|
@@ -13651,7 +13701,7 @@ var ReadmeGenerator = class {
|
|
|
13651
13701
|
if (nuget == null) {
|
|
13652
13702
|
return;
|
|
13653
13703
|
}
|
|
13654
|
-
this.writeShieldForNuget({
|
|
13704
|
+
await this.writeShieldForNuget({
|
|
13655
13705
|
writer,
|
|
13656
13706
|
nuget
|
|
13657
13707
|
});
|
|
@@ -13662,7 +13712,7 @@ var ReadmeGenerator = class {
|
|
|
13662
13712
|
if (composer == null) {
|
|
13663
13713
|
return;
|
|
13664
13714
|
}
|
|
13665
|
-
this.writeShieldForComposer({
|
|
13715
|
+
await this.writeShieldForComposer({
|
|
13666
13716
|
writer,
|
|
13667
13717
|
composer
|
|
13668
13718
|
});
|
|
@@ -13672,65 +13722,77 @@ var ReadmeGenerator = class {
|
|
|
13672
13722
|
assertNever(language);
|
|
13673
13723
|
}
|
|
13674
13724
|
}
|
|
13675
|
-
writeShieldForNPM({
|
|
13725
|
+
async writeShieldForNPM({
|
|
13676
13726
|
writer,
|
|
13677
13727
|
npm
|
|
13678
13728
|
}) {
|
|
13679
|
-
writer.write("[![npm shield]");
|
|
13680
|
-
writer.write(`(https://img.shields.io/npm/v/${npm.packageName})]`);
|
|
13681
|
-
writer.writeLine(
|
|
13729
|
+
await writer.write("[![npm shield]");
|
|
13730
|
+
await writer.write(`(https://img.shields.io/npm/v/${npm.packageName})]`);
|
|
13731
|
+
await writer.writeLine(
|
|
13732
|
+
`(https://www.npmjs.com/package/${npm.packageName})`
|
|
13733
|
+
);
|
|
13682
13734
|
}
|
|
13683
|
-
writeShieldForPyPi({
|
|
13735
|
+
async writeShieldForPyPi({
|
|
13684
13736
|
writer,
|
|
13685
13737
|
pypi
|
|
13686
13738
|
}) {
|
|
13687
|
-
writer.write("[![pypi]");
|
|
13688
|
-
writer.write(`(https://img.shields.io/pypi/v/${pypi.packageName})]`);
|
|
13689
|
-
writer.writeLine(
|
|
13739
|
+
await writer.write("[![pypi]");
|
|
13740
|
+
await writer.write(`(https://img.shields.io/pypi/v/${pypi.packageName})]`);
|
|
13741
|
+
await writer.writeLine(
|
|
13742
|
+
`(https://pypi.python.org/pypi/${pypi.packageName})`
|
|
13743
|
+
);
|
|
13690
13744
|
}
|
|
13691
|
-
writeShieldForMaven({
|
|
13745
|
+
async writeShieldForMaven({
|
|
13692
13746
|
writer,
|
|
13693
13747
|
maven
|
|
13694
13748
|
}) {
|
|
13695
|
-
writer.write("[![Maven Central]");
|
|
13696
|
-
writer.write(
|
|
13749
|
+
await writer.write("[![Maven Central]");
|
|
13750
|
+
await writer.write(
|
|
13697
13751
|
`(https://img.shields.io/maven-central/v/${maven.group}/${maven.artifact})]`
|
|
13698
13752
|
);
|
|
13699
|
-
writer.writeLine(
|
|
13753
|
+
await writer.writeLine(
|
|
13700
13754
|
`(https://central.sonatype.com/artifact/${maven.group}/${maven.artifact})`
|
|
13701
13755
|
);
|
|
13702
13756
|
}
|
|
13703
|
-
writeShieldForGo({
|
|
13757
|
+
async writeShieldForGo({
|
|
13704
13758
|
writer,
|
|
13705
13759
|
go
|
|
13706
13760
|
}) {
|
|
13707
|
-
writer.write("[![go shield]");
|
|
13708
|
-
writer.write("(https://img.shields.io/badge/go-docs-blue)]");
|
|
13709
|
-
writer.writeLine(
|
|
13761
|
+
await writer.write("[![go shield]");
|
|
13762
|
+
await writer.write("(https://img.shields.io/badge/go-docs-blue)]");
|
|
13763
|
+
await writer.writeLine(
|
|
13764
|
+
`(https://pkg.go.dev/github.com/${go.owner}/${go.repo})`
|
|
13765
|
+
);
|
|
13710
13766
|
}
|
|
13711
|
-
writeShieldForRubyGems({
|
|
13767
|
+
async writeShieldForRubyGems({
|
|
13712
13768
|
writer,
|
|
13713
13769
|
rubyGems
|
|
13714
13770
|
}) {
|
|
13715
|
-
writer.write("[![gems shield]");
|
|
13716
|
-
writer.write(
|
|
13717
|
-
|
|
13771
|
+
await writer.write("[![gems shield]");
|
|
13772
|
+
await writer.write(
|
|
13773
|
+
`(https://img.shields.io/gem/v/${rubyGems.packageName})]`
|
|
13774
|
+
);
|
|
13775
|
+
await writer.writeLine(
|
|
13776
|
+
`(https://rubygems.org/gems/${rubyGems.packageName})`
|
|
13777
|
+
);
|
|
13718
13778
|
}
|
|
13719
|
-
writeShieldForNuget({
|
|
13779
|
+
async writeShieldForNuget({
|
|
13720
13780
|
writer,
|
|
13721
13781
|
nuget
|
|
13722
13782
|
}) {
|
|
13723
|
-
writer.write("[![nuget shield]");
|
|
13724
|
-
writer.write(
|
|
13725
|
-
|
|
13783
|
+
await writer.write("[![nuget shield]");
|
|
13784
|
+
await writer.write(
|
|
13785
|
+
`(https://img.shields.io/nuget/v/${nuget.packageName})]`
|
|
13786
|
+
);
|
|
13787
|
+
await writer.writeLine(`(https://nuget.org/packages/${nuget.packageName})`);
|
|
13726
13788
|
}
|
|
13727
|
-
writeShieldForComposer({
|
|
13789
|
+
async writeShieldForComposer({
|
|
13728
13790
|
writer,
|
|
13729
13791
|
composer
|
|
13730
13792
|
}) {
|
|
13731
|
-
writer.write("[![php shield]");
|
|
13732
|
-
writer.write("(https://img.shields.io/badge/php-packagist-pink)]");
|
|
13733
|
-
writer.writeLine(
|
|
13793
|
+
await writer.write("[![php shield]");
|
|
13794
|
+
await writer.write("(https://img.shields.io/badge/php-packagist-pink)]");
|
|
13795
|
+
await writer.writeLine(
|
|
13734
13796
|
`(https://packagist.org/packages/${composer.packageName})`
|
|
13735
13797
|
);
|
|
13736
13798
|
}
|
|
@@ -13790,7 +13852,7 @@ function getMajorVersion(version) {
|
|
|
13790
13852
|
return version.split(".")[0] ?? "0";
|
|
13791
13853
|
}
|
|
13792
13854
|
function assertNever(x) {
|
|
13793
|
-
throw new Error(
|
|
13855
|
+
throw new Error(`unexpected value: ${JSON.stringify(x)}`);
|
|
13794
13856
|
}
|
|
13795
13857
|
|
|
13796
13858
|
// src/readme/ReadmeParser.ts
|
|
@@ -13816,7 +13878,8 @@ var ReadmeParser = class {
|
|
|
13816
13878
|
header += line;
|
|
13817
13879
|
continue;
|
|
13818
13880
|
}
|
|
13819
|
-
currentBlock.content += line
|
|
13881
|
+
currentBlock.content += `${line}
|
|
13882
|
+
`;
|
|
13820
13883
|
}
|
|
13821
13884
|
if (currentBlock) {
|
|
13822
13885
|
blocks.push(currentBlock);
|
|
@@ -13846,73 +13909,77 @@ var ReferenceGenerator = class {
|
|
|
13846
13909
|
}) {
|
|
13847
13910
|
this.referenceConfig = referenceConfig;
|
|
13848
13911
|
}
|
|
13849
|
-
async generate({
|
|
13912
|
+
async generate({
|
|
13913
|
+
output
|
|
13914
|
+
}) {
|
|
13850
13915
|
const writer = new StreamWriter(output);
|
|
13851
|
-
writer.writeLine("# Reference");
|
|
13916
|
+
await writer.writeLine("# Reference");
|
|
13852
13917
|
if (this.referenceConfig.rootSection != null) {
|
|
13853
|
-
this.writeRootSection({
|
|
13918
|
+
await this.writeRootSection({
|
|
13854
13919
|
section: this.referenceConfig.rootSection,
|
|
13855
13920
|
writer
|
|
13856
13921
|
});
|
|
13857
13922
|
}
|
|
13858
13923
|
for (const section of this.referenceConfig.sections) {
|
|
13859
|
-
this.writeSection({ section, writer });
|
|
13924
|
+
await this.writeSection({ section, writer });
|
|
13860
13925
|
}
|
|
13861
|
-
writer.end();
|
|
13926
|
+
await writer.end();
|
|
13862
13927
|
}
|
|
13863
|
-
writeRootSection({
|
|
13928
|
+
async writeRootSection({
|
|
13864
13929
|
section,
|
|
13865
13930
|
writer
|
|
13866
13931
|
}) {
|
|
13867
13932
|
if (section.description != null) {
|
|
13868
|
-
writer.writeLine(section.description);
|
|
13933
|
+
await writer.writeLine(section.description);
|
|
13869
13934
|
}
|
|
13870
13935
|
for (const endpoint of section.endpoints) {
|
|
13871
|
-
this.writeEndpoint({ endpoint, writer });
|
|
13936
|
+
await this.writeEndpoint({ endpoint, writer });
|
|
13872
13937
|
}
|
|
13873
13938
|
}
|
|
13874
|
-
writeSection({
|
|
13939
|
+
async writeSection({
|
|
13875
13940
|
section,
|
|
13876
13941
|
writer
|
|
13877
13942
|
}) {
|
|
13878
|
-
writer.writeLine(`## ${section.title}`);
|
|
13943
|
+
await writer.writeLine(`## ${section.title}`);
|
|
13879
13944
|
if (section.description != null) {
|
|
13880
|
-
writer.writeLine(section.description);
|
|
13945
|
+
await writer.writeLine(section.description);
|
|
13881
13946
|
}
|
|
13882
13947
|
for (const endpoint of section.endpoints) {
|
|
13883
|
-
this.writeEndpoint({ endpoint, writer });
|
|
13948
|
+
await this.writeEndpoint({ endpoint, writer });
|
|
13884
13949
|
}
|
|
13885
13950
|
}
|
|
13886
|
-
writeEndpoint({
|
|
13951
|
+
async writeEndpoint({
|
|
13887
13952
|
endpoint,
|
|
13888
13953
|
writer
|
|
13889
13954
|
}) {
|
|
13890
13955
|
const stringWriter = new StringWriter();
|
|
13891
13956
|
if (endpoint.description != null) {
|
|
13892
|
-
stringWriter.writeLine(
|
|
13957
|
+
await stringWriter.writeLine(
|
|
13893
13958
|
`#### \u{1F4DD} Description
|
|
13894
13959
|
|
|
13895
|
-
${this.
|
|
13960
|
+
${this.generateIndentedBlock(this.generateIndentedBlock(endpoint.description))}
|
|
13896
13961
|
`
|
|
13897
13962
|
);
|
|
13898
13963
|
}
|
|
13899
|
-
stringWriter.writeLine(
|
|
13964
|
+
await stringWriter.writeLine(
|
|
13900
13965
|
`#### \u{1F50C} Usage
|
|
13901
13966
|
|
|
13902
|
-
${this.
|
|
13903
|
-
this.
|
|
13904
|
-
|
|
13967
|
+
${this.generateIndentedBlock(
|
|
13968
|
+
this.generateIndentedBlock(
|
|
13969
|
+
`\`\`\`${this.referenceConfig.language.toLowerCase()}
|
|
13970
|
+
${endpoint.snippet}
|
|
13971
|
+
\`\`\``
|
|
13905
13972
|
)
|
|
13906
13973
|
)}
|
|
13907
13974
|
`
|
|
13908
13975
|
);
|
|
13909
13976
|
if (endpoint.parameters.length > 0) {
|
|
13910
|
-
stringWriter.writeLine(
|
|
13977
|
+
await stringWriter.writeLine(
|
|
13911
13978
|
`#### \u2699\uFE0F Parameters
|
|
13912
13979
|
|
|
13913
|
-
${this.
|
|
13980
|
+
${this.generateIndentedBlock(
|
|
13914
13981
|
endpoint.parameters.map(
|
|
13915
|
-
(parameter) => this.
|
|
13982
|
+
(parameter) => this.generateIndentedBlock(this.generateParameter(parameter))
|
|
13916
13983
|
).join("\n\n")
|
|
13917
13984
|
)}
|
|
13918
13985
|
`
|
|
@@ -13922,19 +13989,19 @@ ${this.writeIndentedBlock(
|
|
|
13922
13989
|
if (endpoint.title.returnValue != null) {
|
|
13923
13990
|
linkedSnippet += ` -> ${this.wrapInLink(endpoint.title.returnValue.text, endpoint.title.returnValue.location)}`;
|
|
13924
13991
|
}
|
|
13925
|
-
writer.writeLine(
|
|
13992
|
+
await writer.writeLine(
|
|
13926
13993
|
`<details><summary><code>${linkedSnippet}</code></summary>`
|
|
13927
13994
|
);
|
|
13928
|
-
writer.writeLine(this.
|
|
13929
|
-
writer.writeLine("</details>\n");
|
|
13995
|
+
await writer.writeLine(this.generateIndentedBlock(stringWriter.toString()));
|
|
13996
|
+
await writer.writeLine("</details>\n");
|
|
13930
13997
|
}
|
|
13931
|
-
|
|
13998
|
+
generateParameter(parameter) {
|
|
13932
13999
|
const desc = parameter.description?.match(/[^\r\n]+/g)?.length;
|
|
13933
14000
|
const containsLineBreak = desc != null && desc > 1;
|
|
13934
14001
|
return `**${parameter.name}:** \`${this.wrapInLink(parameter.type, parameter.location)}\` ${parameter.description != null ? (containsLineBreak ? "\n\n" : "\u2014 ") + parameter.description : ""}
|
|
13935
14002
|
`;
|
|
13936
14003
|
}
|
|
13937
|
-
|
|
14004
|
+
generateIndentedBlock(content) {
|
|
13938
14005
|
return `<dl>
|
|
13939
14006
|
<dd>
|
|
13940
14007
|
|
|
@@ -13956,13 +14023,13 @@ void yargs_default(hideBin(process.argv)).scriptName(process.env.CLI_NAME ?? "ge
|
|
|
13956
14023
|
"Generate a README.md using the provided configuration file.",
|
|
13957
14024
|
(argv) => argv.option("config", {
|
|
13958
14025
|
string: true,
|
|
13959
|
-
|
|
14026
|
+
required: true
|
|
13960
14027
|
}).option("original-readme", {
|
|
13961
14028
|
string: true,
|
|
13962
|
-
|
|
14029
|
+
required: false
|
|
13963
14030
|
}).option("output", {
|
|
13964
14031
|
string: true,
|
|
13965
|
-
|
|
14032
|
+
required: false
|
|
13966
14033
|
}),
|
|
13967
14034
|
async (argv) => {
|
|
13968
14035
|
if (argv.config == null) {
|
|
@@ -13990,10 +14057,10 @@ void yargs_default(hideBin(process.argv)).scriptName(process.env.CLI_NAME ?? "ge
|
|
|
13990
14057
|
"Generate an SDK reference (`reference.md`) using the provided configuration file.",
|
|
13991
14058
|
(argv) => argv.option("config", {
|
|
13992
14059
|
string: true,
|
|
13993
|
-
|
|
14060
|
+
required: true
|
|
13994
14061
|
}).option("output", {
|
|
13995
14062
|
string: true,
|
|
13996
|
-
|
|
14063
|
+
required: false
|
|
13997
14064
|
}),
|
|
13998
14065
|
async (argv) => {
|
|
13999
14066
|
if (argv.config == null) {
|
|
@@ -14114,7 +14181,7 @@ async function createWriteStreamFromFile(filepath) {
|
|
|
14114
14181
|
if (!await doesPathExist(filepath)) {
|
|
14115
14182
|
await (0, import_promises6.mkdir)(import_path7.default.dirname(filepath), { recursive: true });
|
|
14116
14183
|
}
|
|
14117
|
-
return
|
|
14184
|
+
return import_fs6.default.createWriteStream(filepath);
|
|
14118
14185
|
}
|
|
14119
14186
|
/*! Bundled license information:
|
|
14120
14187
|
|