openreplay/tracker/tracker/scripts/compile.cjs
2022-07-25 12:21:06 +02:00

47 lines
1.2 KiB
JavaScript

const { promises: fs } = require('fs')
const replaceInFiles = require('replace-in-files')
const packageConfig = require('../package.json')
async function main() {
const webworker = await fs.readFile('build/webworker.js', 'utf8');
await replaceInFiles({
files: 'build/**/*',
from: 'TRACKER_VERSION',
to: packageConfig.version,
});
await replaceInFiles({
files: 'build/**/*',
from: 'WEBWORKER_BODY',
to: webworker.replace(/'/g, "\\'").replace(/\n/g, ""),
});
await fs.rename('build/main', 'lib');
await fs.rename('build/common', 'lib/common');
await replaceInFiles({
files: 'lib/*',
from: /\.\.\/common/g,
to: './common',
});
await replaceInFiles({
files: 'lib/**/*',
from: /\.\.\/\.\.\/common/g,
to: '../common',
});
await fs.rename('build/cjs/main', 'cjs');
await fs.rename('build/cjs/common', 'cjs/common');
await fs.writeFile('cjs/package.json', `{ "type": "commonjs" }`);
await replaceInFiles({
files: 'cjs/*',
from: /\.\.\/common/g,
to: './common',
});
await replaceInFiles({
files: 'cjs/**/*',
from: /\.\.\/\.\.\/common/g,
to: '../common',
});
}
main()
.then(() => console.log('compiled'))
.catch((err) => console.error(err));