mirror of
https://github.com/The-Low-Code-Foundation/OpenNoodl.git
synced 2026-01-10 14:22:53 +01:00
57 lines
1.7 KiB
TypeScript
57 lines
1.7 KiB
TypeScript
import { execSync } from 'child_process';
|
|
|
|
import { valueToBoolean } from '../../../scripts/helper';
|
|
import { BuildTarget, getDistPlatform } from './platform/build-platforms';
|
|
|
|
(async function () {
|
|
// Inputs
|
|
const DISABLE_SIGNING = valueToBoolean(process.env.DISABLE_SIGNING);
|
|
const TARGET_PLATFORM = process.env.TARGET_PLATFORM;
|
|
|
|
if (!TARGET_PLATFORM) throw new Error('TARGET_PLATFORM is falsy');
|
|
|
|
// Variables
|
|
const [platform, arch] = TARGET_PLATFORM.trim().split('-');
|
|
// @ts-expect-error TODO: Add validation on the input.
|
|
const target: BuildTarget = { platform, arch };
|
|
|
|
// Debug Configuration
|
|
console.log('@ -> packages/noodl-editor/scripts/build.ts');
|
|
console.log('--- Configuration');
|
|
console.log('> DISABLE_SIGNING: ', DISABLE_SIGNING);
|
|
console.log('> TARGET_PLATFORM: ', TARGET_PLATFORM);
|
|
console.log('---');
|
|
|
|
// Build Renderer
|
|
console.log("--- Run webpack 'webpack.renderer.production.js' ...");
|
|
execSync('npx webpack --config=webpackconfigs/webpack.renderer.production.js', {
|
|
stdio: 'inherit',
|
|
env: process.env
|
|
});
|
|
console.log('--- done!');
|
|
|
|
// Build Main
|
|
console.log("--- Run webpack 'webpack.main.production.js' ...");
|
|
execSync('npx webpack --config=webpackconfigs/webpack.main.production.js', {
|
|
stdio: 'inherit',
|
|
env: process.env
|
|
});
|
|
console.log('--- done!');
|
|
|
|
const platformName = getDistPlatform(target.platform);
|
|
const args = [`--${platformName}`, `--${target.arch}`].join(' ');
|
|
|
|
console.log(`--- Run: 'npx electron-builder ${args}' ...`);
|
|
execSync('npx electron-builder ' + args, {
|
|
stdio: [0, 1, 2],
|
|
env: Object.assign(
|
|
DISABLE_SIGNING
|
|
? {}
|
|
: {
|
|
// CSC_NAME: 'Add signing name here'
|
|
},
|
|
process.env
|
|
)
|
|
});
|
|
})();
|