From e3b4cbeba70fdbe85a26d2ce834573943042436c Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Thu, 8 Dec 2022 14:01:24 -0800 Subject: [PATCH 1/8] HotFix: Scalar migration script and scalar in namespace (#1401) --- ...fix-scalar-migration_2022-12-08-20-18.json | 11 +++++ ...fix-scalar-migration_2022-12-08-20-18.json | 15 +++++++ packages/compiler/core/parser.ts | 3 ++ packages/compiler/test/parser.test.ts | 17 ++++++++ packages/migrate/src/cli.ts | 2 + packages/migrate/src/migrate.ts | 2 + .../src/migrations/v0.38/model-to-scalars.ts | 16 ++++++- .../migrate/test/model-to-scalars.test.ts | 42 ++++++++++++++++++- 8 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 common/changes/@cadl-lang/compiler/fix-scalar-migration_2022-12-08-20-18.json create mode 100644 common/changes/@cadl-lang/migrate/fix-scalar-migration_2022-12-08-20-18.json diff --git a/common/changes/@cadl-lang/compiler/fix-scalar-migration_2022-12-08-20-18.json b/common/changes/@cadl-lang/compiler/fix-scalar-migration_2022-12-08-20-18.json new file mode 100644 index 00000000000..e786a831f93 --- /dev/null +++ b/common/changes/@cadl-lang/compiler/fix-scalar-migration_2022-12-08-20-18.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@cadl-lang/compiler", + "comment": "Fix: `scalar` can be used inside of namespace block", + "type": "patch" + } + + ], + "packageName": "@cadl-lang/compiler" +} diff --git a/common/changes/@cadl-lang/migrate/fix-scalar-migration_2022-12-08-20-18.json b/common/changes/@cadl-lang/migrate/fix-scalar-migration_2022-12-08-20-18.json new file mode 100644 index 00000000000..4bb9e207049 --- /dev/null +++ b/common/changes/@cadl-lang/migrate/fix-scalar-migration_2022-12-08-20-18.json @@ -0,0 +1,15 @@ +{ + "changes": [ + { + "packageName": "@cadl-lang/migrate", + "comment": "Fix missing file env header", + "type": "patch" + }, + { + "packageName": "@cadl-lang/migrate", + "comment": "Fix issue with end of file getting dropped.", + "type": "patch" + } + ], + "packageName": "@cadl-lang/migrate" +} diff --git a/packages/compiler/core/parser.ts b/packages/compiler/core/parser.ts index 4bbca6c5321..c98cabcfce2 100644 --- a/packages/compiler/core/parser.ts +++ b/packages/compiler/core/parser.ts @@ -449,6 +449,9 @@ function createParser(code: string | SourceFile, options: ParseOptions = {}): Pa case Token.ModelKeyword: item = parseModelStatement(pos, decorators); break; + case Token.ScalarKeyword: + item = parseScalarStatement(pos, decorators); + break; case Token.NamespaceKeyword: const ns = parseNamespaceStatement(pos, decorators); diff --git a/packages/compiler/test/parser.test.ts b/packages/compiler/test/parser.test.ts index 198a993f5d0..5b95383ce2e 100644 --- a/packages/compiler/test/parser.test.ts +++ b/packages/compiler/test/parser.test.ts @@ -144,6 +144,23 @@ describe("compiler: parser", () => { ["model bar = a | b;", [/'{' expected/]], ]); }); + + describe("scalar statements", () => { + parseEach([ + "scalar uuid extends string;", + `@foo() + scalar uuid extends string;`, + `namespace Foo { + scalar uuid extends string;} + `, + ]); + + parseErrorEach([ + ["scalar uuid extends string { }", [/Statement expected./]], + ["scalar uuid is string;", [/Statement expected./]], + ]); + }); + describe("interface statements", () => { parseEach([ "interface Foo { }", diff --git a/packages/migrate/src/cli.ts b/packages/migrate/src/cli.ts index 176f4123cbf..309d9169ea9 100644 --- a/packages/migrate/src/cli.ts +++ b/packages/migrate/src/cli.ts @@ -1,3 +1,5 @@ +#!/usr/bin/env node + /* eslint-disable no-console */ import { migrateCadlFiles } from "./migrate.js"; import { migrateModelToScalar } from "./migrations/v0.38/model-to-scalars.js"; diff --git a/packages/migrate/src/migrate.ts b/packages/migrate/src/migrate.ts index a025b92cbf7..f419b99730e 100644 --- a/packages/migrate/src/migrate.ts +++ b/packages/migrate/src/migrate.ts @@ -87,6 +87,8 @@ function migrateCadlContentInternal( segments.push(action.content); last = action.target.end; } + segments.push(content.slice(last, -1)); + const newContent = segments.join(""); try { diff --git a/packages/migrate/src/migrations/v0.38/model-to-scalars.ts b/packages/migrate/src/migrations/v0.38/model-to-scalars.ts index 98018490992..8c8c727aa25 100644 --- a/packages/migrate/src/migrations/v0.38/model-to-scalars.ts +++ b/packages/migrate/src/migrations/v0.38/model-to-scalars.ts @@ -1,4 +1,8 @@ -import type { CadlScriptNode, TemplateParameterDeclarationNode } from "@cadl-lang/compiler-v0.37"; +import type { + CadlScriptNode, + Node, + TemplateParameterDeclarationNode, +} from "@cadl-lang/compiler-v0.37"; import { CadlCompilerV0_37, createMigration, @@ -24,7 +28,7 @@ export const migrateModelToScalar = createMigration({ } const actions: MigrateAction[] = []; - compilerV37.visitChildren(root, (node) => { + visitRecursive(compilerV37, root, (node) => { if ( node.kind === compilerV37.SyntaxKind.ModelStatement && node.is && @@ -47,6 +51,14 @@ export const migrateModelToScalar = createMigration({ }, }); +function visitRecursive(compiler: any, root: Node, callback: (node: Node) => void) { + const visit = (node: Node) => { + callback(node); + compiler.visitChildren(node, visit); + }; + visit(root); +} + const builtInTypes = new Set([ "bytes", "numeric", diff --git a/packages/migrate/test/model-to-scalars.test.ts b/packages/migrate/test/model-to-scalars.test.ts index 0d64d43e39b..8dbe8d1f2a0 100644 --- a/packages/migrate/test/model-to-scalars.test.ts +++ b/packages/migrate/test/model-to-scalars.test.ts @@ -3,7 +3,7 @@ import { migrateCadlContent } from "../src/migrate.js"; import { migrateModelToScalar } from "../src/migrations/v0.38/model-to-scalars.js"; describe("migration: model to scalars", () => { - it("convert", async () => { + it("various models", async () => { const [result] = await migrateCadlContent( ` model foo is string; @@ -35,4 +35,44 @@ scalar Resource extends int32; `.trim() ); }); + + it("inside namespace", async () => { + const [result] = await migrateCadlContent( + ` +namespace MyService { + model foo is string; +} + `, + migrateModelToScalar + ); + + strictEqual( + result.trim(), + ` +namespace MyService { + scalar foo extends string; +} + `.trim() + ); + }); + + it("with operations", async () => { + const [result] = await migrateCadlContent( + ` +model foo is string; + +op test(): string; + `, + migrateModelToScalar + ); + + strictEqual( + result.trim(), + ` +scalar foo extends string; + +op test(): string; + `.trim() + ); + }); }); From abc386678c4512245eac8a4e47660de804d0c451 Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Thu, 8 Dec 2022 14:34:17 -0800 Subject: [PATCH 2/8] Bump versions (#1403) --- ...fix-scalar-migration_2022-12-08-20-18.json | 11 --------- ...fix-scalar-migration_2022-12-08-20-18.json | 15 ------------ packages/bundler/package.json | 2 +- packages/cadl-vscode/package.json | 2 +- packages/compiler/CHANGELOG.json | 12 ++++++++++ packages/compiler/CHANGELOG.md | 9 +++++++- packages/compiler/package.json | 2 +- packages/html-program-viewer/package.json | 4 ++-- packages/library-linter/package.json | 4 ++-- packages/lint/package.json | 4 ++-- packages/migrate/CHANGELOG.json | 23 +++++++++++++++++++ packages/migrate/CHANGELOG.md | 10 +++++++- packages/migrate/package.json | 6 ++--- packages/openapi/package.json | 4 ++-- packages/openapi3/package.json | 4 ++-- packages/playground/package.json | 2 +- packages/prettier-plugin-cadl/package.json | 2 +- packages/rest/package.json | 4 ++-- packages/samples/package.json | 2 +- packages/versioning/package.json | 2 +- 20 files changed, 74 insertions(+), 50 deletions(-) delete mode 100644 common/changes/@cadl-lang/compiler/fix-scalar-migration_2022-12-08-20-18.json delete mode 100644 common/changes/@cadl-lang/migrate/fix-scalar-migration_2022-12-08-20-18.json diff --git a/common/changes/@cadl-lang/compiler/fix-scalar-migration_2022-12-08-20-18.json b/common/changes/@cadl-lang/compiler/fix-scalar-migration_2022-12-08-20-18.json deleted file mode 100644 index e786a831f93..00000000000 --- a/common/changes/@cadl-lang/compiler/fix-scalar-migration_2022-12-08-20-18.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "changes": [ - { - "packageName": "@cadl-lang/compiler", - "comment": "Fix: `scalar` can be used inside of namespace block", - "type": "patch" - } - - ], - "packageName": "@cadl-lang/compiler" -} diff --git a/common/changes/@cadl-lang/migrate/fix-scalar-migration_2022-12-08-20-18.json b/common/changes/@cadl-lang/migrate/fix-scalar-migration_2022-12-08-20-18.json deleted file mode 100644 index 4bb9e207049..00000000000 --- a/common/changes/@cadl-lang/migrate/fix-scalar-migration_2022-12-08-20-18.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "changes": [ - { - "packageName": "@cadl-lang/migrate", - "comment": "Fix missing file env header", - "type": "patch" - }, - { - "packageName": "@cadl-lang/migrate", - "comment": "Fix issue with end of file getting dropped.", - "type": "patch" - } - ], - "packageName": "@cadl-lang/migrate" -} diff --git a/packages/bundler/package.json b/packages/bundler/package.json index d6903cc1209..c1ae37640f3 100644 --- a/packages/bundler/package.json +++ b/packages/bundler/package.json @@ -38,7 +38,7 @@ "!dist/test/**" ], "dependencies": { - "@cadl-lang/compiler": "~0.38.0", + "@cadl-lang/compiler": "~0.38.1", "@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 3dd885a2f3e..c07399c00b6 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.0", + "@cadl-lang/compiler": "~0.38.1", "@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 26cad94370a..61fc4343d2e 100644 --- a/packages/compiler/CHANGELOG.json +++ b/packages/compiler/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@cadl-lang/compiler", "entries": [ + { + "version": "0.38.1", + "tag": "@cadl-lang/compiler_v0.38.1", + "date": "Thu, 08 Dec 2022 22:04:15 GMT", + "comments": { + "patch": [ + { + "comment": "Fix: `scalar` can be used inside of namespace block" + } + ] + } + }, { "version": "0.38.0", "tag": "@cadl-lang/compiler_v0.38.0", diff --git a/packages/compiler/CHANGELOG.md b/packages/compiler/CHANGELOG.md index 2529eb816e7..5a18e8d109a 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 Wed, 07 Dec 2022 17:21:52 GMT and should not be manually modified. +This log was last generated on Thu, 08 Dec 2022 22:04:15 GMT and should not be manually modified. + +## 0.38.1 +Thu, 08 Dec 2022 22:04:15 GMT + +### Patches + +- Fix: `scalar` can be used inside of namespace block ## 0.38.0 Wed, 07 Dec 2022 17:21:52 GMT diff --git a/packages/compiler/package.json b/packages/compiler/package.json index c8541c8508b..a9a81f0a5e5 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -1,6 +1,6 @@ { "name": "@cadl-lang/compiler", - "version": "0.38.0", + "version": "0.38.1", "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 b8391e65dc2..b54cced8938 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.0" + "@cadl-lang/compiler": "~0.38.1" }, "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.0", + "@cadl-lang/compiler": "~0.38.1", "@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 ab39f346839..25a57adffa8 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.0" + "@cadl-lang/compiler": "~0.38.1" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.0", + "@cadl-lang/compiler": "~0.38.1", "@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 ef13f5bf4b2..8f1c234b7d8 100644 --- a/packages/lint/package.json +++ b/packages/lint/package.json @@ -50,12 +50,12 @@ "!dist/test/**" ], "peerDependencies": { - "@cadl-lang/compiler": "~0.38.0" + "@cadl-lang/compiler": "~0.38.1" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.0", + "@cadl-lang/compiler": "~0.38.1", "@cadl-lang/eslint-config-cadl": "~0.5.0", "@cadl-lang/eslint-plugin": "~0.38.0", "eslint": "^8.12.0", diff --git a/packages/migrate/CHANGELOG.json b/packages/migrate/CHANGELOG.json index c6abdc0f26a..beea6213dac 100644 --- a/packages/migrate/CHANGELOG.json +++ b/packages/migrate/CHANGELOG.json @@ -1,6 +1,29 @@ { "name": "@cadl-lang/migrate", "entries": [ + { + "version": "0.38.1", + "tag": "@cadl-lang/migrate_v0.38.1", + "date": "Thu, 08 Dec 2022 22:04:15 GMT", + "comments": { + "patch": [ + { + "comment": "Fix missing file env header" + }, + { + "comment": "Fix issue with end of file getting dropped." + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@cadl-lang/compiler\" from `~0.38.0` to `~0.38.1`" + }, + { + "comment": "Updating dependency \"@cadl-lang/compiler\" from `~0.38.0` to `~0.38.1`" + } + ] + } + }, { "version": "0.38.0", "tag": "@cadl-lang/migrate_v0.38.0", diff --git a/packages/migrate/CHANGELOG.md b/packages/migrate/CHANGELOG.md index a86ddba9ea7..533fb4d21df 100644 --- a/packages/migrate/CHANGELOG.md +++ b/packages/migrate/CHANGELOG.md @@ -1,6 +1,14 @@ # Change Log - @cadl-lang/migrate -This log was last generated on Wed, 07 Dec 2022 17:21:52 GMT and should not be manually modified. +This log was last generated on Thu, 08 Dec 2022 22:04:15 GMT and should not be manually modified. + +## 0.38.1 +Thu, 08 Dec 2022 22:04:15 GMT + +### Patches + +- Fix missing file env header +- Fix issue with end of file getting dropped. ## 0.38.0 Wed, 07 Dec 2022 17:21:52 GMT diff --git a/packages/migrate/package.json b/packages/migrate/package.json index f57f7350030..b1e7e846e45 100644 --- a/packages/migrate/package.json +++ b/packages/migrate/package.json @@ -1,6 +1,6 @@ { "name": "@cadl-lang/migrate", - "version": "0.38.0", + "version": "0.38.1", "author": "Microsoft Corporation", "description": "Migration tool for cadl.", "homepage": "https://github.com/Microsoft/cadl", @@ -39,13 +39,13 @@ ], "dependencies": { "globby": "~13.1.1", - "@cadl-lang/compiler": "~0.38.0", + "@cadl-lang/compiler": "~0.38.1", "@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.0", + "@cadl-lang/compiler": "~0.38.1", "@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 419ce6afd99..e792584351a 100644 --- a/packages/openapi/package.json +++ b/packages/openapi/package.json @@ -52,13 +52,13 @@ "!dist/test/**" ], "peerDependencies": { - "@cadl-lang/compiler": "~0.38.0", + "@cadl-lang/compiler": "~0.38.1", "@cadl-lang/rest": "~0.38.0" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.0", + "@cadl-lang/compiler": "~0.38.1", "@cadl-lang/rest": "~0.38.0", "@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 fa563398cc7..d7360009b57 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.0", + "@cadl-lang/compiler": "~0.38.1", "@cadl-lang/rest": "~0.38.0", "@cadl-lang/openapi": "~0.38.0" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.0", + "@cadl-lang/compiler": "~0.38.1", "@cadl-lang/rest": "~0.38.0", "@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 6edd2295036..98f162f01dc 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.0", + "@cadl-lang/compiler": "~0.38.1", "@cadl-lang/rest": "~0.38.0", "@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 f9ef6b69213..12296784eaf 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.0", + "@cadl-lang/compiler": "~0.38.1", "@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 c813d993b79..4d7e4038aee 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -56,12 +56,12 @@ "!dist/test/**" ], "peerDependencies": { - "@cadl-lang/compiler": "~0.38.0" + "@cadl-lang/compiler": "~0.38.1" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.0", + "@cadl-lang/compiler": "~0.38.1", "@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 c9a48e15cd9..59db615b4cf 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.0", + "@cadl-lang/compiler": "~0.38.1", "@cadl-lang/rest": "~0.38.0", "@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 5de98d43036..d0479b16d8c 100644 --- a/packages/versioning/package.json +++ b/packages/versioning/package.json @@ -52,7 +52,7 @@ "!dist/test/**" ], "dependencies": { - "@cadl-lang/compiler": "~0.38.0" + "@cadl-lang/compiler": "~0.38.1" }, "devDependencies": { "@types/mocha": "~10.0.0", From 28eff67245ffe480393ab1b7f7f97f1576e2df70 Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Fri, 9 Dec 2022 13:24:00 -0800 Subject: [PATCH 3/8] Fix cli breaking change and setup fixed entrypoint to prevent future cases from happening (#1410) --- packages/bundler/package.json | 2 +- packages/cadl-vscode/package.json | 2 +- packages/compiler/CHANGELOG.json | 12 ++++++++++++ packages/compiler/CHANGELOG.md | 9 ++++++++- packages/compiler/cmd/cadl-server.js | 2 +- packages/compiler/cmd/cadl.js | 2 +- packages/compiler/cmd/runner.ts | 21 +++++++++++++++------ packages/compiler/core/cli.ts | 4 ++++ packages/compiler/entrypoints/cli.js | 5 +++++ packages/compiler/entrypoints/server.js | 5 +++++ packages/compiler/package.json | 2 +- packages/html-program-viewer/package.json | 4 ++-- packages/library-linter/package.json | 4 ++-- packages/lint/package.json | 4 ++-- packages/migrate/package.json | 4 ++-- packages/openapi/package.json | 4 ++-- packages/openapi3/package.json | 4 ++-- packages/playground/package.json | 2 +- packages/prettier-plugin-cadl/package.json | 2 +- packages/rest/package.json | 4 ++-- packages/samples/package.json | 2 +- packages/versioning/package.json | 2 +- 22 files changed, 72 insertions(+), 30 deletions(-) create mode 100644 packages/compiler/core/cli.ts create mode 100644 packages/compiler/entrypoints/cli.js create mode 100644 packages/compiler/entrypoints/server.js diff --git a/packages/bundler/package.json b/packages/bundler/package.json index c1ae37640f3..b754e54ba39 100644 --- a/packages/bundler/package.json +++ b/packages/bundler/package.json @@ -38,7 +38,7 @@ "!dist/test/**" ], "dependencies": { - "@cadl-lang/compiler": "~0.38.1", + "@cadl-lang/compiler": "~0.38.2", "@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 c07399c00b6..d1ccde5b841 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.1", + "@cadl-lang/compiler": "~0.38.2", "@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 61fc4343d2e..8e6bc6b5846 100644 --- a/packages/compiler/CHANGELOG.json +++ b/packages/compiler/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@cadl-lang/compiler", "entries": [ + { + "version": "0.38.2", + "tag": "@cadl-lang/compiler_v0.38.2", + "date": "Fri, 09 Dec 2022 20:43:01 GMT", + "comments": { + "patch": [ + { + "comment": "Fix: Revert breaking change to global cli usage" + } + ] + } + }, { "version": "0.38.1", "tag": "@cadl-lang/compiler_v0.38.1", diff --git a/packages/compiler/CHANGELOG.md b/packages/compiler/CHANGELOG.md index 5a18e8d109a..5f45601b2a3 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, 08 Dec 2022 22:04:15 GMT and should not be manually modified. +This log was last generated on Fri, 09 Dec 2022 20:43:01 GMT and should not be manually modified. + +## 0.38.2 +Fri, 09 Dec 2022 20:43:01 GMT + +### Patches + +- Fix: Revert breaking change to global cli usage ## 0.38.1 Thu, 08 Dec 2022 22:04:15 GMT diff --git a/packages/compiler/cmd/cadl-server.js b/packages/compiler/cmd/cadl-server.js index e36c200441a..ee38f7740a9 100755 --- a/packages/compiler/cmd/cadl-server.js +++ b/packages/compiler/cmd/cadl-server.js @@ -1,3 +1,3 @@ #!/usr/bin/env node import { runScript } from "../dist/cmd/runner.js"; -await runScript("dist/server/server.js"); +await runScript("entrypoints/server.js", "dist/server/server.js"); diff --git a/packages/compiler/cmd/cadl.js b/packages/compiler/cmd/cadl.js index 568c697780e..3804d484621 100755 --- a/packages/compiler/cmd/cadl.js +++ b/packages/compiler/cmd/cadl.js @@ -1,3 +1,3 @@ #!/usr/bin/env node import { runScript } from "../dist/cmd/runner.js"; -await runScript("dist/core/cli/cli.js"); +await runScript("entrypoints/cli.js", "dist/core/cli/cli.js"); diff --git a/packages/compiler/cmd/runner.ts b/packages/compiler/cmd/runner.ts index 6ea9a615275..a30fddf67cf 100644 --- a/packages/compiler/cmd/runner.ts +++ b/packages/compiler/cmd/runner.ts @@ -1,5 +1,5 @@ -import { readFile, realpath, stat } from "fs/promises"; -import path from "path"; +import { access, constants, readFile, realpath, stat } from "fs/promises"; +import { join, resolve } from "path"; import url from "url"; import { resolveModule, ResolveModuleHost } from "../core/module-resolver.js"; @@ -10,13 +10,16 @@ import { resolveModule, ResolveModuleHost } from "../core/module-resolver.js"; * Prevents loading two conflicting copies of Cadl modules from global and * local package locations. */ -export async function runScript(relativePath: string): Promise { +export async function runScript(relativePath: string, backupPath: string): Promise { const packageRoot = await resolvePackageRoot(); if (packageRoot) { - const script = path.join(packageRoot, relativePath); + let script = join(packageRoot, relativePath); + if (!(await checkFileExists(script)) && backupPath) { + script = join(packageRoot, backupPath); + } const scriptUrl = url.pathToFileURL(script).toString(); - import(scriptUrl); + await import(scriptUrl); } else { throw new Error( "Couldn't resolve Cadl compiler root. This is unexpected. Please file an issue at https://github.com/Microsoft/cadl." @@ -24,6 +27,12 @@ export async function runScript(relativePath: string): Promise { } } +function checkFileExists(file: string) { + return access(file, constants.F_OK) + .then(() => true) + .catch(() => false); +} + async function resolvePackageRoot(): Promise { if (process.env.CADL_SKIP_COMPILER_RESOLVE === "1") { return await getThisPackageRoot(); @@ -55,5 +64,5 @@ async function resolvePackageRoot(): Promise { } async function getThisPackageRoot() { - return path.resolve(await realpath(url.fileURLToPath(import.meta.url)), "../../.."); + return resolve(await realpath(url.fileURLToPath(import.meta.url)), "../../.."); } diff --git a/packages/compiler/core/cli.ts b/packages/compiler/core/cli.ts new file mode 100644 index 00000000000..75ce25db455 --- /dev/null +++ b/packages/compiler/core/cli.ts @@ -0,0 +1,4 @@ +/** + * For backward compatibility where global compiler would look at ./node_modules/@cadl-lang/compiler/dist/core/cli/cli.js + */ +import "./cli/cli.js"; diff --git a/packages/compiler/entrypoints/cli.js b/packages/compiler/entrypoints/cli.js new file mode 100644 index 00000000000..d070a398105 --- /dev/null +++ b/packages/compiler/entrypoints/cli.js @@ -0,0 +1,5 @@ +/** + * File serving as an entrypoint to resolve a local cadl install from a global install. + * DO NOT MOVE or this will create a breaking change for user of global cli. + */ +import "../dist/core/cli/cli.js"; diff --git a/packages/compiler/entrypoints/server.js b/packages/compiler/entrypoints/server.js new file mode 100644 index 00000000000..99ac6a828e3 --- /dev/null +++ b/packages/compiler/entrypoints/server.js @@ -0,0 +1,5 @@ +/** + * File serving as an entrypoint to resolve a local cadl install from a global install. + * DO NOT MOVE or this will create a breaking change for user of global cli. + */ +import "../dist/server/server.js"; diff --git a/packages/compiler/package.json b/packages/compiler/package.json index a9a81f0a5e5..dbeb5a3a91d 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -1,6 +1,6 @@ { "name": "@cadl-lang/compiler", - "version": "0.38.1", + "version": "0.38.2", "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 b54cced8938..7e5e389d349 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.1" + "@cadl-lang/compiler": "~0.38.2" }, "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.1", + "@cadl-lang/compiler": "~0.38.2", "@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 25a57adffa8..2383e6c8489 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.1" + "@cadl-lang/compiler": "~0.38.2" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.1", + "@cadl-lang/compiler": "~0.38.2", "@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 8f1c234b7d8..786e94acbd0 100644 --- a/packages/lint/package.json +++ b/packages/lint/package.json @@ -50,12 +50,12 @@ "!dist/test/**" ], "peerDependencies": { - "@cadl-lang/compiler": "~0.38.1" + "@cadl-lang/compiler": "~0.38.2" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.1", + "@cadl-lang/compiler": "~0.38.2", "@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 b1e7e846e45..c005632e491 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.1", + "@cadl-lang/compiler": "~0.38.2", "@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.1", + "@cadl-lang/compiler": "~0.38.2", "@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 e792584351a..2a814f056b6 100644 --- a/packages/openapi/package.json +++ b/packages/openapi/package.json @@ -52,13 +52,13 @@ "!dist/test/**" ], "peerDependencies": { - "@cadl-lang/compiler": "~0.38.1", + "@cadl-lang/compiler": "~0.38.2", "@cadl-lang/rest": "~0.38.0" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.1", + "@cadl-lang/compiler": "~0.38.2", "@cadl-lang/rest": "~0.38.0", "@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 d7360009b57..40b1188b381 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.1", + "@cadl-lang/compiler": "~0.38.2", "@cadl-lang/rest": "~0.38.0", "@cadl-lang/openapi": "~0.38.0" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.1", + "@cadl-lang/compiler": "~0.38.2", "@cadl-lang/rest": "~0.38.0", "@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 98f162f01dc..3abfe586cb1 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.1", + "@cadl-lang/compiler": "~0.38.2", "@cadl-lang/rest": "~0.38.0", "@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 12296784eaf..5ad2a5c70a3 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.1", + "@cadl-lang/compiler": "~0.38.2", "@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 4d7e4038aee..64a6def8142 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -56,12 +56,12 @@ "!dist/test/**" ], "peerDependencies": { - "@cadl-lang/compiler": "~0.38.1" + "@cadl-lang/compiler": "~0.38.2" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.1", + "@cadl-lang/compiler": "~0.38.2", "@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 59db615b4cf..a10f7f23c12 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.1", + "@cadl-lang/compiler": "~0.38.2", "@cadl-lang/rest": "~0.38.0", "@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 d0479b16d8c..eaf2a404373 100644 --- a/packages/versioning/package.json +++ b/packages/versioning/package.json @@ -52,7 +52,7 @@ "!dist/test/**" ], "dependencies": { - "@cadl-lang/compiler": "~0.38.1" + "@cadl-lang/compiler": "~0.38.2" }, "devDependencies": { "@types/mocha": "~10.0.0", From cb8f9f68448b5445004731279e82a342f38fa5db Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Fri, 9 Dec 2022 14:30:11 -0800 Subject: [PATCH 4/8] Fix: `constants` is not available in `fs/promises` in node 16 (#1414) --- packages/bundler/package.json | 2 +- packages/cadl-vscode/package.json | 2 +- packages/compiler/CHANGELOG.json | 12 ++++++++++++ packages/compiler/CHANGELOG.md | 9 ++++++++- packages/compiler/cmd/runner.ts | 4 ++-- packages/compiler/package.json | 2 +- packages/html-program-viewer/package.json | 4 ++-- packages/library-linter/package.json | 4 ++-- packages/lint/package.json | 4 ++-- packages/migrate/package.json | 4 ++-- packages/openapi/package.json | 4 ++-- packages/openapi3/package.json | 4 ++-- packages/playground/package.json | 2 +- packages/prettier-plugin-cadl/package.json | 2 +- packages/rest/package.json | 4 ++-- packages/samples/package.json | 2 +- packages/versioning/package.json | 2 +- 17 files changed, 43 insertions(+), 24 deletions(-) diff --git a/packages/bundler/package.json b/packages/bundler/package.json index b754e54ba39..37de5f54ba4 100644 --- a/packages/bundler/package.json +++ b/packages/bundler/package.json @@ -38,7 +38,7 @@ "!dist/test/**" ], "dependencies": { - "@cadl-lang/compiler": "~0.38.2", + "@cadl-lang/compiler": "~0.38.3", "@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 d1ccde5b841..668164ddb56 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.2", + "@cadl-lang/compiler": "~0.38.3", "@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 8e6bc6b5846..8db87071fa3 100644 --- a/packages/compiler/CHANGELOG.json +++ b/packages/compiler/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@cadl-lang/compiler", "entries": [ + { + "version": "0.38.3", + "tag": "@cadl-lang/compiler_v0.38.3", + "date": "Fri, 09 Dec 2022 22:03:04 GMT", + "comments": { + "patch": [ + { + "comment": "Fix: `constants` not available in `fs/promise`" + } + ] + } + }, { "version": "0.38.2", "tag": "@cadl-lang/compiler_v0.38.2", diff --git a/packages/compiler/CHANGELOG.md b/packages/compiler/CHANGELOG.md index 5f45601b2a3..46fb9a212d5 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 Fri, 09 Dec 2022 20:43:01 GMT and should not be manually modified. +This log was last generated on Fri, 09 Dec 2022 22:03:04 GMT and should not be manually modified. + +## 0.38.3 +Fri, 09 Dec 2022 22:03:04 GMT + +### Patches + +- Fix: `constants` not available in `fs/promise` ## 0.38.2 Fri, 09 Dec 2022 20:43:01 GMT diff --git a/packages/compiler/cmd/runner.ts b/packages/compiler/cmd/runner.ts index a30fddf67cf..af3a3785865 100644 --- a/packages/compiler/cmd/runner.ts +++ b/packages/compiler/cmd/runner.ts @@ -1,4 +1,4 @@ -import { access, constants, readFile, realpath, stat } from "fs/promises"; +import { access, readFile, realpath, stat } from "fs/promises"; import { join, resolve } from "path"; import url from "url"; import { resolveModule, ResolveModuleHost } from "../core/module-resolver.js"; @@ -28,7 +28,7 @@ export async function runScript(relativePath: string, backupPath: string): Promi } function checkFileExists(file: string) { - return access(file, constants.F_OK) + return access(file) .then(() => true) .catch(() => false); } diff --git a/packages/compiler/package.json b/packages/compiler/package.json index dbeb5a3a91d..dce59d8d374 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -1,6 +1,6 @@ { "name": "@cadl-lang/compiler", - "version": "0.38.2", + "version": "0.38.3", "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 7e5e389d349..89a894d1957 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.2" + "@cadl-lang/compiler": "~0.38.3" }, "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.2", + "@cadl-lang/compiler": "~0.38.3", "@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 2383e6c8489..f3b7e577a20 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.2" + "@cadl-lang/compiler": "~0.38.3" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.2", + "@cadl-lang/compiler": "~0.38.3", "@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 786e94acbd0..c69ce552578 100644 --- a/packages/lint/package.json +++ b/packages/lint/package.json @@ -50,12 +50,12 @@ "!dist/test/**" ], "peerDependencies": { - "@cadl-lang/compiler": "~0.38.2" + "@cadl-lang/compiler": "~0.38.3" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.2", + "@cadl-lang/compiler": "~0.38.3", "@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 c005632e491..6a1fbead217 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.2", + "@cadl-lang/compiler": "~0.38.3", "@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.2", + "@cadl-lang/compiler": "~0.38.3", "@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 2a814f056b6..4e287418d62 100644 --- a/packages/openapi/package.json +++ b/packages/openapi/package.json @@ -52,13 +52,13 @@ "!dist/test/**" ], "peerDependencies": { - "@cadl-lang/compiler": "~0.38.2", + "@cadl-lang/compiler": "~0.38.3", "@cadl-lang/rest": "~0.38.0" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.2", + "@cadl-lang/compiler": "~0.38.3", "@cadl-lang/rest": "~0.38.0", "@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 40b1188b381..3cd6f2b726a 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.2", + "@cadl-lang/compiler": "~0.38.3", "@cadl-lang/rest": "~0.38.0", "@cadl-lang/openapi": "~0.38.0" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.2", + "@cadl-lang/compiler": "~0.38.3", "@cadl-lang/rest": "~0.38.0", "@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 3abfe586cb1..8778fef8ae6 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.2", + "@cadl-lang/compiler": "~0.38.3", "@cadl-lang/rest": "~0.38.0", "@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 5ad2a5c70a3..446e042508c 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.2", + "@cadl-lang/compiler": "~0.38.3", "@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 64a6def8142..e35be7df183 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -56,12 +56,12 @@ "!dist/test/**" ], "peerDependencies": { - "@cadl-lang/compiler": "~0.38.2" + "@cadl-lang/compiler": "~0.38.3" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.2", + "@cadl-lang/compiler": "~0.38.3", "@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 a10f7f23c12..ee5ad9a455f 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.2", + "@cadl-lang/compiler": "~0.38.3", "@cadl-lang/rest": "~0.38.0", "@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 eaf2a404373..d890cf3f0bd 100644 --- a/packages/versioning/package.json +++ b/packages/versioning/package.json @@ -52,7 +52,7 @@ "!dist/test/**" ], "dependencies": { - "@cadl-lang/compiler": "~0.38.2" + "@cadl-lang/compiler": "~0.38.3" }, "devDependencies": { "@types/mocha": "~10.0.0", From c04e85230f5e9f9a49dcde2484894066dcc954a0 Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Wed, 14 Dec 2022 12:59:05 -0800 Subject: [PATCH 5/8] Fix: auth.cadl invalid doc comment causing ide to not show errors (#1438) --- packages/openapi/package.json | 4 ++-- packages/openapi3/package.json | 4 ++-- packages/playground/package.json | 2 +- packages/rest/CHANGELOG.json | 12 ++++++++++++ packages/rest/CHANGELOG.md | 9 ++++++++- packages/rest/lib/auth.cadl | 2 +- packages/rest/package.json | 2 +- packages/samples/package.json | 2 +- 8 files changed, 28 insertions(+), 9 deletions(-) diff --git a/packages/openapi/package.json b/packages/openapi/package.json index 4e287418d62..c0968bff162 100644 --- a/packages/openapi/package.json +++ b/packages/openapi/package.json @@ -53,13 +53,13 @@ ], "peerDependencies": { "@cadl-lang/compiler": "~0.38.3", - "@cadl-lang/rest": "~0.38.0" + "@cadl-lang/rest": "~0.38.1" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", "@cadl-lang/compiler": "~0.38.3", - "@cadl-lang/rest": "~0.38.0", + "@cadl-lang/rest": "~0.38.1", "@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/openapi3/package.json b/packages/openapi3/package.json index 3cd6f2b726a..9affc9690cb 100644 --- a/packages/openapi3/package.json +++ b/packages/openapi3/package.json @@ -54,14 +54,14 @@ "peerDependencies": { "@cadl-lang/versioning": "~0.38.0", "@cadl-lang/compiler": "~0.38.3", - "@cadl-lang/rest": "~0.38.0", + "@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.3", - "@cadl-lang/rest": "~0.38.0", + "@cadl-lang/rest": "~0.38.1", "@cadl-lang/openapi": "~0.38.0", "@cadl-lang/versioning": "~0.38.0", "@cadl-lang/eslint-config-cadl": "~0.5.0", diff --git a/packages/playground/package.json b/packages/playground/package.json index 8778fef8ae6..8660a2bd52f 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -43,7 +43,7 @@ "dependencies": { "@cadl-lang/versioning": "~0.38.0", "@cadl-lang/compiler": "~0.38.3", - "@cadl-lang/rest": "~0.38.0", + "@cadl-lang/rest": "~0.38.1", "@cadl-lang/openapi3": "~0.38.0", "@cadl-lang/openapi": "~0.38.0", "@cadl-lang/html-program-viewer": "~0.38.0", diff --git a/packages/rest/CHANGELOG.json b/packages/rest/CHANGELOG.json index 25afcd655d1..e9cd3e47a88 100644 --- a/packages/rest/CHANGELOG.json +++ b/packages/rest/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@cadl-lang/rest", "entries": [ + { + "version": "0.38.1", + "tag": "@cadl-lang/rest_v0.38.1", + "date": "Wed, 14 Dec 2022 20:34:58 GMT", + "comments": { + "patch": [ + { + "comment": "Fix: Broken doc comment causing IDE build to not show errors" + } + ] + } + }, { "version": "0.38.0", "tag": "@cadl-lang/rest_v0.38.0", diff --git a/packages/rest/CHANGELOG.md b/packages/rest/CHANGELOG.md index c99da636016..b1e569f01cc 100644 --- a/packages/rest/CHANGELOG.md +++ b/packages/rest/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @cadl-lang/rest -This log was last generated on Wed, 07 Dec 2022 17:21:52 GMT and should not be manually modified. +This log was last generated on Wed, 14 Dec 2022 20:34:58 GMT and should not be manually modified. + +## 0.38.1 +Wed, 14 Dec 2022 20:34:58 GMT + +### Patches + +- Fix: Broken doc comment causing IDE build to not show errors ## 0.38.0 Wed, 07 Dec 2022 17:21:52 GMT diff --git a/packages/rest/lib/auth.cadl b/packages/rest/lib/auth.cadl index 516145c2fe1..0898b094aeb 100644 --- a/packages/rest/lib/auth.cadl +++ b/packages/rest/lib/auth.cadl @@ -18,7 +18,7 @@ enum AuthType { /** * Basic authentication is a simple authentication scheme built into the HTTP protocol. * The client sends HTTP requests with the Authorization header that contains the word Basic word followed by a space and a base64-encoded string username:password. - * For example, to authorize as demo / p@55w0rd the client would send + * For example, to authorize as demo / `p@55w0rd` the client would send * ``` * Authorization: Basic ZGVtbzpwQDU1dzByZA== * ``` diff --git a/packages/rest/package.json b/packages/rest/package.json index e35be7df183..d061522804f 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -1,6 +1,6 @@ { "name": "@cadl-lang/rest", - "version": "0.38.0", + "version": "0.38.1", "author": "Microsoft Corporation", "description": "Cadl REST protocol binding", "homepage": "https://github.com/Microsoft/cadl", diff --git a/packages/samples/package.json b/packages/samples/package.json index ee5ad9a455f..8bb5ff7a1b8 100644 --- a/packages/samples/package.json +++ b/packages/samples/package.json @@ -34,7 +34,7 @@ "dependencies": { "@cadl-lang/versioning": "~0.38.0", "@cadl-lang/compiler": "~0.38.3", - "@cadl-lang/rest": "~0.38.0", + "@cadl-lang/rest": "~0.38.1", "@cadl-lang/openapi": "~0.38.0", "@cadl-lang/openapi3": "~0.38.0", "@cadl-lang/html-program-viewer": "~0.38.0" From 3ffec2e049df0c893a101be84c28f788c0924060 Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Thu, 15 Dec 2022 15:01:41 -0800 Subject: [PATCH 6/8] HotFix: `--arg` not being picked up (#1445) --- packages/bundler/package.json | 2 +- packages/cadl-vscode/package.json | 2 +- packages/compiler/CHANGELOG.json | 12 ++++++++++++ packages/compiler/CHANGELOG.md | 9 ++++++++- packages/compiler/config/config-interpolation.ts | 5 +++-- packages/compiler/core/cli/cli.ts | 1 + packages/compiler/package.json | 2 +- .../test/config/config-interpolation.test.ts | 11 +++++++++++ packages/html-program-viewer/package.json | 4 ++-- packages/library-linter/package.json | 4 ++-- packages/lint/package.json | 4 ++-- packages/migrate/package.json | 4 ++-- packages/openapi/package.json | 4 ++-- packages/openapi3/package.json | 4 ++-- packages/playground/package.json | 2 +- packages/prettier-plugin-cadl/package.json | 2 +- packages/rest/package.json | 4 ++-- packages/samples/package.json | 2 +- packages/versioning/package.json | 2 +- 19 files changed, 56 insertions(+), 24 deletions(-) diff --git a/packages/bundler/package.json b/packages/bundler/package.json index 37de5f54ba4..0a7eae35e2f 100644 --- a/packages/bundler/package.json +++ b/packages/bundler/package.json @@ -38,7 +38,7 @@ "!dist/test/**" ], "dependencies": { - "@cadl-lang/compiler": "~0.38.3", + "@cadl-lang/compiler": "~0.38.4", "@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 668164ddb56..281acf63bf9 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.3", + "@cadl-lang/compiler": "~0.38.4", "@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 8db87071fa3..6e5159a8347 100644 --- a/packages/compiler/CHANGELOG.json +++ b/packages/compiler/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@cadl-lang/compiler", "entries": [ + { + "version": "0.38.4", + "tag": "@cadl-lang/compiler_v0.38.4", + "date": "Thu, 15 Dec 2022 02:21:08 GMT", + "comments": { + "patch": [ + { + "comment": "Fix: `--arg` wasn't being picked up" + } + ] + } + }, { "version": "0.38.3", "tag": "@cadl-lang/compiler_v0.38.3", diff --git a/packages/compiler/CHANGELOG.md b/packages/compiler/CHANGELOG.md index 46fb9a212d5..785332fd7b9 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 Fri, 09 Dec 2022 22:03:04 GMT and should not be manually modified. +This log was last generated on Thu, 15 Dec 2022 02:21:08 GMT and should not be manually modified. + +## 0.38.4 +Thu, 15 Dec 2022 02:21:08 GMT + +### Patches + +- Fix: `--arg` wasn't being picked up ## 0.38.3 Fri, 09 Dec 2022 22:03:04 GMT diff --git a/packages/compiler/config/config-interpolation.ts b/packages/compiler/config/config-interpolation.ts index 0c333d81b94..2c4556bac14 100644 --- a/packages/compiler/config/config-interpolation.ts +++ b/packages/compiler/config/config-interpolation.ts @@ -55,8 +55,9 @@ function resolveArgs( if (declarations !== undefined) { for (const [name, definition] of Object.entries(declarations)) { unmatchedArgs.delete(name); - result[name] = - args?.[name] ?? ignoreDiagnostics(resolveValue(definition.default, predefinedVariables)); + result[name] = ignoreDiagnostics( + resolveValue(args?.[name] ?? definition.default, predefinedVariables) + ); } } diff --git a/packages/compiler/core/cli/cli.ts b/packages/compiler/core/cli/cli.ts index be29e62b04a..555e39673ee 100644 --- a/packages/compiler/core/cli/cli.ts +++ b/packages/compiler/core/cli/cli.ts @@ -116,6 +116,7 @@ async function main() { }) .option("arg", { type: "array", + alias: "args", string: true, describe: "Key/value of arguments that are used in the configuration.", }); diff --git a/packages/compiler/package.json b/packages/compiler/package.json index dce59d8d374..49e14eff8f3 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -1,6 +1,6 @@ { "name": "@cadl-lang/compiler", - "version": "0.38.3", + "version": "0.38.4", "description": "Cadl Compiler Preview", "author": "Microsoft Corporation", "license": "MIT", diff --git a/packages/compiler/test/config/config-interpolation.test.ts b/packages/compiler/test/config/config-interpolation.test.ts index a4d66b737b0..6d2fb0e02fa 100644 --- a/packages/compiler/test/config/config-interpolation.test.ts +++ b/packages/compiler/test/config/config-interpolation.test.ts @@ -170,6 +170,17 @@ describe("compiler: config interpolation", () => { outputDir: "/github-dir/my-output", }); }); + + it("expand predefined variables inside args passed", () => { + const resolved = expectExpandConfigVariables(config, { + cwd: "/dev/wd", + args: { "repo-dir": "{cwd}/github-dir" }, + }); + deepStrictEqual(resolved, { + ...config, + outputDir: "/dev/wd/github-dir/my-output", + }); + }); }); describe("interpolating env", () => { diff --git a/packages/html-program-viewer/package.json b/packages/html-program-viewer/package.json index 89a894d1957..667251e6b19 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.3" + "@cadl-lang/compiler": "~0.38.4" }, "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.3", + "@cadl-lang/compiler": "~0.38.4", "@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 f3b7e577a20..0818ee478c2 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.3" + "@cadl-lang/compiler": "~0.38.4" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.3", + "@cadl-lang/compiler": "~0.38.4", "@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 c69ce552578..e7df257a95c 100644 --- a/packages/lint/package.json +++ b/packages/lint/package.json @@ -50,12 +50,12 @@ "!dist/test/**" ], "peerDependencies": { - "@cadl-lang/compiler": "~0.38.3" + "@cadl-lang/compiler": "~0.38.4" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.3", + "@cadl-lang/compiler": "~0.38.4", "@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 6a1fbead217..f2d696df470 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.3", + "@cadl-lang/compiler": "~0.38.4", "@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.3", + "@cadl-lang/compiler": "~0.38.4", "@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 c0968bff162..dfc29efe73f 100644 --- a/packages/openapi/package.json +++ b/packages/openapi/package.json @@ -52,13 +52,13 @@ "!dist/test/**" ], "peerDependencies": { - "@cadl-lang/compiler": "~0.38.3", + "@cadl-lang/compiler": "~0.38.4", "@cadl-lang/rest": "~0.38.1" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.3", + "@cadl-lang/compiler": "~0.38.4", "@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 9affc9690cb..74927f91d84 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.3", + "@cadl-lang/compiler": "~0.38.4", "@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.3", + "@cadl-lang/compiler": "~0.38.4", "@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 8660a2bd52f..f26b5d214d1 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.3", + "@cadl-lang/compiler": "~0.38.4", "@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 446e042508c..73d803fc82e 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.3", + "@cadl-lang/compiler": "~0.38.4", "@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 d061522804f..ac38b623b6e 100644 --- a/packages/rest/package.json +++ b/packages/rest/package.json @@ -56,12 +56,12 @@ "!dist/test/**" ], "peerDependencies": { - "@cadl-lang/compiler": "~0.38.3" + "@cadl-lang/compiler": "~0.38.4" }, "devDependencies": { "@types/mocha": "~10.0.0", "@types/node": "~18.11.9", - "@cadl-lang/compiler": "~0.38.3", + "@cadl-lang/compiler": "~0.38.4", "@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 8bb5ff7a1b8..e7058162847 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.3", + "@cadl-lang/compiler": "~0.38.4", "@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 d890cf3f0bd..c79f9d0b39c 100644 --- a/packages/versioning/package.json +++ b/packages/versioning/package.json @@ -52,7 +52,7 @@ "!dist/test/**" ], "dependencies": { - "@cadl-lang/compiler": "~0.38.3" + "@cadl-lang/compiler": "~0.38.4" }, "devDependencies": { "@types/mocha": "~10.0.0", From 4e604690cbc54612c4a0edd6edbad0fb513dc317 Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Fri, 16 Dec 2022 14:28:37 -0800 Subject: [PATCH 7/8] HotFix: Emitter not found is a warning (#1460) --- ...er-not-found-warning_2022-12-16-22-00.json | 10 ++++ ...er-not-found-warning_2022-12-16-22-00.json | 10 ++++ ...er-not-found-warning_2022-12-16-22-00.json | 10 ++++ ...er-not-found-warning_2022-12-16-22-00.json | 10 ++++ ...er-not-found-warning_2022-12-16-22-00.json | 10 ++++ ...er-not-found-warning_2022-12-16-22-00.json | 10 ++++ ...er-not-found-warning_2022-12-16-22-00.json | 10 ++++ ...er-not-found-warning_2022-12-16-22-00.json | 10 ++++ ...er-not-found-warning_2022-12-16-22-00.json | 10 ++++ ...er-not-found-warning_2022-12-16-22-00.json | 10 ++++ packages/bundler/package.json | 2 +- packages/cadl-vscode/package.json | 2 +- packages/compiler/CHANGELOG.json | 12 ++++ packages/compiler/CHANGELOG.md | 9 ++- packages/compiler/core/messages.ts | 2 +- packages/compiler/core/program.ts | 59 +++++++++++-------- packages/compiler/package.json | 2 +- packages/html-program-viewer/package.json | 4 +- packages/library-linter/package.json | 4 +- packages/lint/package.json | 4 +- packages/migrate/package.json | 4 +- packages/openapi/package.json | 4 +- packages/openapi3/package.json | 4 +- packages/playground/package.json | 2 +- packages/prettier-plugin-cadl/package.json | 2 +- packages/rest/package.json | 4 +- packages/samples/package.json | 2 +- packages/versioning/package.json | 2 +- 28 files changed, 177 insertions(+), 47 deletions(-) create mode 100644 common/changes/@cadl-lang/html-program-viewer/fix-emitter-not-found-warning_2022-12-16-22-00.json create mode 100644 common/changes/@cadl-lang/library-linter/fix-emitter-not-found-warning_2022-12-16-22-00.json create mode 100644 common/changes/@cadl-lang/lint/fix-emitter-not-found-warning_2022-12-16-22-00.json create mode 100644 common/changes/@cadl-lang/migrate/fix-emitter-not-found-warning_2022-12-16-22-00.json create mode 100644 common/changes/@cadl-lang/openapi/fix-emitter-not-found-warning_2022-12-16-22-00.json create mode 100644 common/changes/@cadl-lang/openapi3/fix-emitter-not-found-warning_2022-12-16-22-00.json create mode 100644 common/changes/@cadl-lang/prettier-plugin-cadl/fix-emitter-not-found-warning_2022-12-16-22-00.json create mode 100644 common/changes/@cadl-lang/rest/fix-emitter-not-found-warning_2022-12-16-22-00.json create mode 100644 common/changes/@cadl-lang/versioning/fix-emitter-not-found-warning_2022-12-16-22-00.json create mode 100644 common/changes/cadl-vscode/fix-emitter-not-found-warning_2022-12-16-22-00.json 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", From 104455378b07c81231271d64b04053c9388253b7 Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Mon, 19 Dec 2022 10:19:22 -0800 Subject: [PATCH 8/8] Refdoc --- packages/ref-doc/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/ref-doc/package.json b/packages/ref-doc/package.json index b5d133d8352..06aae505d9d 100644 --- a/packages/ref-doc/package.json +++ b/packages/ref-doc/package.json @@ -47,11 +47,11 @@ "!dist/test/**" ], "dependencies": { - "@cadl-lang/compiler": "~0.38.4", + "@cadl-lang/compiler": "~0.38.5", "prettier": "~2.7.1" }, "devDependencies": { - "@cadl-lang/compiler": "~0.38.4", + "@cadl-lang/compiler": "~0.38.5", "@cadl-lang/eslint-config-cadl": "~0.5.0", "@types/mocha": "~10.0.0", "@types/node": "~18.11.9",