diff options
Diffstat (limited to 'tools/astro-vscode/scripts')
-rw-r--r-- | tools/astro-vscode/scripts/publish.mjs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tools/astro-vscode/scripts/publish.mjs b/tools/astro-vscode/scripts/publish.mjs new file mode 100644 index 000000000..93a36e804 --- /dev/null +++ b/tools/astro-vscode/scripts/publish.mjs @@ -0,0 +1,41 @@ +import { promises as fs } from 'fs'; +import { fileURLToPath } from 'url'; +import execa from 'execa'; + +/** Copies `astro-languageserver` to our file */ +async function publish() { + const p0 = execa('yarn', ['lerna', 'run', 'build', '--scope', 'astro-vscode', '--scope', 'astro-languageserver'], { all: true }); + p0.all.setEncoding('utf8'); + for await (const chunk of p0.all) { + console.log(chunk); + + if (/lerna success/g.test(chunk)) { + break; + } + + if (/ERROR/g.test(chunk)) { + process.exit(1); + } + } + + await execa('npm', ['install']); + + const p1 = execa('vsce', ['publish'], { all: true }); + + p1.all.setEncoding('utf8'); + for await (const chunk of p1.all) { + console.log(chunk); + + if (/DONE/g.test(chunk)) { + break; + } + + if (/ERROR/g.test(chunk)) { + process.exit(1); + } + } + + p1.kill(); +} + +publish(); |