58 lines
1.4 KiB
TypeScript
58 lines
1.4 KiB
TypeScript
import { join } from 'path';
|
|
import { NormalizedSchema } from './normalize-options';
|
|
import {
|
|
createAppJsx,
|
|
createStyleRules,
|
|
} from './create-application-files.helpers';
|
|
import {
|
|
generateFiles,
|
|
names,
|
|
offsetFromRoot,
|
|
toJS,
|
|
Tree,
|
|
updateTsConfigsToJs,
|
|
} from '@nrwl/devkit';
|
|
|
|
export function createApplicationFiles(host: Tree, options: NormalizedSchema) {
|
|
const templateVariables = {
|
|
...names(options.name),
|
|
...options,
|
|
tmpl: '',
|
|
offsetFromRoot: offsetFromRoot(options.appProjectRoot),
|
|
appContent: createAppJsx(options.name),
|
|
styleContent: createStyleRules(),
|
|
pageStyleContent: `.page {}`,
|
|
stylesExt:
|
|
options.style === 'less' || options.style === 'styl'
|
|
? options.style
|
|
: 'css',
|
|
};
|
|
|
|
generateFiles(
|
|
host,
|
|
join(__dirname, '../files'),
|
|
options.appProjectRoot,
|
|
templateVariables
|
|
);
|
|
|
|
if (options.unitTestRunner === 'none') {
|
|
host.delete(`${options.appProjectRoot}/specs/${options.fileName}.spec.tsx`);
|
|
}
|
|
|
|
if (options.styledModule) {
|
|
host.delete(
|
|
`${options.appProjectRoot}/pages/${options.fileName}.module.${options.style}`
|
|
);
|
|
}
|
|
|
|
if (options.style !== 'styled-components') {
|
|
host.delete(`${options.appProjectRoot}/pages/_document.tsx`);
|
|
}
|
|
|
|
if (options.js) {
|
|
host.delete(`${options.appProjectRoot}/index.d.ts`);
|
|
toJS(host);
|
|
host.delete(`${options.appProjectRoot}/next-env.d.js`);
|
|
}
|
|
}
|