Skip to content
This repository has been archived by the owner on Aug 26, 2021. It is now read-only.

Commit

Permalink
Updated script to minify and remove comments for transpiling
Browse files Browse the repository at this point in the history
  • Loading branch information
Adam A. Zerella committed Feb 14, 2019
1 parent 5c2935f commit 5f243f9
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 35 deletions.
52 changes: 21 additions & 31 deletions scripts/generate-readme/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,45 +8,22 @@ const { GetMonoDepTree, PrintTreeTrim } = require( 'pkg-dep-tree' );
// Local Dependencies
const { GetFolders } = require( './helper' );
const Config = require( './config' );
const { Render, RenderExample } = require( './renderer' );
const { RenderHTML } = require( './renderer' );


/**
*
* @param {filePath} reactSource
* @param {object} reactSource - Object of file paths
*/
const RenderReactDocs = async ( reactSource ) => {
const GenerateReactProps = async ( reactSource ) => {
let templateData = await JSDoc.getTemplateData( reactSource );

return templateData
templateData = templateData
.map( item => {
return { name } = item;
return { 'name': item.name, 'description': item.description };
})


// console.log( templateData );
// console.log( await JSDoc.getJsdocData( reactSource ) );
// return await JSDoc.getTemplateData( reactSource );
}

const GenerateReactProps = async( reactSourceFile ) => {
return await RenderReactDocs( { files: reactSourceFile } );
}

const GenerateDocPage = async () => {
let components = await GetFolders( Config.workspace );

let markdown = ''

// Append React component comments to OVERVIEW.md file
markdown += await RenderReactDocs( { files: `${components[ 0 ]}/src/react/react.js` }, 'utf-8' );

// let html = Render( markdown );
// html += `<style>${ Config.prismTheme }</style>`

// console.log( html );
return markdown
// Fsp.writeFile( `index.html`, html );
return JSON.stringify( templateData, null, 4 );
}


Expand All @@ -58,6 +35,8 @@ const GenerateDocPage = async () => {
let packageNamePlain = packageMeta.name.split('/')[1]

let sourceFiles = { "files": `${ components[ 0 ] }/src/react/react.js` }
let sourceFileContent = await Fsp.readFile( sourceFiles.files, `utf-8` );

let readme = `${packageMeta.name}
---
Expand All @@ -73,9 +52,20 @@ npm i ${packageMeta.name}
\`\`\`
## Usage
### HTML
\`\`\`html
${ RenderHTML( sourceFileContent ) }
\`\`\`
### React
\`\`\`jsx
todo
\`\`\`
## Props
${ await RenderReactDocs( sourceFiles ) }
\`\`\`json
${ await GenerateReactProps( sourceFiles ) }
\`\`\`
## Dependency Graph
\`\`\`bash
Expand Down
16 changes: 12 additions & 4 deletions scripts/generate-readme/src/renderer.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ const PrismLanguage = require( 'prismjs/components/');
const TransformCode = ( code ) => {
return Babel.transform( code, {
presets: [ '@babel/preset-react', '@babel/preset-env' ],
minified: true,
comments: false
}).code;
}

Expand All @@ -38,15 +40,19 @@ const FormatHTML = ( html, react ) => {

/**
*
* @param {string} react
* @param {string} react - The react source file contents
*/
const RenderHTML = ( react ) => {
// Parse React code to commonJS
let commonJS = TransformCode( react );

// Extract HTML from common react code
let html = ReactDOMServer.renderToStaticMarkup( eval( commonJS ) );

return html;

// Add styling and escaping to HTML
return FormatHTML( html, react );
// return FormatHTML( html, react );
}

/**
Expand Down Expand Up @@ -94,5 +100,7 @@ const RenderMarkdownCode = ( markdown ) => {
return Marked( markdown, { renderer: MarkdownRenderer, breaks: true } );
}

module.exports.Render = RenderMarkdownCode;
module.exports.RenderExample = RenderExample;
// module.exports.Render = RenderMarkdownCode;
// module.exports.RenderExample = RenderExample;
module.exports.RenderHTML = RenderHTML;
// module.exports.RenderJSX = RenderJSX;

0 comments on commit 5f243f9

Please sign in to comment.