* 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
65 lines
1.9 KiB
JavaScript
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(); |