Files
medusa-store/scripts/doc-change-release.js
Shahed Nasser fa7c94b4cc docs: create docs workspace (#5174)
* docs: migrate ui docs to docs universe

* created yarn workspace

* added eslint and tsconfig configurations

* fix eslint configurations

* fixed eslint configurations

* shared tailwind configurations

* added shared ui package

* added more shared components

* migrating more components

* made details components shared

* move InlineCode component

* moved InputText

* moved Loading component

* Moved Modal component

* moved Select components

* Moved Tooltip component

* moved Search components

* moved ColorMode provider

* Moved Notification components and providers

* used icons package

* use UI colors in api-reference

* moved Navbar component

* used Navbar and Search in UI docs

* added Feedback to UI docs

* general enhancements

* fix color mode

* added copy colors file from ui-preset

* added features and enhancements to UI docs

* move Sidebar component and provider

* general fixes and preparations for deployment

* update docusaurus version

* adjusted versions

* fix output directory

* remove rootDirectory property

* fix yarn.lock

* moved code component

* added vale for all docs MD and MDX

* fix tests

* fix vale error

* fix deployment errors

* change ignore commands

* add output directory

* fix docs test

* general fixes

* content fixes

* fix announcement script

* added changeset

* fix vale checks

* added nofilter option

* fix vale error
2023-09-21 20:57:15 +03:00

65 lines
1.9 KiB
JavaScript

#!/usr/bin/env node
const { Octokit } = require("@octokit/core");
const fs = require('fs');
const path = require('path');
const shouldExpire = process.argv.indexOf('--expire') !== -1;
const octokit = new Octokit({
auth: process.env.GH_TOKEN
});
async function main () {
let announcement = {};
if (shouldExpire) {
//check if the file was last updated 6 days ago
try {
const commitResponse = await octokit.request('GET /repos/{owner}/{repo}/commits', {
owner: 'medusajs',
repo: 'medusa',
path: path.join('www', "apps", 'docs', 'announcement.json'),
per_page: 1
})
if (commitResponse.data.length && dateDiffInDays(new Date(commitResponse.data[0].commit.committer.date), new Date()) < 6) {
console.log("File was edited less than 6 days ago. Expiry canceled.");
return;
}
} catch (e) {
//continue as if file doesn't exist
}
} else {
//retrieve the latest release
const response = await octokit.request('GET /repos/{owner}/{repo}/releases/latest', {
owner: 'medusajs',
repo: 'medusa'
});
const version = response.data.tag_name;
//add new announcement
announcement = {
id: response.data.html_url,
content: `${version} is out`,
isCloseable: true,
}
}
//write new config file
fs.writeFileSync(path.join(__dirname, '..', 'www', "apps", 'docs', 'announcement.json'), JSON.stringify(announcement));
console.log(`Announcement Bar has been ${shouldExpire ? 'removed' : 'added'}`);
}
const _MS_PER_DAY = 1000 * 60 * 60 * 24;
// a and b are javascript Date objects
function dateDiffInDays(a, b) {
// Discard the time and time-zone information.
const utc1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate());
const utc2 = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate());
return Math.floor((utc2 - utc1) / _MS_PER_DAY);
}
main();