diff --git a/packages/compiler/src/init/scaffold.ts b/packages/compiler/src/init/scaffold.ts index e2aba213e6..55944c3450 100644 --- a/packages/compiler/src/init/scaffold.ts +++ b/packages/compiler/src/init/scaffold.ts @@ -98,9 +98,10 @@ async function writePackageJson(host: CompilerHost, config: ScaffoldingConfig) { return; } const dependencies: Record = {}; + const peerDependencies: Record = {}; if (!config.template.skipCompilerPackage) { - dependencies["@typespec/compiler"] = "latest"; + peerDependencies["@typespec/compiler"] = "latest"; } for (const library of config.libraries) { @@ -112,6 +113,7 @@ async function writePackageJson(host: CompilerHost, config: ScaffoldingConfig) { version: "0.1.0", type: "module", dependencies, + peerDependencies, private: true, }; diff --git a/packages/compiler/test/init/init-template.test.ts b/packages/compiler/test/init/init-template.test.ts index 02c4a14d18..41a1100164 100644 --- a/packages/compiler/test/init/init-template.test.ts +++ b/packages/compiler/test/init/init-template.test.ts @@ -37,11 +37,14 @@ describe("compiler: init: templates", () => { }); deepStrictEqual(JSON.parse(getOutputFile("package.json")!).dependencies, { - "@typespec/compiler": "latest", foo: "~1.2.3", bar: "latest", }); + deepStrictEqual(JSON.parse(getOutputFile("package.json")!).peerDependencies, { + "@typespec/compiler": "latest", + }); + strictEqual(getOutputFile("main.tsp")!, 'import "foo";\nimport "bar";\n'); }); });