import * as plugins from './mod.plugins.js'; import * as paths from '../paths.js'; import { GitzoneConfig } from '../classes.gitzoneconfig.js'; import { Project } from '../classes.project.js'; export const run = async (projectArg: Project) => { const readmePath = plugins.path.join(paths.cwd, 'readme.md'); const readmeFile = await plugins.smartfile.SmartFile.fromFilePath(readmePath); // lets do our transformation let usageInfo: string = ''; const gitzoneConfig = await GitzoneConfig.fromCwd(); if (readmeFile) { const readmeFileString = readmeFile.contentBuffer.toString(); const stringArray1 = readmeFileString.split('## Usage\n'); if (stringArray1[1]) { const stringArray2 = stringArray1[1].split( '\nFor further information read the linked docs at the top of this readme.' ); const stringArray3 = stringArray2[0].split('\n\n## Contribution'); usageInfo = stringArray3[0]; } } if (gitzoneConfig.data.module && gitzoneConfig.data.module.license === 'MIT') { usageInfo += '\n\n## Contribution\n\n' + 'We are always happy for code contributions. If you are not the code contributing type that is ok. ' + 'Still, maintaining Open Source repositories takes considerable time and thought. ' + 'If you like the quality of what we do and our modules are useful to you we would appreciate a little monthly contribution: ' + 'You can [contribute one time](https://lossless.link/contribute-onetime) or [contribute monthly](https://lossless.link/contribute). :)\n'; } const templateModule = await import('../mod_template/index.js'); const readmeTemplate = await templateModule.getTemplate('readme'); console.log(gitzoneConfig.data); await readmeTemplate.supplyVariables({ module: { ...gitzoneConfig.data.module, }, usageInfo, }); await readmeTemplate.askCliForMissingVariables(); await readmeTemplate.writeToDisk(paths.cwd); };