(minor) clarify var names (file -> filename); comments

This commit is contained in:
Ashley Engelund (weedySeaDragon @ github) 2022-09-07 14:15:54 -07:00
parent 6376c9ae43
commit fd567f833e
1 changed files with 21 additions and 29 deletions

View File

@ -1,9 +1,8 @@
/** /**
* @file Transform documentation source files into files suitable for publishing and optionally copy * @file Transform documentation source files into files suitable for publishing and optionally copy the transformed files from the source directory
* the transformed files from the source directory to the directory used for the final, published * to the directory used for the final, published documentation directory. The list of files transformed and copied to final documentation directory
* documentation directory. The list of files transformed and copied to final documentation * are logged to the console. If a file in the source directory has the same contents in the final directory, nothing is done (the final directory
* directory are logged to the console. If a file in the source directory has the same contents in * is up-to-date).
* the final directory, nothing is done (the final directory is up-to-date).
* @example * @example
* docs * docs
* Run with no option flags * Run with no option flags
@ -21,11 +20,10 @@
* If the --git option is used, the command `git add docs` will be run after all transformations (and/or verifications) have completed successfully * If the --git option is used, the command `git add docs` will be run after all transformations (and/or verifications) have completed successfully
* If not files were transformed, the git command is not run. * If not files were transformed, the git command is not run.
* *
* @todo Ensure that the documentation source and final paths are correct by using process.cwd() to * @todo Ensure that the documentation source and final paths are correct by using process.cwd() to get their absolute paths. Ensures that the
* get their absolute paths. Ensures that the location of those 2 directories is not dependent on * location of those 2 directories is not dependent on where this file resides.
* where this file resides.
* *
* @todo Write a test file for this. (Will need to be able to deal with globby. Jest has trouble with it. * @todo Write a test file for this. (Will need to be able to deal .mts file. Jest has trouble with it.)
*/ */
import { remark } from 'remark'; import { remark } from 'remark';
@ -57,12 +55,10 @@ const git: boolean = process.argv.includes('--git');
let filesWereTransformed = false; let filesWereTransformed = false;
/** /**
* Given a source file name and path, return the documentation destination full path and file name * Given a source file name and path, return the documentation destination full path and file name Create the destination path if it does not already exist.
* Create the destination path if it does not already exist.
* *
* @param {string} file - Name of the file (including full path) * @param {string} file - Name of the file (including full path)
* @returns {string} Name of the file with the path changed from the source directory to final * @returns {string} Name of the file with the path changed from the source directory to final documentation directory
* documentation directory
* @todo Possible Improvement: combine with lint-staged to only copy files that have changed * @todo Possible Improvement: combine with lint-staged to only copy files that have changed
*/ */
const changeToFinalDocDir = (file: string): string => { const changeToFinalDocDir = (file: string): string => {
@ -72,8 +68,7 @@ const changeToFinalDocDir = (file: string): string => {
}; };
/** /**
* Log messages to the console showing if the transformed file copied to the final documentation * Log messages to the console showing if the transformed file copied to the final documentation directory or still needs to be copied.
* directory or still needs to be copied.
* *
* @param {string} filename Name of the file that was transformed * @param {string} filename Name of the file that was transformed
* @param {boolean} wasCopied Whether or not the file was copied * @param {boolean} wasCopied Whether or not the file was copied
@ -90,25 +85,23 @@ const logWasOrShouldBeTransformed = (filename: string, wasCopied: boolean) => {
}; };
/** /**
* If the file contents were transformed, set the _filesWereTransformed_ flag to true and copy the * If the file contents were transformed, set the _filesWereTransformed_ flag to true and copy the transformed contents to the final documentation
* transformed contents to the final documentation directory if the doCopy flag is true. Log * directory if the doCopy flag is true. Log messages to the console.
* messages to the console.
* *
* @param {string} file Name of the file that will be verified * @param {string} filename Name of the file that will be verified
* @param {string} [transformedContent] New contents for the file * @param {string} [transformedContent] New contents for the file
* @param {boolean} [doCopy=false] Whether we should copy that transformedContents to the final * @param {boolean} [doCopy=false] Whether we should copy that transformedContents to the final documentation directory. Default is `false`
* documentation directory. Default is `false`
*/ */
const copyTransformedContents = ( const copyTransformedContents = (
filename: string, filename: string,
doCopy: boolean = false, doCopy: boolean = false,
transformedContent?: string transformedContent?: string
) => { ) => {
const fileInFinalDocDir = changeToFinalDocDir(file); const fileInFinalDocDir = changeToFinalDocDir(filename);
const existingBuffer = existsSync(fileInFinalDocDir) const existingBuffer = existsSync(fileInFinalDocDir)
? readFileSync(fileInFinalDocDir) ? readFileSync(fileInFinalDocDir)
: Buffer.from('#NEW FILE#'); : Buffer.from('#NEW FILE#');
const newBuffer = transformedContent ? Buffer.from(transformedContent) : readFileSync(file); const newBuffer = transformedContent ? Buffer.from(transformedContent) : readFileSync(filename);
if (existingBuffer.equals(newBuffer)) { if (existingBuffer.equals(newBuffer)) {
return; // Files are same, skip. return; // Files are same, skip.
} }
@ -120,15 +113,15 @@ const copyTransformedContents = (
logWasOrShouldBeTransformed(fileInFinalDocDir, doCopy); logWasOrShouldBeTransformed(fileInFinalDocDir, doCopy);
}; };
const readSyncedUTF8file = (file: string): string => { const readSyncedUTF8file = (filename: string): string => {
return readFileSync(file, 'utf8'); return readFileSync(filename, 'utf8');
}; };
/** /**
* Transform a markdown file and write the transformed file to the directory for published documentation * Transform a markdown file and write the transformed file to the directory for published documentation
* *
* 1. Add a `mermaid-example` block before every `mermaid` or `mmd` block On the docsify site (one * 1. Add a `mermaid-example` block before every `mermaid` or `mmd` block On the docsify site (one place where the documentation is published), this will
* place where the documentation is published), this will show the code used for the mermaid diagram * show the code used for the mermaid diagram
* 2. Add the text that says the file is automatically generated * 2. Add the text that says the file is automatically generated
* 3. Use prettier to format the file Verify that the file has been changed and write out the changes * 3. Use prettier to format the file Verify that the file has been changed and write out the changes
* *
@ -167,8 +160,7 @@ const transformMarkdown = (file: string) => {
/** /**
* Transform an HTML file and write the transformed file to the directory for published documentation * Transform an HTML file and write the transformed file to the directory for published documentation
* *
* - Add the text that says the file is automatically generated Verify that the file has been changed * - Add the text that says the file is automatically generated Verify that the file has been changed and write out the changes
* and write out the changes
* *
* @param filename {string} name of the HTML file to transform * @param filename {string} name of the HTML file to transform
*/ */