Files
medusa-store/www/apps/book/scripts/prepare.mjs
Shahed Nasser 5f7ff7f9f0 docs: add generator for llms-full.txt (#11323)
* initial

* improvements

* finished implementation

* transform links to index.html.md links

* fix for resources
2025-02-05 16:34:39 +02:00

235 lines
4.9 KiB
JavaScript

import "dotenv/config"
import path from "path"
import { sidebar } from "../sidebar.mjs"
import {
generateEditedDates,
generateLlmsFull,
generateSidebar,
} from "build-scripts"
import {
addUrlToRelativeLink,
crossProjectLinksPlugin,
localLinksRehypePlugin,
} from "remark-rehype-plugins"
async function main() {
await generateEditedDates()
await generateSidebar(sidebar, {
addNumbering: true,
})
const baseUrl =
process.env.NEXT_PUBLIC_PROD_BASE_URL || process.env.NEXT_PUBLIC_BASE_URL
await generateLlmsFull({
outputPath: path.join(process.cwd(), "public", "llms-full.txt"),
plugins: {
before: [
[
crossProjectLinksPlugin,
{
baseUrl,
projectUrls: {
resources: {
url: baseUrl,
},
"user-guide": {
url: baseUrl,
},
ui: {
url: baseUrl,
},
api: {
url: baseUrl,
},
},
useBaseUrl: true,
},
],
[localLinksRehypePlugin],
],
after: [[addUrlToRelativeLink, { url: baseUrl }]],
},
scanDirs: [
{
dir: path.join(process.cwd(), "app"),
},
{
dir: path.join(
process.cwd(),
"..",
"resources",
"app",
"commerce-modules"
),
allowedFilesPatterns: [
/^(?!.*\/(workflows|js-sdk|extend|events|admin-widget-zones)\/).*$/,
],
},
{
dir: path.join(
process.cwd(),
"..",
"resources",
"references",
"core_flows"
),
allowedFilesPatterns: [/Workflows_[^.]+\/functions/],
generator: {
name: "workflows",
options: {
baseUrl,
},
},
},
{
dir: path.join(
process.cwd(),
"..",
"resources",
"references",
"core_flows"
),
allowedFilesPatterns: [/Steps_[^.]+\/functions/],
generator: {
name: "steps",
options: {
baseUrl,
},
},
},
{
dir: path.join(process.cwd(), "..", "resources", "app", "medusa-cli"),
},
{
dir: path.join(process.cwd(), "..", "resources", "app", "medusa-cli"),
},
{
dir: path.join(process.cwd(), "..", "resources", "app", "js-sdk"),
},
{
dir: path.join(
process.cwd(),
"..",
"resources",
"references",
"js_sdk",
"admin"
),
allowedFilesPatterns: [/\/methods\//],
generator: {
name: "jsSdk",
options: {
baseUrl,
type: "Admin",
},
},
},
{
dir: path.join(
process.cwd(),
"..",
"resources",
"references",
"js_sdk",
"auth"
),
allowedFilesPatterns: [/\/methods\//],
generator: {
name: "jsSdk",
options: {
baseUrl,
type: "Auth",
},
},
},
{
dir: path.join(
process.cwd(),
"..",
"resources",
"references",
"js_sdk",
"store"
),
allowedFilesPatterns: [/\/properties\//],
generator: {
name: "jsSdk",
options: {
baseUrl,
type: "Store",
},
},
},
{
dir: path.join(
process.cwd(),
"..",
"resources",
"references",
"medusa_config",
"interfaces",
"medusa_config.ConfigModule"
),
},
{
dir: path.join(
process.cwd(),
"..",
"resources",
"app",
"admin-components"
),
},
{
dir: path.join(
process.cwd(),
"..",
"resources",
"app",
"service-factory-reference"
),
},
{
dir: path.join(process.cwd(), "..", "api-reference", "markdown"),
},
{
dir: path.join(
process.cwd(),
"..",
"api-reference",
"specs",
"admin",
"paths"
),
ext: "yaml",
generator: {
name: "apiRef",
options: {
baseUrl: `${baseUrl}/api/admin`,
type: "Admin",
},
},
},
{
dir: path.join(
process.cwd(),
"..",
"api-reference",
"specs",
"store",
"paths"
),
ext: "yaml",
generator: {
name: "apiRef",
options: {
baseUrl: `${baseUrl}/api/store`,
type: "Store",
},
},
},
],
})
}
void main()