Create headless package script

This commit is contained in:
Daniel Imms
2021-08-10 12:50:22 -07:00
parent f769d03e0c
commit 4a200e59ac
3 changed files with 47 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
/**
* Copyright (c) 2021 The xterm.js authors. All rights reserved.
* @license MIT
*/
const fs = require('fs');
const { join } = require('path');
const repoRoot = join(__dirname, '..');
const headlessRoot = join(repoRoot, 'headless');
// Create headless/package.json
console.log('> Creating headless/package.json');
const xtermPackageJson = require('../package.json');
const xtermHeadlessPackageJson = {
...xtermPackageJson,
name: 'xterm-headless',
description: 'A headless terminal component that runs in Node.js',
main: 'lib/xterm-headless.js',
types: 'typings/xterm-headless.d.ts',
};
delete xtermHeadlessPackageJson['scripts'];
delete xtermHeadlessPackageJson['devDependencies'];
delete xtermHeadlessPackageJson['style'];
xtermHeadlessPackageJson.version += '-alpha';
fs.writeFileSync(join(headlessRoot, 'package.json'), JSON.stringify(xtermHeadlessPackageJson, null, 1));
console.log(fs.readFileSync(join(headlessRoot, 'package.json')).toString());
console.log('> Creating headless/typings');
mkdirF(join(headlessRoot, 'typings'));
fs.copyFileSync(
join(repoRoot, 'typings/xterm-headless.d.ts'),
join(headlessRoot, 'typings/xterm-headless.d.ts')
);
function mkdirF(p) {
if (!fs.existsSync(p)) {
fs.mkdirSync(p);
}
}
+2
View File
@@ -0,0 +1,2 @@
typings/
package.json
+5
View File
@@ -0,0 +1,5 @@
# [![xterm.js logo](../logo-full.png)](https://xtermjs.org)
⚠ This package is a work in progress
`xterm-headless` is a headless terminal that can be run in node.js. This is useful in combination with the frontend [`xterm`](https://www.npmjs.com/package/xterm) for example to keep track of a terminal's state on a remote server where the process is hosted.