@nx/angular 16.8.0-beta.3 → 16.8.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/migrations.json CHANGED
@@ -1345,6 +1345,15 @@
1345
1345
  "alwaysAddToPackageJson": false
1346
1346
  }
1347
1347
  }
1348
+ },
1349
+ "16.8.0": {
1350
+ "version": "16.8.0-beta.2",
1351
+ "packages": {
1352
+ "esbuild": {
1353
+ "version": "^0.19.2",
1354
+ "alwaysAddToPackageJson": false
1355
+ }
1356
+ }
1348
1357
  }
1349
1358
  }
1350
1359
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/angular",
3
- "version": "16.8.0-beta.3",
3
+ "version": "16.8.0-beta.4",
4
4
  "private": false,
5
5
  "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Upgrading AngularJS applications \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.",
6
6
  "repository": {
@@ -66,14 +66,14 @@
66
66
  "migrations": "./migrations.json"
67
67
  },
68
68
  "dependencies": {
69
- "@nrwl/angular": "16.8.0-beta.3",
70
- "@nx/cypress": "16.8.0-beta.3",
71
- "@nx/devkit": "16.8.0-beta.3",
72
- "@nx/jest": "16.8.0-beta.3",
73
- "@nx/js": "16.8.0-beta.3",
74
- "@nx/linter": "16.8.0-beta.3",
75
- "@nx/webpack": "16.8.0-beta.3",
76
- "@nx/workspace": "16.8.0-beta.3",
69
+ "@nrwl/angular": "16.8.0-beta.4",
70
+ "@nx/cypress": "16.8.0-beta.4",
71
+ "@nx/devkit": "16.8.0-beta.4",
72
+ "@nx/jest": "16.8.0-beta.4",
73
+ "@nx/js": "16.8.0-beta.4",
74
+ "@nx/linter": "16.8.0-beta.4",
75
+ "@nx/webpack": "16.8.0-beta.4",
76
+ "@nx/workspace": "16.8.0-beta.4",
77
77
  "@phenomnomnominal/tsquery": "~5.0.1",
78
78
  "@typescript-eslint/type-utils": "^5.36.1",
79
79
  "chalk": "^4.1.0",
@@ -93,7 +93,7 @@
93
93
  "@angular-devkit/schematics": ">= 14.0.0 < 17.0.0",
94
94
  "@nguniversal/builders": ">= 14.0.0 < 17.0.0",
95
95
  "@schematics/angular": ">= 14.0.0 < 17.0.0",
96
- "esbuild": "^0.17.5",
96
+ "esbuild": "^0.19.2",
97
97
  "rxjs": "^6.5.3 || ^7.5.0"
98
98
  },
99
99
  "peerDependenciesMeta": {
@@ -110,5 +110,5 @@
110
110
  "module": "fesm2022/nx-angular.mjs",
111
111
  "typings": "index.d.ts",
112
112
  "sideEffects": false,
113
- "gitHead": "dcd48165a485bc8db57a1fb02b96a0772de3b7e9"
113
+ "gitHead": "c9aad2dc8c2b34531cf61549bff872e68c481e4e"
114
114
  }
@@ -60,9 +60,11 @@ ${e.stack ? e.stack : e}`);
60
60
  return Object.assign(Object.assign({}, (0, cypress_preset_1.nxBaseCypressPreset)(pathToConfig, { testingType: 'component' })), {
61
61
  // NOTE: cannot use a glob pattern since it will break cypress generated tsconfig.
62
62
  specPattern: ['src/**/*.cy.ts', 'src/**/*.cy.js'],
63
- // cypress defaults to a relative path from the workspaceRoot instead of projectRoot
64
- // set as absolute path in case this changes internally to cypress, this path isn't OS dependent
65
- indexHtmlFile: (0, devkit_1.joinPathFragments)(ctContext.root, ctProjectConfig.root, 'cypress', 'support', 'component-index.html'), devServer: Object.assign(Object.assign({}, {
63
+ // Cy v12.17.0+ does not work with aboslute paths for index file
64
+ // but does with relative pathing, since relative path is the default location, we can omit it
65
+ indexHtmlFile: requiresAbsolutePath()
66
+ ? (0, devkit_1.joinPathFragments)(ctContext.root, ctProjectConfig.root, 'cypress', 'support', 'component-index.html')
67
+ : undefined, devServer: Object.assign(Object.assign({}, {
66
68
  framework: 'angular',
67
69
  bundler: 'webpack',
68
70
  }), { options: {
@@ -250,8 +252,7 @@ function getTempStylesForTailwind(ctExecutorContext) {
250
252
  }
251
253
  function isOffsetNeeded(ctExecutorContext, ctProjectConfig) {
252
254
  try {
253
- const { version = null } = require('cypress/package.json');
254
- const supportsWorkspaceRoot = !!version && (0, semver_1.gte)(version, '12.9.0');
255
+ const supportsWorkspaceRoot = isCyVersionGreaterThanOrEqual('12.9.0');
255
256
  // if using cypress <v12.9.0 then we require the offset
256
257
  if (!supportsWorkspaceRoot) {
257
258
  return true;
@@ -274,3 +275,32 @@ function isOffsetNeeded(ctExecutorContext, ctProjectConfig) {
274
275
  return true;
275
276
  }
276
277
  }
278
+ /**
279
+ * check if the cypress version is able to understand absolute paths to the indexHtmlFile option
280
+ * this is required for nx to work with cypress <v12.17.0 since the relative pathing is causes issues
281
+ * with invalid pathing.
282
+ * v12.17.0+ works with relative pathing
283
+ *
284
+ * if there is an error thrown then we assume it is an older version of cypress and use the absolute path
285
+ * as that was supported for longer.
286
+ *
287
+ * */
288
+ function requiresAbsolutePath() {
289
+ try {
290
+ return !isCyVersionGreaterThanOrEqual('12.17.0');
291
+ }
292
+ catch (e) {
293
+ if (process.env.NX_VERBOSE_LOGGING === 'true') {
294
+ devkit_1.logger.error(e);
295
+ }
296
+ return true;
297
+ }
298
+ }
299
+ /**
300
+ * Checks if the install cypress version is greater than or equal to the provided version.
301
+ * Does not catch errors as any custom logic for error handling is required on consumer side.
302
+ * */
303
+ function isCyVersionGreaterThanOrEqual(version) {
304
+ const { version: cyVersion = null } = require('cypress/package.json');
305
+ return !!cyVersion && (0, semver_1.gte)(cyVersion, version);
306
+ }
@@ -35,6 +35,11 @@ function addLintingGenerator(tree, options) {
35
35
  .read((0, devkit_1.joinPathFragments)(options.projectRoot, eslintFile), 'utf8')
36
36
  .includes(`${options.projectRoot}/tsconfig.*?.json`);
37
37
  (0, eslint_file_1.replaceOverridesInLintConfig)(tree, options.projectRoot, [
38
+ {
39
+ files: ['*.json'],
40
+ parser: 'jsonc-eslint-parser',
41
+ rules: {},
42
+ },
38
43
  Object.assign(Object.assign({ files: ['*.ts'] }, (hasParserOptions
39
44
  ? {
40
45
  parserOptions: {
@@ -5,10 +5,12 @@ const devkit_1 = require("@nx/devkit");
5
5
  const version_utils_1 = require("../../utils/version-utils");
6
6
  function addAngularEsLintDependencies(tree) {
7
7
  const angularEslintVersionToInstall = (0, version_utils_1.versions)(tree).angularEslintVersion;
8
+ const jsoncEslintParserVersionToInstall = (0, version_utils_1.versions)(tree).jsoncEslintParserVersion;
8
9
  return (0, devkit_1.addDependenciesToPackageJson)(tree, {}, {
9
10
  '@angular-eslint/eslint-plugin': angularEslintVersionToInstall,
10
11
  '@angular-eslint/eslint-plugin-template': angularEslintVersionToInstall,
11
12
  '@angular-eslint/template-parser': angularEslintVersionToInstall,
13
+ 'jsonc-eslint-parser': jsoncEslintParserVersionToInstall,
12
14
  });
13
15
  }
14
16
  exports.addAngularEsLintDependencies = addAngularEsLintDependencies;
@@ -35,7 +35,7 @@ function componentGenerator(tree, rawOptions) {
35
35
  const pathToTemplateFile = (0, devkit_1.joinPathFragments)(options.directory, `${componentNames.fileName}.${typeNames.fileName}.html`);
36
36
  tree.delete(pathToTemplateFile);
37
37
  }
38
- if (options.inlineStyle) {
38
+ if (options.style === 'none' || options.inlineStyle) {
39
39
  const pathToStyleFile = (0, devkit_1.joinPathFragments)(options.directory, `${componentNames.fileName}.${typeNames.fileName}.${options.style}`);
40
40
  tree.delete(pathToStyleFile);
41
41
  }
@@ -12,7 +12,7 @@ import<% if(standalone) { %> bootstrap <% } else { %> { AppServerModule } <% } %
12
12
  // The Express app is exported so that it can be used by serverless Functions.
13
13
  export function app(): express.Express {
14
14
  const server = express();
15
- const browserBundles = join(process.cwd(), 'dist/apps/<%= appName %>/browser');
15
+ const browserBundles = join(process.cwd(), '<%= browserBundleOutput %>');
16
16
 
17
17
  server.use(cors());
18
18
  const indexHtml = existsSync(join(browserBundles, 'index.original.html'))
@@ -15,8 +15,10 @@ function addSsr(tree, options, appName) {
15
15
  });
16
16
  tree.rename((0, devkit_1.joinPathFragments)(project.sourceRoot, 'main.server.ts'), (0, devkit_1.joinPathFragments)(project.sourceRoot, 'bootstrap.server.ts'));
17
17
  tree.write((0, devkit_1.joinPathFragments)(project.root, 'server.ts'), "import('./src/main.server');");
18
+ const browserBundleOutput = (0, devkit_1.joinPathFragments)(project.targets.build.options.outputPath, 'browser');
18
19
  (0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, '../files'), project.root, {
19
20
  appName,
21
+ browserBundleOutput,
20
22
  standalone: options.standalone,
21
23
  tmpl: '',
22
24
  });
@@ -12,8 +12,8 @@ import<% if(standalone) { %> bootstrap <% } else { %> { AppServerModule } <% } %
12
12
  // The Express app is exported so that it can be used by serverless Functions.
13
13
  export function app(): express.Express {
14
14
  const server = express();
15
- const browserBundles = join(process.cwd(), 'dist/apps/<%= appName %>/browser');
16
- const serverBundles = join(process.cwd(), 'dist/apps/<%= appName %>/server');
15
+ const browserBundles = join(process.cwd(), '<%= browserBundleOutput %>');
16
+ const serverBundles = join(process.cwd(), '<%= serverBundleOutput %>');
17
17
 
18
18
  server.use(cors());
19
19
  const indexHtml = existsSync(join(browserBundles, 'index.original.html'))
@@ -15,8 +15,12 @@ function addSsr(tree, { appName, port, standalone, }) {
15
15
  });
16
16
  tree.rename((0, devkit_1.joinPathFragments)(project.sourceRoot, 'main.server.ts'), (0, devkit_1.joinPathFragments)(project.sourceRoot, 'bootstrap.server.ts'));
17
17
  tree.write((0, devkit_1.joinPathFragments)(project.root, 'server.ts'), "import('./src/main.server');");
18
+ const browserBundleOutput = (0, devkit_1.joinPathFragments)(project.targets.build.options.outputPath, 'browser');
19
+ const serverBundleOutput = (0, devkit_1.joinPathFragments)(project.targets.build.options.outputPath, 'server');
18
20
  (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '../files/base'), project.root, {
19
21
  appName,
22
+ browserBundleOutput,
23
+ serverBundleOutput,
20
24
  standalone,
21
25
  tmpl: '',
22
26
  });
@@ -16,7 +16,7 @@ function generateTestApplication(tree, options) {
16
16
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
17
17
  addAngularPluginPeerDeps(tree);
18
18
  tree.write('.gitignore', '');
19
- yield (0, application_1.applicationGenerator)(tree, options);
19
+ yield (0, application_1.applicationGenerator)(tree, Object.assign({ projectNameAndRootFormat: 'as-provided' }, options));
20
20
  });
21
21
  }
22
22
  exports.generateTestApplication = generateTestApplication;
@@ -24,7 +24,7 @@ function generateTestHostApplication(tree, options) {
24
24
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
25
25
  addAngularPluginPeerDeps(tree);
26
26
  tree.write('.gitignore', '');
27
- yield (0, host_1.host)(tree, options);
27
+ yield (0, host_1.host)(tree, Object.assign({ projectNameAndRootFormat: 'as-provided' }, options));
28
28
  });
29
29
  }
30
30
  exports.generateTestHostApplication = generateTestHostApplication;
@@ -32,7 +32,7 @@ function generateTestRemoteApplication(tree, options) {
32
32
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
33
33
  addAngularPluginPeerDeps(tree);
34
34
  tree.write('.gitignore', '');
35
- yield (0, remote_1.remote)(tree, options);
35
+ yield (0, remote_1.remote)(tree, Object.assign({ projectNameAndRootFormat: 'as-provided' }, options));
36
36
  });
37
37
  }
38
38
  exports.generateTestRemoteApplication = generateTestRemoteApplication;
@@ -40,7 +40,7 @@ function generateTestLibrary(tree, options) {
40
40
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
41
41
  addAngularPluginPeerDeps(tree);
42
42
  tree.write('.gitignore', '');
43
- yield (0, library_1.libraryGenerator)(tree, options);
43
+ yield (0, library_1.libraryGenerator)(tree, Object.assign({ projectNameAndRootFormat: 'as-provided' }, options));
44
44
  });
45
45
  }
46
46
  exports.generateTestLibrary = generateTestLibrary;
@@ -57,12 +57,13 @@ function createStorybookTestWorkspaceForLib(libName) {
57
57
  simpleName: false,
58
58
  skipFormat: false,
59
59
  unitTestRunner: test_runners_1.UnitTestRunner.Jest,
60
+ projectNameAndRootFormat: 'as-provided',
60
61
  });
61
62
  yield (0, component_1.componentGenerator)(tree, {
62
63
  name: 'test-button',
63
64
  project: libName,
64
65
  });
65
- tree.write(`libs/${libName}/src/lib/test-button/test-button.component.ts`, `import { Component, Input } from '@angular/core';
66
+ tree.write(`${libName}/src/lib/test-button/test-button.component.ts`, `import { Component, Input } from '@angular/core';
66
67
 
67
68
  export type ButtonStyle = 'default' | 'primary' | 'accent';
68
69
 
@@ -77,8 +78,8 @@ export class TestButtonComponent {
77
78
  @Input() age?: number;
78
79
  @Input() isOn = false;
79
80
  }`);
80
- tree.write(`libs/${libName}/src/lib/test-button/test-button.component.html`, `<button [attr.type]="type" [ngClass]="style"></button>`);
81
- const modulePath = `libs/${libName}/src/lib/${libName}.module.ts`;
81
+ tree.write(`${libName}/src/lib/test-button/test-button.component.html`, `<button [attr.type]="type" [ngClass]="style"></button>`);
82
+ const modulePath = `${libName}/src/lib/${libName}.module.ts`;
82
83
  tree.write(modulePath, `import * as ButtonExports from './test-button/test-button.component';
83
84
  ${tree.read(modulePath)}`);
84
85
  // create a module with component that gets exported in a barrel file
@@ -89,11 +90,11 @@ export class TestButtonComponent {
89
90
  yield (0, component_1.componentGenerator)(tree, {
90
91
  name: 'barrel-button',
91
92
  project: libName,
92
- path: `libs/${libName}/src/lib/barrel`,
93
+ path: `${libName}/src/lib/barrel`,
93
94
  module: 'barrel',
94
95
  });
95
- tree.write(`libs/${libName}/src/lib/barrel/barrel-button/index.ts`, `export * from './barrel-button.component';`);
96
- tree.write(`libs/${libName}/src/lib/barrel/barrel.module.ts`, `import { NgModule } from '@angular/core';
96
+ tree.write(`${libName}/src/lib/barrel/barrel-button/index.ts`, `export * from './barrel-button.component';`);
97
+ tree.write(`${libName}/src/lib/barrel/barrel.module.ts`, `import { NgModule } from '@angular/core';
97
98
  import { CommonModule } from '@angular/common';
98
99
  import { BarrelButtonComponent } from './barrel-button';
99
100
 
@@ -110,16 +111,16 @@ export class BarrelModule {}`);
110
111
  yield (0, component_1.componentGenerator)(tree, {
111
112
  name: 'variable-declare-button',
112
113
  project: libName,
113
- path: `libs/${libName}/src/lib/variable-declare`,
114
+ path: `${libName}/src/lib/variable-declare`,
114
115
  module: 'variable-declare',
115
116
  });
116
117
  yield (0, component_1.componentGenerator)(tree, {
117
118
  name: 'variable-declare-view',
118
119
  project: libName,
119
- path: `libs/${libName}/src/lib/variable-declare`,
120
+ path: `${libName}/src/lib/variable-declare`,
120
121
  module: 'variable-declare',
121
122
  });
122
- tree.write(`libs/${libName}/src/lib/variable-declare/variable-declare.module.ts`, `import { NgModule } from '@angular/core';
123
+ tree.write(`${libName}/src/lib/variable-declare/variable-declare.module.ts`, `import { NgModule } from '@angular/core';
123
124
  import { CommonModule } from '@angular/common';
124
125
  import { VariableDeclareButtonComponent } from './variable-declare-button/variable-declare-button.component';
125
126
  import { VariableDeclareViewComponent } from './variable-declare-view/variable-declare-view.component';
@@ -143,22 +144,22 @@ export class VariableDeclareModule {}`);
143
144
  yield (0, component_1.componentGenerator)(tree, {
144
145
  name: 'variable-spread-declare-button',
145
146
  project: libName,
146
- path: `libs/${libName}/src/lib/variable-spread-declare`,
147
+ path: `${libName}/src/lib/variable-spread-declare`,
147
148
  module: 'variable-spread-declare',
148
149
  });
149
150
  yield (0, component_1.componentGenerator)(tree, {
150
151
  name: 'variable-spread-declare-view',
151
152
  project: libName,
152
- path: `libs/${libName}/src/lib/variable-spread-declare`,
153
+ path: `${libName}/src/lib/variable-spread-declare`,
153
154
  module: 'variable-spread-declare',
154
155
  });
155
156
  yield (0, component_1.componentGenerator)(tree, {
156
157
  name: 'variable-spread-declare-anotherview',
157
158
  project: libName,
158
- path: `libs/${libName}/src/lib/variable-spread-declare`,
159
+ path: `${libName}/src/lib/variable-spread-declare`,
159
160
  module: 'variable-spread-declare',
160
161
  });
161
- tree.write(`libs/${libName}/src/lib/variable-spread-declare/variable-spread-declare.module.ts`, `import { NgModule } from '@angular/core';
162
+ tree.write(`${libName}/src/lib/variable-spread-declare/variable-spread-declare.module.ts`, `import { NgModule } from '@angular/core';
162
163
  import { CommonModule } from '@angular/common';
163
164
  import { VariableSpreadDeclareButtonComponent } from './variable-spread-declare-button/variable-spread-declare-button.component';
164
165
  import { VariableSpreadDeclareViewComponent } from './variable-spread-declare-view/variable-spread-declare-view.component';
@@ -182,16 +183,16 @@ export class VariableSpreadDeclareModule {}`);
182
183
  yield (0, component_1.componentGenerator)(tree, {
183
184
  name: 'cmp1',
184
185
  project: libName,
185
- path: `libs/${libName}/src/lib/static-member-declarations`,
186
+ path: `${libName}/src/lib/static-member-declarations`,
186
187
  module: 'static-member-declarations',
187
188
  });
188
189
  yield (0, component_1.componentGenerator)(tree, {
189
190
  name: 'cmp2',
190
191
  project: libName,
191
- path: `libs/${libName}/src/lib/static-member-declarations`,
192
+ path: `${libName}/src/lib/static-member-declarations`,
192
193
  module: 'static-member-declarations',
193
194
  });
194
- tree.write(`libs/${libName}/src/lib/static-member-declarations/static-member-declarations.module.ts`, `import { NgModule } from '@angular/core';
195
+ tree.write(`${libName}/src/lib/static-member-declarations/static-member-declarations.module.ts`, `import { NgModule } from '@angular/core';
195
196
  import { CommonModule } from '@angular/common';
196
197
  import { Cmp1Component } from './cmp1/cmp1.component';
197
198
  import { Cmp2Component } from './cmp2/cmp2.component';
@@ -208,13 +209,13 @@ export class StaticMemberDeclarationsModule {
208
209
  generateModule(tree, {
209
210
  name: 'nested',
210
211
  project: libName,
211
- path: `libs/${libName}/src/lib`,
212
+ path: `${libName}/src/lib`,
212
213
  });
213
214
  yield (0, component_1.componentGenerator)(tree, {
214
215
  name: 'nested-button',
215
216
  project: libName,
216
217
  module: 'nested',
217
- path: `libs/${libName}/src/lib/nested`,
218
+ path: `${libName}/src/lib/nested`,
218
219
  });
219
220
  yield (0, component_1.componentGenerator)(tree, {
220
221
  name: 'test-other',
@@ -28,6 +28,7 @@ exports.backwardCompatibleVersions = {
28
28
  jestPresetAngularVersion: '~12.2.3',
29
29
  typesNodeVersion: '16.11.7',
30
30
  jasmineMarblesVersion: '^0.9.2',
31
+ jsoncEslintParserVersion: '^2.1.0',
31
32
  },
32
33
  angularV15: {
33
34
  angularVersion: '~15.2.0',
@@ -55,5 +56,6 @@ exports.backwardCompatibleVersions = {
55
56
  jestPresetAngularVersion: '~13.0.0',
56
57
  typesNodeVersion: '16.11.7',
57
58
  jasmineMarblesVersion: '^0.9.2',
59
+ jsoncEslintParserVersion: '^2.1.0',
58
60
  },
59
61
  };
@@ -17,7 +17,7 @@ function createApp(tree, appName, routing = true) {
17
17
  // save for getAppDir() lookup by external *.spec.ts tests
18
18
  appConfig = {
19
19
  appName,
20
- appModule: `/apps/${appName}/src/app/app.module.ts`,
20
+ appModule: `${appName}/src/app/app.module.ts`,
21
21
  };
22
22
  tree.write(appConfig.appModule, `
23
23
  import { NgModule } from '@angular/core';
@@ -31,7 +31,7 @@ function createApp(tree, appName, routing = true) {
31
31
  })
32
32
  export class AppModule {}
33
33
  `);
34
- tree.write(`/apps/${appName}/src/main.ts`, `
34
+ tree.write(`${appName}/src/main.ts`, `
35
35
  import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
36
36
 
37
37
  import { AppModule } from './app/app.module';
@@ -40,19 +40,19 @@ function createApp(tree, appName, routing = true) {
40
40
  .bootstrapModule(AppModule)
41
41
  .catch(err => console.log(err));
42
42
  `);
43
- tree.write(`/apps/${appName}/tsconfig.app.json`, JSON.stringify({
43
+ tree.write(`${appName}/tsconfig.app.json`, JSON.stringify({
44
44
  include: ['**/*.ts'],
45
45
  }));
46
- tree.write(`/apps/${appName}-e2e/tsconfig.e2e.json`, JSON.stringify({
46
+ tree.write(`${appName}-e2e/tsconfig.e2e.json`, JSON.stringify({
47
47
  include: ['../**/*.ts'],
48
48
  }));
49
49
  (0, devkit_1.addProjectConfiguration)(tree, appName, {
50
- root: `apps/${appName}`,
51
- sourceRoot: `apps/${appName}/src`,
50
+ root: `${appName}`,
51
+ sourceRoot: `${appName}/src`,
52
52
  targets: {
53
53
  build: {
54
54
  options: {
55
- main: `apps/${appName}/src/main.ts`,
55
+ main: `${appName}/src/main.ts`,
56
56
  },
57
57
  },
58
58
  serve: {
@@ -67,8 +67,8 @@ function createLib(tree, libName) {
67
67
  const { name, className, fileName, propertyName } = (0, devkit_1.names)(libName);
68
68
  libConfig = {
69
69
  name,
70
- module: `/libs/${propertyName}/src/lib/${fileName}.module.ts`,
71
- barrel: `/libs/${propertyName}/src/index.ts`,
70
+ module: `${propertyName}/src/lib/${fileName}.module.ts`,
71
+ barrel: `${propertyName}/src/index.ts`,
72
72
  };
73
73
  tree.write(libConfig.module, `
74
74
  import { NgModule } from '@angular/core';
@@ -24,3 +24,4 @@ export declare const tsNodeVersion = "10.9.1";
24
24
  export declare const jestPresetAngularVersion = "~13.1.0";
25
25
  export declare const typesNodeVersion = "16.11.7";
26
26
  export declare const jasmineMarblesVersion = "^0.9.2";
27
+ export declare const jsoncEslintParserVersion = "^2.1.0";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.jasmineMarblesVersion = exports.typesNodeVersion = exports.jestPresetAngularVersion = exports.tsNodeVersion = exports.autoprefixerVersion = exports.postcssUrlVersion = exports.postcssPresetEnvVersion = exports.postcssImportVersion = exports.postcssVersion = exports.tailwindVersion = exports.angularEslintVersion = exports.moduleFederationNodeVersion = exports.typesExpressVersion = exports.expressVersion = exports.typesCorsVersion = exports.corsVersion = exports.ngUniversalVersion = exports.tsLibVersion = exports.angularJsVersion = exports.zoneJsVersion = exports.rxjsVersion = exports.ngrxVersion = exports.ngPackagrVersion = exports.angularDevkitVersion = exports.angularVersion = exports.nxVersion = void 0;
3
+ exports.jsoncEslintParserVersion = exports.jasmineMarblesVersion = exports.typesNodeVersion = exports.jestPresetAngularVersion = exports.tsNodeVersion = exports.autoprefixerVersion = exports.postcssUrlVersion = exports.postcssPresetEnvVersion = exports.postcssImportVersion = exports.postcssVersion = exports.tailwindVersion = exports.angularEslintVersion = exports.moduleFederationNodeVersion = exports.typesExpressVersion = exports.expressVersion = exports.typesCorsVersion = exports.corsVersion = exports.ngUniversalVersion = exports.tsLibVersion = exports.angularJsVersion = exports.zoneJsVersion = exports.rxjsVersion = exports.ngrxVersion = exports.ngPackagrVersion = exports.angularDevkitVersion = exports.angularVersion = exports.nxVersion = void 0;
4
4
  exports.nxVersion = require('../../package.json').version;
5
5
  exports.angularVersion = '~16.2.0';
6
6
  exports.angularDevkitVersion = '~16.2.0';
@@ -27,3 +27,4 @@ exports.tsNodeVersion = '10.9.1';
27
27
  exports.jestPresetAngularVersion = '~13.1.0';
28
28
  exports.typesNodeVersion = '16.11.7';
29
29
  exports.jasmineMarblesVersion = '^0.9.2';
30
+ exports.jsoncEslintParserVersion = '^2.1.0';