aboutsummaryrefslogtreecommitdiff
path: root/.github/devcontainers-action/lib/generateDocs.js
diff options
context:
space:
mode:
Diffstat (limited to '.github/devcontainers-action/lib/generateDocs.js')
-rw-r--r--.github/devcontainers-action/lib/generateDocs.js25
1 files changed, 14 insertions, 11 deletions
diff --git a/.github/devcontainers-action/lib/generateDocs.js b/.github/devcontainers-action/lib/generateDocs.js
index 1250ffc..5db6322 100644
--- a/.github/devcontainers-action/lib/generateDocs.js
+++ b/.github/devcontainers-action/lib/generateDocs.js
@@ -46,7 +46,7 @@ const FEATURES_README_TEMPLATE = `
\`\`\`json
"features": {
- "#{Nwo}/#{Id}@#{VersionTag}": {
+ "#{Registry}/#{Namespace}/#{Id}:#{Version}": {
"version": "latest"
}
}
@@ -69,9 +69,9 @@ const TEMPLATE_README_TEMPLATE = `
#{OptionsTable}
`;
-function generateFeaturesDocumentation(basePath) {
+function generateFeaturesDocumentation(basePath, ociRegistry, namespace) {
return __awaiter(this, void 0, void 0, function* () {
- yield _generateDocumentation(basePath, FEATURES_README_TEMPLATE, 'devcontainer-feature.json');
+ yield _generateDocumentation(basePath, FEATURES_README_TEMPLATE, 'devcontainer-feature.json', ociRegistry, namespace);
});
}
exports.generateFeaturesDocumentation = generateFeaturesDocumentation;
@@ -81,7 +81,7 @@ function generateTemplateDocumentation(basePath) {
});
}
exports.generateTemplateDocumentation = generateTemplateDocumentation;
-function _generateDocumentation(basePath, readmeTemplate, metadataFile) {
+function _generateDocumentation(basePath, readmeTemplate, metadataFile, ociRegistry = '', namespace = '') {
return __awaiter(this, void 0, void 0, function* () {
const directories = fs.readdirSync(basePath);
yield Promise.all(directories.map((f) => __awaiter(this, void 0, void 0, function* () {
@@ -107,13 +107,15 @@ function _generateDocumentation(basePath, readmeTemplate, metadataFile) {
return;
}
const srcInfo = (0, utils_1.getGitHubMetadata)();
- const ref = srcInfo.ref;
const owner = srcInfo.owner;
const repo = srcInfo.repo;
- // Add tag if parseable
- let versionTag = 'latest';
- if (ref && ref.includes('refs/tags/')) {
- versionTag = ref.replace('refs/tags/', '');
+ // Add version
+ let version = 'latest';
+ const parsedVersion = parsedJson === null || parsedJson === void 0 ? void 0 : parsedJson.version;
+ if (parsedVersion) {
+ // example - 1.0.0
+ const splitVersion = parsedVersion.split('.');
+ version = splitVersion[0];
}
const generateOptionsMarkdown = () => {
const options = parsedJson === null || parsedJson === void 0 ? void 0 : parsedJson.options;
@@ -141,8 +143,9 @@ function _generateDocumentation(basePath, readmeTemplate, metadataFile) {
.replace('#{Description}', (_a = parsedJson.description) !== null && _a !== void 0 ? _a : '')
.replace('#{OptionsTable}', generateOptionsMarkdown())
// Features Only
- .replace('#{Nwo}', `${owner}/${repo}`)
- .replace('#{VersionTag}', versionTag)
+ .replace('#{Registry}', ociRegistry)
+ .replace('#{Namespace}', namespace == '<owner>/<repo>' ? `${owner}/${repo}` : namespace)
+ .replace('#{Version}', version)
// Templates Only
.replace('#{ManifestName}', (_c = (_b = parsedJson === null || parsedJson === void 0 ? void 0 : parsedJson.image) === null || _b === void 0 ? void 0 : _b.manifest) !== null && _c !== void 0 ? _c : '')
.replace('#{RepoUrl}', urlToConfig);