From 2d6b19cde86798e53e6d2f272bccd578025ce69a Mon Sep 17 00:00:00 2001 From: Mark Dalgleish Date: Mon, 16 Oct 2023 15:51:58 +1100 Subject: [PATCH] fix(create): default Remix version to CLI version --- .../create-remix-default-remix-version.md | 5 ++++ packages/create-remix/index.ts | 6 ++--- packages/create-remix/remix-version.ts | 27 ------------------- 3 files changed, 7 insertions(+), 31 deletions(-) create mode 100644 .changeset/create-remix-default-remix-version.md delete mode 100644 packages/create-remix/remix-version.ts diff --git a/.changeset/create-remix-default-remix-version.md b/.changeset/create-remix-default-remix-version.md new file mode 100644 index 00000000000..23b45291327 --- /dev/null +++ b/.changeset/create-remix-default-remix-version.md @@ -0,0 +1,5 @@ +--- +"create-remix": patch +--- + +Set default Remix version to match the version of `create-remix` being used. This most notably enables easier usage of tags, e.g. `npm create remix@nightly`. diff --git a/packages/create-remix/index.ts b/packages/create-remix/index.ts index a46f6ca737c..3bb96ae6c70 100644 --- a/packages/create-remix/index.ts +++ b/packages/create-remix/index.ts @@ -32,7 +32,6 @@ import { } from "./utils"; import { renderLoadingIndicator } from "./loading-indicator"; import { copyTemplate, CopyTemplateError } from "./copy-template"; -import { getLatestRemixVersion } from "./remix-version"; async function createRemix(argv: string[]) { let ctx = await getContext(argv); @@ -121,7 +120,6 @@ async function getContext(argv: string[]): Promise { } = flags; let cwd = flags["_"][0] as string; - let latestRemixVersion = await getLatestRemixVersion(); let interactive = isInteractive(); let projectName = cwd; @@ -137,7 +135,7 @@ async function getContext(argv: string[]): Promise { } else { log( `\n${color.warning( - `${selectedRemixVersion} is an invalid version specifier. Using Remix v${latestRemixVersion}.` + `${selectedRemixVersion} is an invalid version specifier. Using Remix v${thisRemixVersion}.` )}` ); selectedRemixVersion = undefined; @@ -168,7 +166,7 @@ async function getContext(argv: string[]): Promise { ), projectName, prompt, - remixVersion: selectedRemixVersion || latestRemixVersion, + remixVersion: selectedRemixVersion || thisRemixVersion, template, token, versionRequested, diff --git a/packages/create-remix/remix-version.ts b/packages/create-remix/remix-version.ts deleted file mode 100644 index ab47da4a8ec..00000000000 --- a/packages/create-remix/remix-version.ts +++ /dev/null @@ -1,27 +0,0 @@ -import https from "node:https"; - -let _versionCache: string | null = null; -export async function getLatestRemixVersion() { - return new Promise((resolve, reject) => { - if (_versionCache) { - return resolve(_versionCache); - } - let request = https.get( - "https://registry.npmjs.org/remix/latest", - (res) => { - let body = ""; - res.on("data", (chunk) => (body += chunk)); - res.on("end", () => { - let { version } = JSON.parse(body); - _versionCache = version; - resolve(version); - }); - } - ); - - // set a short timeout to avoid super slow initiation - request.setTimeout(5000); - - request.on("error", (err) => reject(err)); - }); -}