@@ -30,6 +30,7 @@ async function validateCreateQwikCli() {
3030 const cliPkgJsonPath = join ( cliDir , 'package.json' ) ;
3131 const cliPkgJson = JSON . parse ( readFileSync ( cliPkgJsonPath , 'utf-8' ) ) ;
3232 assert . strictEqual ( cliPkgJson . name , 'create-qwik' ) ;
33+ const qwikVersion = cliPkgJson . version ;
3334
3435 const startersDir = join ( cliDir , 'dist' , 'starters' ) ;
3536 accessSync ( startersDir ) ;
@@ -44,9 +45,9 @@ async function validateCreateQwikCli() {
4445 const tmpDir = join ( __dirname , '..' , 'dist-dev' ) ;
4546
4647 await Promise . all ( [
47- validateStarter ( api , tmpDir , 'playground' , true , `👻` ) ,
48- validateStarter ( api , tmpDir , 'empty' , true , `🫙` ) ,
49- validateStarter ( api , tmpDir , 'library' , false , `📚` ) ,
48+ validateStarter ( api , tmpDir , 'playground' , true , `👻` , qwikVersion ) ,
49+ validateStarter ( api , tmpDir , 'empty' , true , `🫙` , qwikVersion ) ,
50+ validateStarter ( api , tmpDir , 'library' , false , `📚` , qwikVersion ) ,
5051 ] ) . catch ( ( e ) => {
5152 console . error ( e ) ;
5253 panic ( String ( e ) ) ;
@@ -60,7 +61,8 @@ async function validateStarter(
6061 distDir : string ,
6162 starterId : string ,
6263 app : boolean ,
63- emoji : string
64+ emoji : string ,
65+ qwikVersion : string
6466) {
6567 const appDir = join ( distDir , 'e2e-' + starterId ) ;
6668
@@ -80,6 +82,8 @@ async function validateStarter(
8082 const appPkgJsonPath = join ( result . outDir , 'package.json' ) ;
8183 const appPkgJson = JSON . parse ( readFileSync ( appPkgJsonPath , 'utf-8' ) ) ;
8284
85+ assertRightQwikDepsVersions ( appPkgJson , qwikVersion , starterId ) ;
86+
8387 // Ensure that npm will use an existing version
8488 appPkgJson . devDependencies [ '@builder.io/qwik' ] = 'latest' ;
8589 appPkgJson . devDependencies [ '@builder.io/qwik-city' ] = 'latest' ;
@@ -143,6 +147,28 @@ async function validateStarter(
143147 console . log ( `${ emoji } ${ starterId } validated\n` ) ;
144148}
145149
150+ function assertRightQwikDepsVersions ( appPkgJson : any , qwikVersion : string , starterType : string ) {
151+ assert . strictEqual (
152+ appPkgJson . devDependencies [ '@builder.io/qwik' ] . includes ( qwikVersion ) ,
153+ true ,
154+ `Qwik version mismatch for "${ starterType } " starter`
155+ ) ;
156+ if ( appPkgJson . devDependencies . hasOwnProperty ( '@builder.io/qwik-city' ) ) {
157+ assert . strictEqual (
158+ appPkgJson . devDependencies [ '@builder.io/qwik-city' ] . includes ( qwikVersion ) ,
159+ true ,
160+ `Qwik City version mismatch for "${ starterType } " starter`
161+ ) ;
162+ }
163+ if ( appPkgJson . devDependencies . hasOwnProperty ( 'eslint-plugin-qwik' ) ) {
164+ assert . strictEqual (
165+ appPkgJson . devDependencies [ 'eslint-plugin-qwik' ] . includes ( qwikVersion ) ,
166+ true ,
167+ `ESlint plugin version mismatch for "${ starterType } " starter`
168+ ) ;
169+ }
170+ }
171+
146172function cpSync ( src : string , dest : string ) {
147173 // cpSync() not available until Node v16.7.0
148174 try {
0 commit comments