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",