Files
xterm.js/bin/package_headless.js
T

41 lines
1.2 KiB
JavaScript

/**
* 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-headless/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);
}
}