1- import { deepStrictEqual , ok , strictEqual } from "assert" ;
1+ import { ok , strictEqual } from "assert" ;
22import { beforeEach , describe , expect , it } from "vitest" ;
33import { parse } from "yaml" ;
44import { InitTemplate } from "../../src/init/init-template.js" ;
@@ -38,18 +38,40 @@ async function runTemplate(
3838}
3939
4040describe ( "libraries" , ( ) => {
41+ it ( "adds libraries to peer and dev dependencies fields" , async ( ) => {
42+ await runTemplate ( {
43+ target : "library" ,
44+ libraries : [ { name : "bar" } ] ,
45+ } ) ;
46+
47+ const pkgJson = JSON . parse ( getOutputFile ( "package.json" ) ! ) ;
48+
49+ expect ( pkgJson . peerDependencies ) . toEqual ( {
50+ "@typespec/compiler" : "latest" ,
51+ bar : "latest" ,
52+ } ) ;
53+ expect ( pkgJson . devDependencies ) . toEqual ( {
54+ "@typespec/compiler" : "latest" ,
55+ bar : "latest" ,
56+ } ) ;
57+ expect ( pkgJson . dependencies ) . toBeUndefined ( ) ;
58+ } ) ;
59+
4160 it ( "templates can contain specific library versions to use" , async ( ) => {
4261 await runTemplate ( {
62+ target : "library" ,
4363 libraries : [ { name : "foo" , version : "~1.2.3" } , { name : "bar" } ] ,
4464 } ) ;
4565
46- deepStrictEqual ( JSON . parse ( getOutputFile ( "package.json" ) ! ) . peerDependencies , {
66+ const pkgJson = JSON . parse ( getOutputFile ( "package.json" ) ! ) ;
67+
68+ expect ( pkgJson . peerDependencies ) . toEqual ( {
4769 "@typespec/compiler" : "latest" ,
4870 foo : "~1.2.3" ,
4971 bar : "latest" ,
5072 } ) ;
5173
52- deepStrictEqual ( JSON . parse ( getOutputFile ( "package.json" ) ! ) . devDependencies , {
74+ expect ( pkgJson . devDependencies ) . toEqual ( {
5375 "@typespec/compiler" : "latest" ,
5476 foo : "~1.2.3" ,
5577 bar : "latest" ,
@@ -59,6 +81,23 @@ describe("libraries", () => {
5981 } ) ;
6082} ) ;
6183
84+ describe ( "project" , ( ) => {
85+ it ( "adds libraries to dependencies field" , async ( ) => {
86+ await runTemplate ( {
87+ libraries : [ { name : "bar" } ] ,
88+ } ) ;
89+
90+ const pkgJson = JSON . parse ( getOutputFile ( "package.json" ) ! ) ;
91+
92+ expect ( pkgJson . dependencies ) . toEqual ( {
93+ "@typespec/compiler" : "latest" ,
94+ bar : "latest" ,
95+ } ) ;
96+ expect ( pkgJson . peerDependencies ) . toBeUndefined ( ) ;
97+ expect ( pkgJson . devDependencies ) . toBeUndefined ( ) ;
98+ } ) ;
99+ } ) ;
100+
62101it ( "can generate .gitignore file by default" , async ( ) => {
63102 await runTemplate ( { } ) ;
64103 strictEqual ( typeof getOutputFile ( ".gitignore" ) , "string" ) ;
0 commit comments