File tree Expand file tree Collapse file tree 3 files changed +31
-6
lines changed Expand file tree Collapse file tree 3 files changed +31
-6
lines changed Original file line number Diff line number Diff line change @@ -5,7 +5,17 @@ import generator from './generator';
5
5
import { QwikWorkspacePresetGeneratorSchema } from './schema' ;
6
6
import { Linter } from '@nrwl/linter' ;
7
7
8
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
9
+ const devkit = require ( '@nrwl/devkit' ) ;
10
+ const getInstalledNxVersionModule = require ( '../../utils/get-installed-nx-version' ) ;
11
+
8
12
describe ( 'preset generator' , ( ) => {
13
+ jest . spyOn ( devkit , 'ensurePackage' ) . mockReturnValue ( Promise . resolve ( ) ) ;
14
+
15
+ jest
16
+ . spyOn ( getInstalledNxVersionModule , 'getInstalledNxVersion' )
17
+ . mockReturnValue ( '15.6.0' ) ;
18
+
9
19
let appTree : Tree ;
10
20
const options : QwikWorkspacePresetGeneratorSchema = {
11
21
name : 'test' ,
Original file line number Diff line number Diff line change 1
- import { Tree } from '@nrwl/devkit' ;
1
+ import { ensurePackage , Tree } from '@nrwl/devkit' ;
2
2
import { QwikWorkspacePresetGeneratorSchema } from './schema' ;
3
- import applicationGenerator from '../application/generator' ;
3
+ import { appGenerator } from '../application/generator' ;
4
+ import { getInstalledNxVersion } from '../../utils/get-installed-nx-version' ;
4
5
5
6
export default async function (
6
7
tree : Tree ,
7
8
options : QwikWorkspacePresetGeneratorSchema
8
9
) {
10
+ await ensurePackage ( tree , '@nrwl/vite' , getInstalledNxVersion ( tree ) ) ;
11
+
9
12
options . directory = '' ;
10
13
options . name = options . qwikAppName ?? options . name ;
11
14
options . style = options . qwikAppStyle ?? options . style ;
12
- return applicationGenerator ( tree , options ) ;
15
+ return appGenerator ( tree , options ) ;
13
16
}
Original file line number Diff line number Diff line change 1
1
import { readJson , Tree } from '@nrwl/devkit' ;
2
+ import { PackageJson } from 'nx/src/utils/package-json' ;
3
+
4
+ function readNxVersion ( packageJson : PackageJson ) {
5
+ return (
6
+ packageJson ?. devDependencies ?. [ 'nx' ] ??
7
+ packageJson ?. dependencies ?. [ 'nx' ] ??
8
+ packageJson ?. devDependencies ?. [ '@nrwl/workspace' ] ??
9
+ packageJson ?. dependencies ?. [ '@nrwl/workspace' ]
10
+ ) ;
11
+ }
2
12
3
13
export function getInstalledNxVersion ( tree : Tree ) : string {
4
- const pkgJson = readJson ( tree , 'package.json' ) ;
5
- if ( pkgJson . devDependencies && pkgJson . devDependencies [ '@nrwl/workspace' ] ) {
6
- return pkgJson . devDependencies [ '@nrwl/workspace' ] ;
14
+ const pkgJson : PackageJson = readJson ( tree , 'package.json' ) ;
15
+ const version = readNxVersion ( pkgJson ) ;
16
+
17
+ if ( version ) {
18
+ return version ;
7
19
}
8
20
throw new Error ( 'Could not resolve nx version from the package.json' ) ;
9
21
}
You can’t perform that action at this time.
0 commit comments