UNPKG

utquidem

Version:

The meta-framework suite designed from scratch for frontend-focused modern web development.

63 lines (54 loc) 1.95 kB
import path from 'path'; import { GeneratorContext, GeneratorCore } from '@modern-js/codesmith'; import { AppAPI } from '@modern-js/codesmith-api-app'; import { DependenceGenerator, i18n } from '@modern-js/generator-common'; const getGeneratorPath = (generator: string, distTag: string) => { if (process.env.CODESMITH_ENV === 'development') { return path.dirname(require.resolve(generator)); } else if (distTag) { return `${generator}@${distTag}`; } return generator; }; export const handleTemplateFile = async ( context: GeneratorContext, generator: GeneratorCore, appApi: AppAPI, ) => { const { dependencies, peerDependencies, devDependencies } = context.config; const TailwindCSSVersion = '^2.2.19'; if (dependencies?.tailwindcss) { dependencies.tailwindcss = TailwindCSSVersion; } if (peerDependencies?.tailwindcss) { peerDependencies.tailwindcss = TailwindCSSVersion; } if (devDependencies?.tailwindcss) { devDependencies.tailwindcss = TailwindCSSVersion; } await appApi.runSubGenerator( getGeneratorPath(DependenceGenerator, context.config.distTag), undefined, { ...context.config, dependencies, devDependencies, peerDependencies, }, ); }; export default async (context: GeneratorContext, generator: GeneratorCore) => { const appApi = new AppAPI(context, generator); const { locale } = context.config; i18n.changeLanguage({ locale }); appApi.i18n.changeLanguage({ locale }); if (!(await appApi.checkEnvironment())) { // eslint-disable-next-line no-process-exit process.exit(1); } generator.logger.debug(`start run @modern-js/tailwindcss-generator`); generator.logger.debug(`context=${JSON.stringify(context)}`); generator.logger.debug(`context.data=${JSON.stringify(context.data)}`); await handleTemplateFile(context, generator, appApi); generator.logger.debug(`forge @modern-js/tailwindcss-generator succeed `); };