mirror of
https://github.com/Raghu-Ch/angular-challenges.git
synced 2026-02-10 12:53:03 -05:00
52 lines
1.4 KiB
TypeScript
52 lines
1.4 KiB
TypeScript
import {
|
|
applicationGenerator,
|
|
E2eTestRunner,
|
|
UnitTestRunner,
|
|
} from '@nx/angular/generators';
|
|
import { formatFiles, generateFiles, names, Tree } from '@nx/devkit';
|
|
import { Linter } from '@nx/linter';
|
|
import { join } from 'path';
|
|
import { getProjectDir } from '../../utils/normalize';
|
|
import { Schema } from './schema';
|
|
|
|
export async function appGenerator(tree: Tree, options: Schema) {
|
|
const { appDirectory } = getProjectDir(options.name, options.directory);
|
|
|
|
await applicationGenerator(tree, {
|
|
...options,
|
|
style: 'scss',
|
|
routing: false,
|
|
inlineStyle: true,
|
|
inlineTemplate: true,
|
|
prefix: 'app',
|
|
unitTestRunner: options.addTest ? UnitTestRunner.Jest : UnitTestRunner.None,
|
|
e2eTestRunner: E2eTestRunner.None,
|
|
linter: Linter.EsLint,
|
|
addTailwind: true,
|
|
standalone: true,
|
|
skipTests: true,
|
|
});
|
|
|
|
generateFiles(tree, join(__dirname, 'files', 'app'), appDirectory, {
|
|
tmpl: '',
|
|
});
|
|
tree.delete(join(appDirectory, './src/app/nx-welcome.component.ts'));
|
|
|
|
generateFiles(tree, join(__dirname, 'files', 'readme'), appDirectory, {
|
|
tmpl: '',
|
|
projectName: names(options.name).name,
|
|
title: options.title,
|
|
challengeNumber: options.challengeNumber,
|
|
});
|
|
|
|
if (options.addTest) {
|
|
generateFiles(tree, join(__dirname, 'files', 'test'), appDirectory, {
|
|
tmpl: '',
|
|
});
|
|
}
|
|
|
|
await formatFiles(tree);
|
|
}
|
|
|
|
export default appGenerator;
|