UNPKG

@nx/angular

Version:

The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: - Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, Playwright and Cypre

84 lines (81 loc) 2.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAppConfig = getAppConfig; exports.getLibConfig = getLibConfig; exports.createApp = createApp; exports.createLib = createLib; const devkit_1 = require("@nx/devkit"); var appConfig; // configure built in createApp() var libConfig; function getAppConfig() { return appConfig; } function getLibConfig() { return libConfig; } function createApp(tree, appName, routing = true) { appName = (0, devkit_1.names)(appName).fileName; // save for getAppDir() lookup by external *.spec.ts tests appConfig = { appName, appModule: `${appName}/src/app/app-module.ts`, }; tree.write(appConfig.appModule, `import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; ${routing ? "import { RouterModule } from '@angular/router'" : ''}; import { App } from './app'; @NgModule({ imports: [BrowserModule, ${routing ? 'RouterModule.forRoot([])' : ''}], declarations: [App], bootstrap: [App] }) export class AppModule {} `); tree.write(`${appName}/src/main.ts`, `import { platformBrowser } from '@angular/platform-browser'; import { AppModule } from './app/app-module'; platformBrowser() .bootstrapModule(AppModule) .catch(err => console.log(err)); `); tree.write(`${appName}/tsconfig.app.json`, JSON.stringify({ include: ['**/*.ts'], })); tree.write(`${appName}-e2e/tsconfig.e2e.json`, JSON.stringify({ include: ['../**/*.ts'], })); (0, devkit_1.addProjectConfiguration)(tree, appName, { root: `${appName}`, sourceRoot: `${appName}/src`, targets: { build: { options: { main: `${appName}/src/main.ts`, }, }, serve: { options: {}, }, }, tags: [], }); } function createLib(tree, libName) { const { name, className, fileName, propertyName } = (0, devkit_1.names)(libName); libConfig = { name, module: `${propertyName}/src/lib/${fileName}-module.ts`, barrel: `${propertyName}/src/index.ts`, }; tree.write(libConfig.module, `import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; @NgModule({ imports: [ CommonModule ], providers: [] }) export class ${className}Module { } `); tree.write(libConfig.barrel, `export * from './lib/${fileName}-module'; `); }