File tree Expand file tree Collapse file tree 10 files changed +29
-9
lines changed
packages/schematics/angular Expand file tree Collapse file tree 10 files changed +29
-9
lines changed Original file line number Diff line number Diff line change @@ -32,7 +32,8 @@ export default function (options: ClassOptions): Rule {
32
32
const project = workspace . projects [ options . project ] ;
33
33
34
34
if ( options . path === undefined ) {
35
- options . path = `/${ project . root } /src/app` ;
35
+ const projectDirName = project . projectType === 'application' ? 'app' : 'lib' ;
36
+ options . path = `/${ project . root } /src/${ projectDirName } ` ;
36
37
}
37
38
38
39
options . type = ! ! options . type ? `.${ options . type } ` : '' ;
Original file line number Diff line number Diff line change @@ -113,7 +113,8 @@ export default function(options: ComponentOptions): Rule {
113
113
const project = workspace . projects [ options . project ] ;
114
114
115
115
if ( options . path === undefined ) {
116
- options . path = `/${ project . root } /src/app` ;
116
+ const projectDirName = project . projectType === 'application' ? 'app' : 'lib' ;
117
+ options . path = `/${ project . root } /src/${ projectDirName } ` ;
117
118
}
118
119
119
120
options . module = findModuleFromOptions ( host , options ) ;
Original file line number Diff line number Diff line change @@ -110,7 +110,8 @@ export default function (options: DirectiveOptions): Rule {
110
110
const project = workspace . projects [ options . project ] ;
111
111
112
112
if ( options . path === undefined ) {
113
- options . path = `/${ project . root } /src/app` ;
113
+ const projectDirName = project . projectType === 'application' ? 'app' : 'lib' ;
114
+ options . path = `/${ project . root } /src/${ projectDirName } ` ;
114
115
}
115
116
116
117
options . module = findModuleFromOptions ( host , options ) ;
Original file line number Diff line number Diff line change @@ -32,7 +32,8 @@ export default function (options: EnumOptions): Rule {
32
32
const project = workspace . projects [ options . project ] ;
33
33
34
34
if ( options . path === undefined ) {
35
- options . path = `/${ project . root } /src/app` ;
35
+ const projectDirName = project . projectType === 'application' ? 'app' : 'lib' ;
36
+ options . path = `/${ project . root } /src/${ projectDirName } ` ;
36
37
}
37
38
38
39
const parsedPath = parseName ( options . path , options . name ) ;
Original file line number Diff line number Diff line change @@ -74,7 +74,8 @@ export default function (options: GuardOptions): Rule {
74
74
const project = workspace . projects [ options . project ] ;
75
75
76
76
if ( options . path === undefined ) {
77
- options . path = `/${ project . root } /src/app` ;
77
+ const projectDirName = project . projectType === 'application' ? 'app' : 'lib' ;
78
+ options . path = `/${ project . root } /src/${ projectDirName } ` ;
78
79
}
79
80
80
81
if ( options . module ) {
Original file line number Diff line number Diff line change @@ -32,7 +32,8 @@ export default function (options: InterfaceOptions): Rule {
32
32
const project = workspace . projects [ options . project ] ;
33
33
34
34
if ( options . path === undefined ) {
35
- options . path = `/${ project . root } /src/app` ;
35
+ const projectDirName = project . projectType === 'application' ? 'app' : 'lib' ;
36
+ options . path = `/${ project . root } /src/${ projectDirName } ` ;
36
37
}
37
38
38
39
const parsedPath = parseName ( options . path , options . name ) ;
Original file line number Diff line number Diff line change 8
8
import { SchematicTestRunner , UnitTestTree } from '@angular-devkit/schematics/testing' ;
9
9
import * as path from 'path' ;
10
10
import { getFileContent } from '../../angular/utility/test' ;
11
+ import { Schema as ComponentOptions } from '../component/schema' ;
11
12
import { latestVersions } from '../utility/latest-versions' ;
12
13
import { Schema as WorkspaceOptions } from '../workspace/schema' ;
13
14
import { Schema as GenerateLibrarySchema } from './schema' ;
@@ -203,4 +204,14 @@ describe('Library Schematic', () => {
203
204
expect ( tsConfigJson . compilerOptions . paths ) . toBeUndefined ( ) ;
204
205
} ) ;
205
206
} ) ;
207
+
208
+ it ( 'should generate inside of a library' , ( ) => {
209
+ let tree = schematicRunner . runSchematic ( 'library' , defaultOptions , workspaceTree ) ;
210
+ const componentOptions : ComponentOptions = {
211
+ name : 'comp' ,
212
+ project : 'foo' ,
213
+ } ;
214
+ tree = schematicRunner . runSchematic ( 'component' , componentOptions , tree ) ;
215
+ expect ( tree . exists ( '/projects/foo/src/lib/comp/comp.component.ts' ) ) . toBe ( true ) ;
216
+ } ) ;
206
217
} ) ;
Original file line number Diff line number Diff line change @@ -79,7 +79,8 @@ export default function (options: ModuleOptions): Rule {
79
79
const project = workspace . projects [ options . project ] ;
80
80
81
81
if ( options . path === undefined ) {
82
- options . path = `/${ project . root } /src/app` ;
82
+ const projectDirName = project . projectType === 'application' ? 'app' : 'lib' ;
83
+ options . path = `/${ project . root } /src/${ projectDirName } ` ;
83
84
}
84
85
if ( options . module ) {
85
86
options . module = findModuleFromOptions ( host , options ) ;
Original file line number Diff line number Diff line change @@ -94,7 +94,8 @@ export default function (options: PipeOptions): Rule {
94
94
const project = workspace . projects [ options . project ] ;
95
95
96
96
if ( options . path === undefined ) {
97
- options . path = `/${ project . root } /src/app` ;
97
+ const projectDirName = project . projectType === 'application' ? 'app' : 'lib' ;
98
+ options . path = `/${ project . root } /src/${ projectDirName } ` ;
98
99
}
99
100
100
101
const parsedPath = parseName ( options . path , options . name ) ;
Original file line number Diff line number Diff line change @@ -31,7 +31,8 @@ export default function (options: ServiceOptions): Rule {
31
31
const project = workspace . projects [ options . project ] ;
32
32
33
33
if ( options . path === undefined ) {
34
- options . path = `/${ project . root } /src/app` ;
34
+ const projectDirName = project . projectType === 'application' ? 'app' : 'lib' ;
35
+ options . path = `/${ project . root } /src/${ projectDirName } ` ;
35
36
}
36
37
37
38
const parsedPath = parseName ( options . path , options . name ) ;
You can’t perform that action at this time.
0 commit comments