From bb966b603c683ff2fe83297a03860ca229e12e16 Mon Sep 17 00:00:00 2001 From: Andrei O Date: Sun, 27 Mar 2022 15:54:00 +0300 Subject: [PATCH] fix: create-release-script --- package.json | 4 ++-- scripts/create-release.js | 34 ++++++++++++++++++++-------------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index 3c40959..9d6efdf 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,8 @@ "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "release": "yarn config set version-tag-prefix brave-detection-blocker@v && yarn config set version-git-message 'brave-detection-blocker@v%s' && yarn version --patch && yarn postversion", - "postversion": "git push && git push --tags", - "pub": "yarn release && node ./scripts/create-release.js" + "postversion": "git push", + "pub": "node ./scripts/create-release.js" }, "repository": { "type": "git", diff --git a/scripts/create-release.js b/scripts/create-release.js index 0f5ca76..df98275 100644 --- a/scripts/create-release.js +++ b/scripts/create-release.js @@ -1,6 +1,7 @@ const archiver = require('archiver'); const fs = require('fs'); const { spawn } = require('child_process'); +const path = require('path'); async function ghRelease(changes) { const package = JSON.parse(fs.readFileSync('package.json')); @@ -20,31 +21,36 @@ async function ghRelease(changes) { filePipes.forEach((file) => { arch = arch.file(file, { name: file }); }); - arch.on('error', (err) => reject(err)).pipe(stream); + arch.on('error', (err) => reject(err)).pipe(outputZip); - stream.on('close', () => resolve()); + outputZip.on('close', () => resolve()); arch.finalize(); }); - const changeLogPath = `releases/${package.version}-changeLog.md`; + const changeLogPath = `releases/${package.version}.changelog.md`; fs.writeFileSync( changeLogPath, - `# ${package.version} \n\n + `# ${package.version} \n ${changes.reduce((acc, change) => { return acc + `- ${change}\n`; }, '')}`, ); - await new Promise((resolve) => { - const p = spawn('gh', ['release', `create v${package.version} '${outputPath}' -F ${changeLogPath}`]); - let result = ''; - p.stdout.on('data', (data) => (result += data.toString())); - p.stderr.on('data', (data) => (result += data.toString())); - p.on('close', () => { - resolve(result); - }); - }); + console.log( + await new Promise((resolve) => { + const p = spawn('gh', ['release', 'create', `v${package.version}`, `./${outputPath}`, '-F', `./${changeLogPath}`], { + shell: true, + }); + // const p = spawn('pwd'); + let result = ''; + p.stdout.on('data', (data) => (result += data.toString())); + p.stderr.on('data', (data) => (result += data.toString())); + p.on('close', () => { + resolve(result); + }); + }), + ); } (async () => { @@ -53,6 +59,6 @@ async function ghRelease(changes) { return; } const changes = process.argv[2].split(','); - // ghRelease(changes) + await ghRelease(changes); console.log('Release created', changes); })();