44 lines
1 KiB
JavaScript
44 lines
1 KiB
JavaScript
// @ts-check
|
|
|
|
/*
|
|
This script will generate content for the code editor's markdown docs. To change
|
|
the docs, edit the file at `state/code/docs.md`.
|
|
*/
|
|
|
|
const fs = require('fs/promises')
|
|
const root = process.cwd()
|
|
|
|
async function inlineFileContents(path) {
|
|
console.log(`📄 Inlining contents of ${path}`)
|
|
const text = await fs.readFile(`${root}${path}`, 'utf-8')
|
|
return text.replaceAll('`', '\\`')
|
|
}
|
|
|
|
async function copyDocsToDocsContentFile() {
|
|
console.log('⚙️ Generating docs-content.ts')
|
|
|
|
const content =
|
|
`
|
|
/* eslint-disable */
|
|
|
|
// HEY! DO NOT MODIFY THIS FILE. THE CONTENTS OF THIS FILE
|
|
// ARE AUTO-GENERATED BY A SCRIPT AT: /scripts/docs-gen.js
|
|
// ANY CHANGES WILL BE LOST WHEN THE SCRIPT RUNS AGAIN!
|
|
|
|
export default {` +
|
|
`
|
|
name: "docs-content.ts",
|
|
content: \`
|
|
${await inlineFileContents('/state/code/docs.md')}
|
|
\`}`
|
|
|
|
await fs.writeFile(
|
|
__dirname + '/../components/code-panel/docs-content.ts',
|
|
content
|
|
)
|
|
|
|
console.log('✅ Process complete')
|
|
}
|
|
|
|
// Kickoff
|
|
copyDocsToDocsContentFile()
|