diff --git a/common/changes/@cadl-lang/html-program-viewer/fix-emitter-not-found-warning_2022-12-16-22-00.json b/common/changes/@cadl-lang/html-program-viewer/fix-emitter-not-found-warning_2022-12-16-22-00.json
new file mode 100644
index 00000000000..26db64b8d9b
--- /dev/null
+++ b/common/changes/@cadl-lang/html-program-viewer/fix-emitter-not-found-warning_2022-12-16-22-00.json
@@ -0,0 +1,10 @@
+{
+ "changes": [
+ {
+ "packageName": "@cadl-lang/html-program-viewer",
+ "comment": "",
+ "type": "none"
+ }
+ ],
+ "packageName": "@cadl-lang/html-program-viewer"
+}
\ No newline at end of file
diff --git a/common/changes/@cadl-lang/library-linter/fix-emitter-not-found-warning_2022-12-16-22-00.json b/common/changes/@cadl-lang/library-linter/fix-emitter-not-found-warning_2022-12-16-22-00.json
new file mode 100644
index 00000000000..efae102ee1a
--- /dev/null
+++ b/common/changes/@cadl-lang/library-linter/fix-emitter-not-found-warning_2022-12-16-22-00.json
@@ -0,0 +1,10 @@
+{
+ "changes": [
+ {
+ "packageName": "@cadl-lang/library-linter",
+ "comment": "",
+ "type": "none"
+ }
+ ],
+ "packageName": "@cadl-lang/library-linter"
+}
\ No newline at end of file
diff --git a/common/changes/@cadl-lang/lint/fix-emitter-not-found-warning_2022-12-16-22-00.json b/common/changes/@cadl-lang/lint/fix-emitter-not-found-warning_2022-12-16-22-00.json
new file mode 100644
index 00000000000..8260a2b8fec
--- /dev/null
+++ b/common/changes/@cadl-lang/lint/fix-emitter-not-found-warning_2022-12-16-22-00.json
@@ -0,0 +1,10 @@
+{
+ "changes": [
+ {
+ "packageName": "@cadl-lang/lint",
+ "comment": "",
+ "type": "none"
+ }
+ ],
+ "packageName": "@cadl-lang/lint"
+}
\ No newline at end of file
diff --git a/common/changes/@cadl-lang/migrate/fix-emitter-not-found-warning_2022-12-16-22-00.json b/common/changes/@cadl-lang/migrate/fix-emitter-not-found-warning_2022-12-16-22-00.json
new file mode 100644
index 00000000000..ddbcc435cbe
--- /dev/null
+++ b/common/changes/@cadl-lang/migrate/fix-emitter-not-found-warning_2022-12-16-22-00.json
@@ -0,0 +1,10 @@
+{
+ "changes": [
+ {
+ "packageName": "@cadl-lang/migrate",
+ "comment": "",
+ "type": "none"
+ }
+ ],
+ "packageName": "@cadl-lang/migrate"
+}
\ No newline at end of file
diff --git a/common/changes/@cadl-lang/openapi/fix-emitter-not-found-warning_2022-12-16-22-00.json b/common/changes/@cadl-lang/openapi/fix-emitter-not-found-warning_2022-12-16-22-00.json
new file mode 100644
index 00000000000..05bce127e53
--- /dev/null
+++ b/common/changes/@cadl-lang/openapi/fix-emitter-not-found-warning_2022-12-16-22-00.json
@@ -0,0 +1,10 @@
+{
+ "changes": [
+ {
+ "packageName": "@cadl-lang/openapi",
+ "comment": "",
+ "type": "none"
+ }
+ ],
+ "packageName": "@cadl-lang/openapi"
+}
\ No newline at end of file
diff --git a/common/changes/@cadl-lang/openapi3/fix-emitter-not-found-warning_2022-12-16-22-00.json b/common/changes/@cadl-lang/openapi3/fix-emitter-not-found-warning_2022-12-16-22-00.json
new file mode 100644
index 00000000000..d2cfff98b93
--- /dev/null
+++ b/common/changes/@cadl-lang/openapi3/fix-emitter-not-found-warning_2022-12-16-22-00.json
@@ -0,0 +1,10 @@
+{
+ "changes": [
+ {
+ "packageName": "@cadl-lang/openapi3",
+ "comment": "",
+ "type": "none"
+ }
+ ],
+ "packageName": "@cadl-lang/openapi3"
+}
\ No newline at end of file
diff --git a/common/changes/@cadl-lang/prettier-plugin-cadl/fix-emitter-not-found-warning_2022-12-16-22-00.json b/common/changes/@cadl-lang/prettier-plugin-cadl/fix-emitter-not-found-warning_2022-12-16-22-00.json
new file mode 100644
index 00000000000..b89283c2991
--- /dev/null
+++ b/common/changes/@cadl-lang/prettier-plugin-cadl/fix-emitter-not-found-warning_2022-12-16-22-00.json
@@ -0,0 +1,10 @@
+{
+ "changes": [
+ {
+ "packageName": "@cadl-lang/prettier-plugin-cadl",
+ "comment": "",
+ "type": "none"
+ }
+ ],
+ "packageName": "@cadl-lang/prettier-plugin-cadl"
+}
\ No newline at end of file
diff --git a/common/changes/@cadl-lang/rest/fix-emitter-not-found-warning_2022-12-16-22-00.json b/common/changes/@cadl-lang/rest/fix-emitter-not-found-warning_2022-12-16-22-00.json
new file mode 100644
index 00000000000..601b07abb6b
--- /dev/null
+++ b/common/changes/@cadl-lang/rest/fix-emitter-not-found-warning_2022-12-16-22-00.json
@@ -0,0 +1,10 @@
+{
+ "changes": [
+ {
+ "packageName": "@cadl-lang/rest",
+ "comment": "",
+ "type": "none"
+ }
+ ],
+ "packageName": "@cadl-lang/rest"
+}
\ No newline at end of file
diff --git a/common/changes/@cadl-lang/versioning/fix-emitter-not-found-warning_2022-12-16-22-00.json b/common/changes/@cadl-lang/versioning/fix-emitter-not-found-warning_2022-12-16-22-00.json
new file mode 100644
index 00000000000..b925a7f965b
--- /dev/null
+++ b/common/changes/@cadl-lang/versioning/fix-emitter-not-found-warning_2022-12-16-22-00.json
@@ -0,0 +1,10 @@
+{
+ "changes": [
+ {
+ "packageName": "@cadl-lang/versioning",
+ "comment": "",
+ "type": "none"
+ }
+ ],
+ "packageName": "@cadl-lang/versioning"
+}
\ No newline at end of file
diff --git a/common/changes/cadl-vscode/fix-emitter-not-found-warning_2022-12-16-22-00.json b/common/changes/cadl-vscode/fix-emitter-not-found-warning_2022-12-16-22-00.json
new file mode 100644
index 00000000000..bc1c3e2f36c
--- /dev/null
+++ b/common/changes/cadl-vscode/fix-emitter-not-found-warning_2022-12-16-22-00.json
@@ -0,0 +1,10 @@
+{
+ "changes": [
+ {
+ "packageName": "cadl-vscode",
+ "comment": "",
+ "type": "none"
+ }
+ ],
+ "packageName": "cadl-vscode"
+}
\ No newline at end of file
diff --git a/packages/bundler/package.json b/packages/bundler/package.json
index 0a7eae35e2f..46ae3fc64ad 100644
--- a/packages/bundler/package.json
+++ b/packages/bundler/package.json
@@ -38,7 +38,7 @@
"!dist/test/**"
],
"dependencies": {
- "@cadl-lang/compiler": "~0.38.4",
+ "@cadl-lang/compiler": "~0.38.5",
"@rollup/plugin-virtual": "~3.0.1",
"@rollup/plugin-commonjs": "~23.0.2",
"@rollup/plugin-json": "~5.0.1",
diff --git a/packages/cadl-vscode/package.json b/packages/cadl-vscode/package.json
index 281acf63bf9..2ddbe8fab40 100644
--- a/packages/cadl-vscode/package.json
+++ b/packages/cadl-vscode/package.json
@@ -121,7 +121,7 @@
"@types/mocha": "~10.0.0",
"@types/node": "~18.11.9",
"@types/vscode": "~1.53.0",
- "@cadl-lang/compiler": "~0.38.4",
+ "@cadl-lang/compiler": "~0.38.5",
"@cadl-lang/eslint-config-cadl": "~0.5.0",
"@cadl-lang/internal-build-utils": "~0.3.2",
"eslint": "^8.12.0",
diff --git a/packages/compiler/CHANGELOG.json b/packages/compiler/CHANGELOG.json
index 6e5159a8347..2d50da6f942 100644
--- a/packages/compiler/CHANGELOG.json
+++ b/packages/compiler/CHANGELOG.json
@@ -1,6 +1,18 @@
{
"name": "@cadl-lang/compiler",
"entries": [
+ {
+ "version": "0.38.5",
+ "tag": "@cadl-lang/compiler_v0.38.5",
+ "date": "Fri, 16 Dec 2022 22:02:45 GMT",
+ "comments": {
+ "patch": [
+ {
+ "comment": "emitter not found validation in emitter options is a warning"
+ }
+ ]
+ }
+ },
{
"version": "0.38.4",
"tag": "@cadl-lang/compiler_v0.38.4",
diff --git a/packages/compiler/CHANGELOG.md b/packages/compiler/CHANGELOG.md
index 785332fd7b9..c064573c5ac 100644
--- a/packages/compiler/CHANGELOG.md
+++ b/packages/compiler/CHANGELOG.md
@@ -1,6 +1,13 @@
# Change Log - @cadl-lang/compiler
-This log was last generated on Thu, 15 Dec 2022 02:21:08 GMT and should not be manually modified.
+This log was last generated on Fri, 16 Dec 2022 22:02:45 GMT and should not be manually modified.
+
+## 0.38.5
+Fri, 16 Dec 2022 22:02:45 GMT
+
+### Patches
+
+- emitter not found validation in emitter options is a warning
## 0.38.4
Thu, 15 Dec 2022 02:21:08 GMT
diff --git a/packages/compiler/core/messages.ts b/packages/compiler/core/messages.ts
index da926dea45b..3cfbf9ee9c4 100644
--- a/packages/compiler/core/messages.ts
+++ b/packages/compiler/core/messages.ts
@@ -572,7 +572,7 @@ const diagnostics = {
},
},
"emitter-not-found": {
- severity: "error",
+ severity: "warning",
messages: {
default: paramMessage`Emitter with name ${"emitterName"} is not found.`,
},
diff --git a/packages/compiler/core/program.ts b/packages/compiler/core/program.ts
index 52980448225..b952c08e901 100644
--- a/packages/compiler/core/program.ts
+++ b/packages/compiler/core/program.ts
@@ -623,7 +623,7 @@ export async function compile(
// This is the emitter names under options that haven't been used. We need to check if it points to an emitter that wasn't loaded
for (const emitterName of emitterThatShouldExists) {
// attempt to resolve a node module with this name
- const module = await resolveEmitterModuleAndEntrypoint(mainFile, emitterName);
+ const [module, _] = await resolveEmitterModuleAndEntrypoint(mainFile, emitterName);
if (module?.entrypoint === undefined) {
program.reportDiagnostic(
createDiagnostic({
@@ -640,29 +640,36 @@ export async function compile(
mainFile: string,
emitterNameOrPath: string
): Promise<
- { module: ModuleResolutionResult; entrypoint: JsSourceFileNode | undefined } | undefined
+ [
+ { module: ModuleResolutionResult; entrypoint: JsSourceFileNode | undefined } | undefined,
+ readonly Diagnostic[]
+ ]
> {
const basedir = getDirectoryPath(mainFile);
// attempt to resolve a node module with this name
- const module = await resolveJSLibrary(emitterNameOrPath, basedir);
+ const [module, diagnostics] = await resolveJSLibrary(emitterNameOrPath, basedir);
if (!module) {
- return undefined;
+ return [undefined, diagnostics];
}
const entrypoint = module.type === "file" ? module.path : module.mainFile;
const file = await loadJsFile(entrypoint, NoTarget);
- return { module, entrypoint: file };
+ return [{ module, entrypoint: file }, []];
}
async function loadEmitter(
mainFile: string,
emitterNameOrPath: string,
emittersOptions: Record
): Promise {
- const resolution = await resolveEmitterModuleAndEntrypoint(mainFile, emitterNameOrPath);
+ const [resolution, diagnostics] = await resolveEmitterModuleAndEntrypoint(
+ mainFile,
+ emitterNameOrPath
+ );
if (resolution === undefined) {
+ program.reportDiagnostics(diagnostics);
return undefined;
}
const { module, entrypoint } = resolution;
@@ -818,28 +825,32 @@ export async function compile(
async function resolveJSLibrary(
specifier: string,
baseDir: string
- ): Promise {
+ ): Promise<[ModuleResolutionResult | undefined, readonly Diagnostic[]]> {
try {
- return await resolveModule(getResolveModuleHost(), specifier, { baseDir });
+ return [await resolveModule(getResolveModuleHost(), specifier, { baseDir }), []];
} catch (e: any) {
if (e.code === "MODULE_NOT_FOUND") {
- program.reportDiagnostic(
- createDiagnostic({
- code: "import-not-found",
- format: { path: specifier },
- target: NoTarget,
- })
- );
- return undefined;
+ return [
+ undefined,
+ [
+ createDiagnostic({
+ code: "import-not-found",
+ format: { path: specifier },
+ target: NoTarget,
+ }),
+ ],
+ ];
} else if (e.code === "INVALID_MAIN") {
- program.reportDiagnostic(
- createDiagnostic({
- code: "library-invalid",
- format: { path: specifier },
- target: NoTarget,
- })
- );
- return undefined;
+ return [
+ undefined,
+ [
+ createDiagnostic({
+ code: "library-invalid",
+ format: { path: specifier },
+ target: NoTarget,
+ }),
+ ],
+ ];
} else {
throw e;
}
diff --git a/packages/compiler/package.json b/packages/compiler/package.json
index 49e14eff8f3..34cf2827f6b 100644
--- a/packages/compiler/package.json
+++ b/packages/compiler/package.json
@@ -1,6 +1,6 @@
{
"name": "@cadl-lang/compiler",
- "version": "0.38.4",
+ "version": "0.38.5",
"description": "Cadl Compiler Preview",
"author": "Microsoft Corporation",
"license": "MIT",
diff --git a/packages/html-program-viewer/package.json b/packages/html-program-viewer/package.json
index 667251e6b19..87eef62d278 100644
--- a/packages/html-program-viewer/package.json
+++ b/packages/html-program-viewer/package.json
@@ -51,7 +51,7 @@
"!dist/test/**"
],
"peerDependencies": {
- "@cadl-lang/compiler": "~0.38.4"
+ "@cadl-lang/compiler": "~0.38.5"
},
"dependencies": {
"prettier": "~2.7.1",
@@ -66,7 +66,7 @@
"@types/prettier": "2.6.0",
"@types/react": "~18.0.5",
"@types/react-dom": "~18.0.1",
- "@cadl-lang/compiler": "~0.38.4",
+ "@cadl-lang/compiler": "~0.38.5",
"@cadl-lang/eslint-config-cadl": "~0.5.0",
"@babel/core": "^7.0.0",
"eslint": "^8.12.0",
diff --git a/packages/library-linter/package.json b/packages/library-linter/package.json
index 0818ee478c2..09e8834cb7b 100644
--- a/packages/library-linter/package.json
+++ b/packages/library-linter/package.json
@@ -51,12 +51,12 @@
"!dist/test/**"
],
"peerDependencies": {
- "@cadl-lang/compiler": "~0.38.4"
+ "@cadl-lang/compiler": "~0.38.5"
},
"devDependencies": {
"@types/mocha": "~10.0.0",
"@types/node": "~18.11.9",
- "@cadl-lang/compiler": "~0.38.4",
+ "@cadl-lang/compiler": "~0.38.5",
"@cadl-lang/eslint-config-cadl": "~0.5.0",
"eslint": "^8.12.0",
"mocha": "~10.1.0",
diff --git a/packages/lint/package.json b/packages/lint/package.json
index e7df257a95c..d3f3622fd0b 100644
--- a/packages/lint/package.json
+++ b/packages/lint/package.json
@@ -50,12 +50,12 @@
"!dist/test/**"
],
"peerDependencies": {
- "@cadl-lang/compiler": "~0.38.4"
+ "@cadl-lang/compiler": "~0.38.5"
},
"devDependencies": {
"@types/mocha": "~10.0.0",
"@types/node": "~18.11.9",
- "@cadl-lang/compiler": "~0.38.4",
+ "@cadl-lang/compiler": "~0.38.5",
"@cadl-lang/eslint-config-cadl": "~0.5.0",
"@cadl-lang/eslint-plugin": "~0.38.0",
"eslint": "^8.12.0",
diff --git a/packages/migrate/package.json b/packages/migrate/package.json
index f2d696df470..b1e182fb381 100644
--- a/packages/migrate/package.json
+++ b/packages/migrate/package.json
@@ -39,13 +39,13 @@
],
"dependencies": {
"globby": "~13.1.1",
- "@cadl-lang/compiler": "~0.38.4",
+ "@cadl-lang/compiler": "~0.38.5",
"@cadl-lang/compiler-v0.37": "npm:@cadl-lang/compiler@0.37.0"
},
"devDependencies": {
"@types/mocha": "~10.0.0",
"@types/node": "~18.11.9",
- "@cadl-lang/compiler": "~0.38.4",
+ "@cadl-lang/compiler": "~0.38.5",
"@cadl-lang/eslint-config-cadl": "~0.5.0",
"@cadl-lang/eslint-plugin": "~0.38.0",
"eslint": "^8.12.0",
diff --git a/packages/openapi/package.json b/packages/openapi/package.json
index dfc29efe73f..7354fd96acf 100644
--- a/packages/openapi/package.json
+++ b/packages/openapi/package.json
@@ -52,13 +52,13 @@
"!dist/test/**"
],
"peerDependencies": {
- "@cadl-lang/compiler": "~0.38.4",
+ "@cadl-lang/compiler": "~0.38.5",
"@cadl-lang/rest": "~0.38.1"
},
"devDependencies": {
"@types/mocha": "~10.0.0",
"@types/node": "~18.11.9",
- "@cadl-lang/compiler": "~0.38.4",
+ "@cadl-lang/compiler": "~0.38.5",
"@cadl-lang/rest": "~0.38.1",
"@cadl-lang/eslint-config-cadl": "~0.5.0",
"@cadl-lang/library-linter": "~0.38.0",
diff --git a/packages/openapi3/package.json b/packages/openapi3/package.json
index 74927f91d84..0b452aa1ea1 100644
--- a/packages/openapi3/package.json
+++ b/packages/openapi3/package.json
@@ -53,14 +53,14 @@
],
"peerDependencies": {
"@cadl-lang/versioning": "~0.38.0",
- "@cadl-lang/compiler": "~0.38.4",
+ "@cadl-lang/compiler": "~0.38.5",
"@cadl-lang/rest": "~0.38.1",
"@cadl-lang/openapi": "~0.38.0"
},
"devDependencies": {
"@types/mocha": "~10.0.0",
"@types/node": "~18.11.9",
- "@cadl-lang/compiler": "~0.38.4",
+ "@cadl-lang/compiler": "~0.38.5",
"@cadl-lang/rest": "~0.38.1",
"@cadl-lang/openapi": "~0.38.0",
"@cadl-lang/versioning": "~0.38.0",
diff --git a/packages/playground/package.json b/packages/playground/package.json
index f26b5d214d1..a518744bd2b 100644
--- a/packages/playground/package.json
+++ b/packages/playground/package.json
@@ -42,7 +42,7 @@
],
"dependencies": {
"@cadl-lang/versioning": "~0.38.0",
- "@cadl-lang/compiler": "~0.38.4",
+ "@cadl-lang/compiler": "~0.38.5",
"@cadl-lang/rest": "~0.38.1",
"@cadl-lang/openapi3": "~0.38.0",
"@cadl-lang/openapi": "~0.38.0",
diff --git a/packages/prettier-plugin-cadl/package.json b/packages/prettier-plugin-cadl/package.json
index 73d803fc82e..8c9b92e2427 100644
--- a/packages/prettier-plugin-cadl/package.json
+++ b/packages/prettier-plugin-cadl/package.json
@@ -15,7 +15,7 @@
"prettier": "~2.7.1"
},
"devDependencies": {
- "@cadl-lang/compiler": "~0.38.4",
+ "@cadl-lang/compiler": "~0.38.5",
"@cadl-lang/internal-build-utils": "~0.3.2",
"@rollup/plugin-commonjs": "~23.0.2",
"@rollup/plugin-json": "~5.0.1",
diff --git a/packages/rest/package.json b/packages/rest/package.json
index ac38b623b6e..584bfa435b3 100644
--- a/packages/rest/package.json
+++ b/packages/rest/package.json
@@ -56,12 +56,12 @@
"!dist/test/**"
],
"peerDependencies": {
- "@cadl-lang/compiler": "~0.38.4"
+ "@cadl-lang/compiler": "~0.38.5"
},
"devDependencies": {
"@types/mocha": "~10.0.0",
"@types/node": "~18.11.9",
- "@cadl-lang/compiler": "~0.38.4",
+ "@cadl-lang/compiler": "~0.38.5",
"@cadl-lang/eslint-config-cadl": "~0.5.0",
"@cadl-lang/library-linter": "~0.38.0",
"@cadl-lang/eslint-plugin": "~0.38.0",
diff --git a/packages/samples/package.json b/packages/samples/package.json
index e7058162847..5c8f8e86f71 100644
--- a/packages/samples/package.json
+++ b/packages/samples/package.json
@@ -33,7 +33,7 @@
],
"dependencies": {
"@cadl-lang/versioning": "~0.38.0",
- "@cadl-lang/compiler": "~0.38.4",
+ "@cadl-lang/compiler": "~0.38.5",
"@cadl-lang/rest": "~0.38.1",
"@cadl-lang/openapi": "~0.38.0",
"@cadl-lang/openapi3": "~0.38.0",
diff --git a/packages/versioning/package.json b/packages/versioning/package.json
index c79f9d0b39c..a5b5761e946 100644
--- a/packages/versioning/package.json
+++ b/packages/versioning/package.json
@@ -52,7 +52,7 @@
"!dist/test/**"
],
"dependencies": {
- "@cadl-lang/compiler": "~0.38.4"
+ "@cadl-lang/compiler": "~0.38.5"
},
"devDependencies": {
"@types/mocha": "~10.0.0",