UNPKG

@git.zone/cli

Version:

A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.

51 lines 4.21 kB
import * as plugins from './mod.plugins.js'; import prettier from 'prettier'; import { Project } from '../classes.project.js'; import { logger } from '../gitzone.logging.js'; const prettierDefaultTypeScriptConfig = { printWidth: 100, parser: 'typescript', singleQuote: true, }; const prettierDefaultMarkdownConfig = { singleQuote: true, printWidth: 100, parser: 'markdown', }; const filesToFormat = [`ts/**/*.ts`, `test/**/*.ts`, `readme.md`, `docs/**/*.md`]; const choosePrettierConfig = (fileArg) => { switch (fileArg.parsedPath.ext) { case '.ts': return prettierDefaultTypeScriptConfig; case '.md': return prettierDefaultMarkdownConfig; default: return {}; } }; const prettierTypeScriptPipestop = plugins.through2.obj(async (fileArg, enc, cb) => { const fileString = fileArg.contentBuffer.toString(); const chosenConfig = choosePrettierConfig(fileArg); const filePasses = await prettier.check(fileString, chosenConfig); if (filePasses) { logger.log('info', `OK! -> ${fileArg.path} passes!`); cb(null); } else { logger.log('info', `${fileArg.path} is being reformated!`); const formatedFileString = await prettier.format(fileString, chosenConfig); fileArg.setContentsFromString(formatedFileString); cb(null, fileArg); } }); export const run = async (projectArg) => { const formatStreamWrapper = new plugins.smartstream.StreamWrapper([ plugins.smartgulp.src(filesToFormat), prettierTypeScriptPipestop, plugins.smartgulp.replace(), ]); await formatStreamWrapper.run().catch((error) => { console.log(error); }); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LnByZXR0aWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbW9kX2Zvcm1hdC9mb3JtYXQucHJldHRpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxNQUFNLCtCQUErQixHQUFxQjtJQUN4RCxVQUFVLEVBQUUsR0FBRztJQUNmLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLFdBQVcsRUFBRSxJQUFJO0NBQ2xCLENBQUM7QUFFRixNQUFNLDZCQUE2QixHQUFxQjtJQUN0RCxXQUFXLEVBQUUsSUFBSTtJQUNqQixVQUFVLEVBQUUsR0FBRztJQUNmLE1BQU0sRUFBRSxVQUFVO0NBQ25CLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBRWxGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxPQUFvQyxFQUFFLEVBQUU7SUFDcEUsUUFBUSxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQy9CLEtBQUssS0FBSztZQUNSLE9BQU8sK0JBQStCLENBQUM7UUFDekMsS0FBSyxLQUFLO1lBQ1IsT0FBTyw2QkFBNkIsQ0FBQztRQUN2QztZQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sMEJBQTBCLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQ3JELEtBQUssRUFBRSxPQUFvQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRTtJQUN0RCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BELE1BQU0sWUFBWSxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sVUFBVSxHQUFHLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDbEUsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFVBQVUsT0FBTyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUM7UUFDckQsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLHVCQUF1QixDQUFDLENBQUM7UUFDM0QsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzNFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2xELEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEIsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFBRSxVQUFtQixFQUFFLEVBQUU7SUFDL0MsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQ2hFLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztRQUNwQywwQkFBMEI7UUFDMUIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7S0FDNUIsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIn0=