UNPKG

@sytone/markdown-snippet-injector

Version:

The MarkDown snippet injector generates MD code snippets by extracting them from the source code of your projects.

124 lines 5.34 kB
#!/usr/bin/env node "use strict"; /* eslint-disable import/extensions */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.injectSnippets = exports.loadSnippets = void 0; // Types const path = __importStar(require("node:path")); const process = __importStar(require("node:process")); const args_1 = __importDefault(require("./args")); const log_1 = require("./log"); const snippet_injector_1 = require("./snippet-injector"); let snippetInjector; // eslint-disable-next-line unicorn/prefer-top-level-await void (async () => { const argv = await (0, args_1.default)(process.argv); snippetInjector = new snippet_injector_1.SnippetInjector(argv); log_1.log.setLevel(argv.logLevel); log_1.log.debug('argv:', argv); log_1.log.info('Loading Snippets from Source Files under', argv.root); await loadSnippets(argv).catch(error => { log_1.log.error(error); process.exit(1); }); log_1.log.info('Injecting Snippets into Document Files under', argv.docsRoot); await injectSnippets(argv).catch(error => { log_1.log.error(error); process.exit(1); }); process.exit(0); })(); /** * Load snippets procedure entrypoint, called by the CLI. */ async function loadSnippets(options) { log_1.log.info('Loading snippets from', path.normalize(options.root)); snippetInjector.process(path.normalize(options.root)); } exports.loadSnippets = loadSnippets; /** * Injection procedure entrypoint, called by the CLI. */ async function injectSnippets(options) { log_1.log.info('Injecting snippets to', path.normalize(options.docsRoot)); snippetInjector.injectSnippets(path.normalize(options.docsRoot)); // Const outArchive = new JSZip() // const outPath = await destination.resolve(opts) // await fs.mkdir(outPath.dir, { recursive: true }) // const pathList = await packlist({ path: opts.source }) // const archivePromises = pathList.map(async file => { // await archive.addPath( // outArchive, // opts, // path.resolve(opts.source), // path.resolve(opts.source, file), // ) // }) // if (opts.addRootNodeModules) { // await archive.addRootNodeModules(outArchive, opts) // log.verbose('Added pnpm workspace node modules') // } else { // log.debug('Skipping pnpm workspace node modules') // } // await Promise.all(archivePromises) // log.debug('All paths processed') // if (opts.staticDateModified) { // Object.entries(outArchive.files).forEach(([name, file]) => { // log.debug('Setting static date for', name) // file.date = util.staticDate // }) // } else { // log.debug('Not setting static dates') // } // const output = outArchive.generateAsync({ type: 'nodebuffer' }) // await fs.writeFile(outPath.path, await output) // log.info('Packaged contents to', outPath.path) } exports.injectSnippets = injectSnippets; // Declare var require; // import {SnippetInjector} from "./snippet-injector"; // var yargsModule = require("yargs"); // var rootDirectory = yargsModule.argv.root; // var docsRoot = yargsModule.argv.docsroot; // if (rootDirectory === undefined) { // throw new Error("Root of snippet sources not defined. Please specify sources root by using the --root parameter."); // } // if (docsRoot === undefined) { // throw new Error("Root of documentation sources not defined. Please specify documentation root by using the --docsroot parameter."); // } // var snippetInjector = new SnippetInjector(); // snippetInjector.toWrap = yargsModule.argv.w; // snippetInjector.sourceFileExtensionFilter = yargsModule.argv.sourceext || ".ts"; // snippetInjector.targetFileExtensionFilter = yargsModule.argv.targetext || ".md"; // snippetInjector.placeholderPrefix = yargsModule.argv.placeholderPrefix || "%%"; // snippetInjector.placeholderSuffix =yargsModule.argv.placeholderSuffix || "%%"; // snippetInjector.snippetTitles = yargsModule.argv.snippettitles; // snippetInjector.process(rootDirectory); // snippetInjector.injectSnippets(docsRoot); //# sourceMappingURL=index.js.map