chore: Fix freshness check script + update Linear SDK (#12991)
* chore: update Linear SDK in docs tools * fix script * use relative file path * use relative file path
This commit is contained in:
@@ -15,6 +15,7 @@ const linearClient = new LinearClient({
|
|||||||
})
|
})
|
||||||
|
|
||||||
const __dirname = getDirname(import.meta.url)
|
const __dirname = getDirname(import.meta.url)
|
||||||
|
const monorepoRoot = path.join(__dirname, "..", "..", "..", "..", "..")
|
||||||
|
|
||||||
let freshnessCheckLabelId = ""
|
let freshnessCheckLabelId = ""
|
||||||
let documentationTeamId = ""
|
let documentationTeamId = ""
|
||||||
@@ -28,7 +29,7 @@ async function scanDirectory(startPath: string) {
|
|||||||
const filePath = path.join(startPath, file.name)
|
const filePath = path.join(startPath, file.name)
|
||||||
if (file.isDirectory()) {
|
if (file.isDirectory()) {
|
||||||
//if it's references directory, skip
|
//if it's references directory, skip
|
||||||
if (file.name !== "references" && file.name !== "upgrade-guides") {
|
if (file.name !== "references") {
|
||||||
await scanDirectory(filePath)
|
await scanDirectory(filePath)
|
||||||
}
|
}
|
||||||
continue
|
continue
|
||||||
@@ -40,12 +41,14 @@ async function scanDirectory(startPath: string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//if it is a file, check its commits in GitHub
|
//if it is a file, check its commits in GitHub
|
||||||
|
// retrieve relative path to monorepo root
|
||||||
|
const relativeFilePath = path.relative(monorepoRoot, filePath)
|
||||||
const commitResponse = await octokit.request(
|
const commitResponse = await octokit.request(
|
||||||
"GET /repos/{owner}/{repo}/commits",
|
"GET /repos/{owner}/{repo}/commits",
|
||||||
{
|
{
|
||||||
owner: "medusajs",
|
owner: "medusajs",
|
||||||
repo: "medusa",
|
repo: "medusa",
|
||||||
path: filePath,
|
path: relativeFilePath,
|
||||||
per_page: 1,
|
per_page: 1,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@@ -62,7 +65,7 @@ async function scanDirectory(startPath: string) {
|
|||||||
commitResponse.data[0].commit.committer.date
|
commitResponse.data[0].commit.committer.date
|
||||||
)
|
)
|
||||||
const monthsSinceEdited = getMonthDifference(lastEditedDate, today)
|
const monthsSinceEdited = getMonthDifference(lastEditedDate, today)
|
||||||
const monthsThreshold = 2
|
const monthsThreshold = 6
|
||||||
|
|
||||||
if (monthsSinceEdited > monthsThreshold) {
|
if (monthsSinceEdited > monthsThreshold) {
|
||||||
//file was edited more than 6 months ago.
|
//file was edited more than 6 months ago.
|
||||||
@@ -73,7 +76,7 @@ async function scanDirectory(startPath: string) {
|
|||||||
gte: subtractMonths(monthsSinceEdited - monthsThreshold, today),
|
gte: subtractMonths(monthsSinceEdited - monthsThreshold, today),
|
||||||
},
|
},
|
||||||
title: {
|
title: {
|
||||||
containsIgnoreCase: `Freshness check for ${filePath}`,
|
containsIgnoreCase: relativeFilePath,
|
||||||
},
|
},
|
||||||
labels: {
|
labels: {
|
||||||
some: {
|
some: {
|
||||||
@@ -91,14 +94,14 @@ async function scanDirectory(startPath: string) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(`Creating an issue for ${filePath}...`)
|
console.log(`Creating an issue for ${relativeFilePath}...`)
|
||||||
|
|
||||||
//there are no issues in the past 6 months. Create an issue
|
//there are no issues in the past 6 months. Create an issue
|
||||||
await linearClient.issueCreate({
|
await linearClient.createIssue({
|
||||||
teamId: documentationTeamId,
|
teamId: documentationTeamId,
|
||||||
title: `Freshness check for ${filePath}`,
|
title: `Freshness check for ${relativeFilePath}`,
|
||||||
labelIds: [freshnessCheckLabelId],
|
labelIds: [freshnessCheckLabelId],
|
||||||
description: `File \`${filePath}\` was last edited on ${lastEditedDate.toDateString()}.`,
|
description: `File \`${relativeFilePath}\` was last edited on ${lastEditedDate.toDateString()}. Please review and update the content if necessary.`,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -145,32 +148,17 @@ async function main() {
|
|||||||
|
|
||||||
freshnessCheckLabelId = freshnessCheckLabel.nodes[0].id
|
freshnessCheckLabelId = freshnessCheckLabel.nodes[0].id
|
||||||
|
|
||||||
|
await scanDirectory(path.join(monorepoRoot, "www", "apps", "book", "app"))
|
||||||
await scanDirectory(
|
await scanDirectory(
|
||||||
path.join(__dirname, "..", "..", "..", "..", "apps", "book", "app")
|
path.join(monorepoRoot, "www", "apps", "resources", "app")
|
||||||
)
|
)
|
||||||
await scanDirectory(
|
await scanDirectory(
|
||||||
path.join(__dirname, "..", "..", "..", "..", "apps", "resources", "app")
|
path.join(monorepoRoot, "www", "apps", "user-guide", "app")
|
||||||
)
|
)
|
||||||
await scanDirectory(
|
await scanDirectory(
|
||||||
path.join(__dirname, "..", "..", "..", "..", "apps", "user-guide", "app")
|
path.join(monorepoRoot, "www", "apps", "ui", "src", "content", "docs")
|
||||||
)
|
|
||||||
await scanDirectory(
|
|
||||||
path.join(
|
|
||||||
__dirname,
|
|
||||||
"..",
|
|
||||||
"..",
|
|
||||||
"..",
|
|
||||||
"..",
|
|
||||||
"apps",
|
|
||||||
"ui",
|
|
||||||
"src",
|
|
||||||
"content",
|
|
||||||
"docs"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
await scanDirectory(
|
|
||||||
path.join(__dirname, "..", "..", "..", "..", "apps", "cloud", "app")
|
|
||||||
)
|
)
|
||||||
|
await scanDirectory(path.join(monorepoRoot, "www", "apps", "cloud", "app"))
|
||||||
}
|
}
|
||||||
|
|
||||||
function getMonthDifference(startDate: Date, endDate: Date) {
|
function getMonthDifference(startDate: Date, endDate: Date) {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
"type": "module",
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.10.1",
|
"@actions/core": "^1.10.1",
|
||||||
"@linear/sdk": "^1.22.0",
|
"@linear/sdk": "^52.0.0",
|
||||||
"@octokit/core": "^4.0.5",
|
"@octokit/core": "^4.0.5",
|
||||||
"chalk": "^5.3.0",
|
"chalk": "^5.3.0",
|
||||||
"glob": "^10.3.10",
|
"glob": "^10.3.10",
|
||||||
|
|||||||
@@ -736,14 +736,14 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@linear/sdk@npm:^1.22.0":
|
"@linear/sdk@npm:^52.0.0":
|
||||||
version: 1.22.0
|
version: 52.0.0
|
||||||
resolution: "@linear/sdk@npm:1.22.0"
|
resolution: "@linear/sdk@npm:52.0.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@graphql-typed-document-node/core": ^3.1.0
|
"@graphql-typed-document-node/core": ^3.1.0
|
||||||
graphql: ^15.4.0
|
graphql: ^15.4.0
|
||||||
isomorphic-unfetch: ^3.1.0
|
isomorphic-unfetch: ^3.1.0
|
||||||
checksum: 7e8f24f617631d027fd606334a498b04014d4c33603bcb3e08073d14f86260d116597983567f8bc147a935e4557180158175b52b9a9a8a270a234b946894a82b
|
checksum: 438a11988a79ebe85a2d621f32d444640faf467f3014f7626dab55f12fd6c5b787cd69e3075357987d174e20a2985f28992ad8251fdf6e8736c860e1a00b8c18
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -5477,7 +5477,7 @@ __metadata:
|
|||||||
resolution: "scripts@workspace:packages/scripts"
|
resolution: "scripts@workspace:packages/scripts"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@actions/core": ^1.10.1
|
"@actions/core": ^1.10.1
|
||||||
"@linear/sdk": ^1.22.0
|
"@linear/sdk": ^52.0.0
|
||||||
"@octokit/core": ^4.0.5
|
"@octokit/core": ^4.0.5
|
||||||
"@types/node": ^20.12.10
|
"@types/node": ^20.12.10
|
||||||
"@types/randomcolor": ^0.5.8
|
"@types/randomcolor": ^0.5.8
|
||||||
|
|||||||
Reference in New Issue
Block a user