* 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
66 lines
1.6 KiB
JavaScript
Executable File
66 lines
1.6 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
const fs = require("fs/promises")
|
|
const os = require("os")
|
|
const path = require("path")
|
|
const execa = require("execa")
|
|
|
|
const isDryRun = process.argv.indexOf("--dry-run") !== -1
|
|
const basePath = path.resolve(__dirname, `../`)
|
|
const repoRootPath = path.resolve(basePath, `../../../`)
|
|
const docsApiPath = path.resolve(repoRootPath, "www/apps/api-reference/specs")
|
|
|
|
const run = async () => {
|
|
const oasOutDir = isDryRun ? await getTmpDirectory() : docsApiPath
|
|
for (const apiType of ["store", "admin"]) {
|
|
await generateOASSource(oasOutDir, apiType)
|
|
const oasSrcFile = path.resolve(oasOutDir, `${apiType}.oas.json`)
|
|
const docsOutDir = path.resolve(oasOutDir, apiType)
|
|
await generateDocs(oasSrcFile, docsOutDir, isDryRun)
|
|
}
|
|
}
|
|
|
|
const generateOASSource = async (outDir, apiType) => {
|
|
const { all: logs } = await execa(
|
|
"medusa-oas",
|
|
["oas", `--type=${apiType}`, `--out-dir=${outDir}`],
|
|
{ cwd: basePath, all: true }
|
|
)
|
|
console.log(logs)
|
|
}
|
|
|
|
const generateDocs = async (srcFile, outDir, isDryRun) => {
|
|
const params = [
|
|
"docs",
|
|
`--src-file=${srcFile}`,
|
|
`--out-dir=${outDir}`,
|
|
`--clean`,
|
|
`--split`,
|
|
]
|
|
if (isDryRun) {
|
|
params.push("--dry-run")
|
|
}
|
|
const { all: logs } = await execa("medusa-oas", params, {
|
|
cwd: basePath,
|
|
all: true,
|
|
})
|
|
console.log(logs)
|
|
}
|
|
|
|
const getTmpDirectory = async () => {
|
|
/**
|
|
* RUNNER_TEMP: GitHub action, the path to a temporary directory on the runner.
|
|
*/
|
|
const tmpDir = process.env["RUNNER_TEMP"] ?? os.tmpdir()
|
|
return await fs.mkdtemp(tmpDir)
|
|
}
|
|
|
|
void (async () => {
|
|
try {
|
|
await run()
|
|
} catch (err) {
|
|
console.log(err)
|
|
process.exit(1)
|
|
}
|
|
})()
|