From 71ec21616195c231049de83b3966d0a37d6ca4e6 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Wed, 1 Nov 2023 11:06:30 -0700 Subject: [PATCH 1/4] Uncomment first publish special cases, add missing (at)xterm Part of #4859 --- addons/addon-canvas/package.json | 2 +- addons/addon-fit/package.json | 2 +- addons/addon-image/package.json | 2 +- addons/addon-ligatures/package.json | 2 +- addons/addon-search/package.json | 2 +- addons/addon-serialize/README.md | 2 +- addons/addon-serialize/package.json | 2 +- addons/addon-unicode-graphemes/package.json | 2 +- addons/addon-unicode11/package.json | 2 +- addons/addon-web-links/package.json | 2 +- addons/addon-webgl/package.json | 3 +-- bin/publish.js | 10 ++++------ 12 files changed, 15 insertions(+), 18 deletions(-) diff --git a/addons/addon-canvas/package.json b/addons/addon-canvas/package.json index a614c281..9aabb001 100644 --- a/addons/addon-canvas/package.json +++ b/addons/addon-canvas/package.json @@ -23,6 +23,6 @@ "start-server-only": "node ../../demo/start-server-only" }, "peerDependencies": { - "xterm": "^5.0.0" + "@xterm/xterm": "^5.0.0" } } diff --git a/addons/addon-fit/package.json b/addons/addon-fit/package.json index 046ef4d8..585f3621 100644 --- a/addons/addon-fit/package.json +++ b/addons/addon-fit/package.json @@ -21,6 +21,6 @@ "prepublishOnly": "npm run package" }, "peerDependencies": { - "xterm": "^5.0.0" + "@xterm/xterm": "^5.0.0" } } diff --git a/addons/addon-image/package.json b/addons/addon-image/package.json index 4b0f8cdc..8572e330 100644 --- a/addons/addon-image/package.json +++ b/addons/addon-image/package.json @@ -22,7 +22,7 @@ "prepublishOnly": "npm run package" }, "peerDependencies": { - "xterm": "^5.2.0" + "@xterm/xterm": "^5.2.0" }, "devDependencies": { "sixel": "^0.16.0", diff --git a/addons/addon-ligatures/package.json b/addons/addon-ligatures/package.json index c62f9e08..30251888 100644 --- a/addons/addon-ligatures/package.json +++ b/addons/addon-ligatures/package.json @@ -42,6 +42,6 @@ "yauzl": "^2.10.0" }, "peerDependencies": { - "xterm": "^5.0.0" + "@xterm/xterm": "^5.0.0" } } diff --git a/addons/addon-search/package.json b/addons/addon-search/package.json index 9fab82af..ae4fb5d9 100644 --- a/addons/addon-search/package.json +++ b/addons/addon-search/package.json @@ -21,6 +21,6 @@ "prepublishOnly": "npm run package" }, "peerDependencies": { - "xterm": "^5.0.0" + "@xterm/xterm": "^5.0.0" } } diff --git a/addons/addon-serialize/README.md b/addons/addon-serialize/README.md index f0116893..862ebac3 100644 --- a/addons/addon-serialize/README.md +++ b/addons/addon-serialize/README.md @@ -13,7 +13,7 @@ npm install --save @xterm/addon-serialize ### Usage ```ts -import { Terminal } from "xterm"; +import { Terminal } from "@xterm/xterm"; import { SerializeAddon } from "@xterm/addon-serialize"; const terminal = new Terminal(); diff --git a/addons/addon-serialize/package.json b/addons/addon-serialize/package.json index c95bc531..763c52ca 100644 --- a/addons/addon-serialize/package.json +++ b/addons/addon-serialize/package.json @@ -24,6 +24,6 @@ "benchmark-eval": "NODE_PATH=../../out:./out:./out-benchmark/ ../../node_modules/.bin/xterm-benchmark -r 5 -c benchmark/benchmark.json --eval out-benchmark/benchmark/*benchmark.js" }, "peerDependencies": { - "xterm": "^5.0.0" + "@xterm/xterm": "^5.0.0" } } diff --git a/addons/addon-unicode-graphemes/package.json b/addons/addon-unicode-graphemes/package.json index 5e270025..d49eda87 100644 --- a/addons/addon-unicode-graphemes/package.json +++ b/addons/addon-unicode-graphemes/package.json @@ -24,6 +24,6 @@ "benchmark-eval": "NODE_PATH=../../out:./out:./out-benchmark/ ../../node_modules/.bin/xterm-benchmark -r 5 -c benchmark/benchmark.json --eval out-benchmark/benchmark/*benchmark.js" }, "peerDependencies": { - "xterm": "^5.0.0" + "@xterm/xterm": "^5.0.0" } } diff --git a/addons/addon-unicode11/package.json b/addons/addon-unicode11/package.json index b54f9ab4..ad6a4892 100644 --- a/addons/addon-unicode11/package.json +++ b/addons/addon-unicode11/package.json @@ -21,6 +21,6 @@ "prepublishOnly": "npm run package" }, "peerDependencies": { - "xterm": "^5.0.0" + "@xterm/xterm": "^5.0.0" } } diff --git a/addons/addon-web-links/package.json b/addons/addon-web-links/package.json index e1d60b02..6367907a 100644 --- a/addons/addon-web-links/package.json +++ b/addons/addon-web-links/package.json @@ -21,7 +21,7 @@ "prepublishOnly": "npm run package" }, "peerDependencies": { - "xterm": "^5.0.0" + "@xterm/xterm": "^5.0.0" } } diff --git a/addons/addon-webgl/package.json b/addons/addon-webgl/package.json index f52f8b59..9a31c306 100644 --- a/addons/addon-webgl/package.json +++ b/addons/addon-webgl/package.json @@ -23,7 +23,6 @@ "start-server-only": "node ../../demo/start-server-only" }, "peerDependencies": { - "xterm": "^5.0.0" + "@xterm/xterm": "^5.0.0" } - } diff --git a/bin/publish.js b/bin/publish.js index 4d60342d..8394362a 100644 --- a/bin/publish.js +++ b/bin/publish.js @@ -42,11 +42,10 @@ const addonPackageDirs = [ console.log(`Checking if addons need to be published`); for (const p of addonPackageDirs) { const addon = path.basename(p); - // TODO: Uncomment after first publish - // if (changedFiles.some(e => e.includes(addon))) { + if (changedFiles.some(e => e.includes(addon))) { console.log(`Try publish ${addon}`); checkAndPublishPackage(p); - // } + } } // Publish website if it's a stable release @@ -58,9 +57,8 @@ function checkAndPublishPackage(packageDir) { const packageJson = require(path.join(packageDir, 'package.json')); // Determine if this is a stable or beta release - // TODO: Uncomment after first publish - // const publishedVersions = getPublishedVersions(packageJson); - const isStableRelease = false; // !publishedVersions.includes(packageJson.version); + const publishedVersions = getPublishedVersions(packageJson); + const isStableRelease = !publishedVersions.includes(packageJson.version); // Get the next version let nextVersion = isStableRelease ? packageJson.version : getNextBetaVersion(packageJson); From 64534e1b7a151d666b24d14acc42be19e18cd763 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Wed, 1 Nov 2023 11:07:41 -0700 Subject: [PATCH 2/4] Fix missing peer dep --- addons/addon-attach/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/addon-attach/package.json b/addons/addon-attach/package.json index 8e5a413e..94b483dd 100644 --- a/addons/addon-attach/package.json +++ b/addons/addon-attach/package.json @@ -21,6 +21,6 @@ "prepublishOnly": "npm run package" }, "peerDependencies": { - "xterm": "^5.0.0" + "@xterm/xterm": "^5.0.0" } } From eac8124320f38edd6295d86044c41d2ab9eda74f Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Wed, 1 Nov 2023 11:27:04 -0700 Subject: [PATCH 3/4] Fix stable release check --- bin/publish.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bin/publish.js b/bin/publish.js index 8394362a..a934ffe2 100644 --- a/bin/publish.js +++ b/bin/publish.js @@ -57,8 +57,9 @@ function checkAndPublishPackage(packageDir) { const packageJson = require(path.join(packageDir, 'package.json')); // Determine if this is a stable or beta release - const publishedVersions = getPublishedVersions(packageJson); - const isStableRelease = !publishedVersions.includes(packageJson.version); + // TODO: Uncomment when publishing 5.4 + // const publishedVersions = getPublishedVersions(packageJson); + const isStableRelease = false; //!publishedVersions.includes(packageJson.version); // Get the next version let nextVersion = isStableRelease ? packageJson.version : getNextBetaVersion(packageJson); From bbbde9261f2939ec05dc5c1c0d59b494016f3630 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Wed, 1 Nov 2023 11:59:42 -0700 Subject: [PATCH 4/4] Fix parsing of low version count --- bin/publish.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/bin/publish.js b/bin/publish.js index a934ffe2..7253dffb 100644 --- a/bin/publish.js +++ b/bin/publish.js @@ -114,12 +114,20 @@ function getNextBetaVersion(packageJson) { return `${nextStableVersion}-${tag}.${latestTagVersion + 1}`; } +function asArray(value) { + return Array.isArray(value) ? value : [value]; +} + function getPublishedVersions(packageJson, version, tag) { - const versionsProcess = cp.spawnSync('npm', ['view', packageJson.name, 'versions', '--json']); - const versionsJson = JSON.parse(versionsProcess.stdout); - if (!versionsJson || !Array.isArray(versionsJson) || versionsJson.length === 0) { - return []; + const versionsProcess = cp.spawnSync(os.platform === 'win32' ? 'npm.cmd' : 'npm', ['view', packageJson.name, 'versions', '--json']); + if (versionsProcess.stdout.length === 0 && versionsProcess.stderr) { + const err = versionsProcess.stderr.toString(); + if (err.indexOf('404 Not Found - GET https://registry.npmjs.org/@xterm') > 0) { + return []; + } + throw new Error('Could not get published versions\n' + err); } + const versionsJson = asArray(JSON.parse(versionsProcess.stdout)); if (tag) { return versionsJson.filter(v => !v.search(new RegExp(`${version}-${tag}.[0-9]+`))); }