Some checks failed
Test / test (macos-latest) (push) Has been cancelled
Test / test (ubuntu-latest) (push) Has been cancelled
Test / test (windows-latest) (push) Has been cancelled
Publish / publish (macos-latest) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
35 lines
962 B
TypeScript
35 lines
962 B
TypeScript
// Check if the renderer and main bundles are built
|
|
import path from 'path';
|
|
import chalk from 'chalk';
|
|
import fs from 'fs';
|
|
import { TextEncoder, TextDecoder } from 'node:util';
|
|
import webpackPaths from '../configs/webpack.paths';
|
|
|
|
const mainPath = path.join(webpackPaths.distMainPath, 'main.js');
|
|
const rendererPath = path.join(webpackPaths.distRendererPath, 'renderer.js');
|
|
|
|
if (!fs.existsSync(mainPath)) {
|
|
throw new Error(
|
|
chalk.whiteBright.bgRed.bold(
|
|
'The main process is not built yet. Build it by running "npm run build:main"',
|
|
),
|
|
);
|
|
}
|
|
|
|
if (!fs.existsSync(rendererPath)) {
|
|
throw new Error(
|
|
chalk.whiteBright.bgRed.bold(
|
|
'The renderer process is not built yet. Build it by running "npm run build:renderer"',
|
|
),
|
|
);
|
|
}
|
|
|
|
// JSDOM does not implement TextEncoder and TextDecoder
|
|
if (!global.TextEncoder) {
|
|
global.TextEncoder = TextEncoder;
|
|
}
|
|
if (!global.TextDecoder) {
|
|
// @ts-ignore
|
|
global.TextDecoder = TextDecoder;
|
|
}
|