diff options
| author | Markus Pettersson <markus.pettersson@mullvad.net> | 2025-05-06 11:55:21 +0200 |
|---|---|---|
| committer | Markus Pettersson <markus.pettersson@mullvad.net> | 2025-05-06 11:55:21 +0200 |
| commit | c228ff918ac023c1c76bb4cf4f3d595a181cea63 (patch) | |
| tree | 5afb4005c47f8c9e214a45404293994a89448626 | |
| parent | e2d5c7affb74a055423513319be238378d2a06f0 (diff) | |
| parent | cf164ad522889932d0235b2ecb45b44dd56d11fb (diff) | |
| download | mullvadvpn-c228ff918ac023c1c76bb4cf4f3d595a181cea63.tar.xz mullvadvpn-c228ff918ac023c1c76bb4cf4f3d595a181cea63.zip | |
Merge branch 're-introduce-type-checking-before-production-builds-des-2111'
| -rw-r--r-- | desktop/packages/mullvad-vpn/package.json | 1 | ||||
| -rw-r--r-- | desktop/packages/mullvad-vpn/tasks/build.js | 5 | ||||
| -rw-r--r-- | desktop/packages/mullvad-vpn/tasks/utils.js | 23 |
3 files changed, 22 insertions, 7 deletions
diff --git a/desktop/packages/mullvad-vpn/package.json b/desktop/packages/mullvad-vpn/package.json index 00dddce9cc..5535b6d561 100644 --- a/desktop/packages/mullvad-vpn/package.json +++ b/desktop/packages/mullvad-vpn/package.json @@ -93,6 +93,7 @@ "develop": "vite", "develop:vite": "vite", "test": "cross-env NODE_ENV=test mocha --reporter spec --require ts-node/register --require \"test/unit/setup.ts\" \"test/unit/*.spec.ts\"", + "type-check": "tsc --noEmit", "update-translations": "node scripts/extract-translations", "pack:mac": "node tasks/pack-mac.js", "pack:win": "node tasks/pack-windows.js", diff --git a/desktop/packages/mullvad-vpn/tasks/build.js b/desktop/packages/mullvad-vpn/tasks/build.js index 856f061d5a..1f429b61e2 100644 --- a/desktop/packages/mullvad-vpn/tasks/build.js +++ b/desktop/packages/mullvad-vpn/tasks/build.js @@ -3,7 +3,7 @@ const { copyRecursively, getCopyExtensionFilter, removeRecursively, - runCommand, + runNpmScript, } = require('./utils'); const WORKSPACE_PROJECT_ROOT = path.resolve(__dirname, '..'); @@ -32,7 +32,8 @@ async function copyAssetsToBuildDirectory() { async function build() { await removeRecursively(BUILD_DIR); - await runCommand('npm run build:vite'); + await runNpmScript('type-check'); + await runNpmScript('build:vite'); await copyAssetsToBuildDirectory(); } diff --git a/desktop/packages/mullvad-vpn/tasks/utils.js b/desktop/packages/mullvad-vpn/tasks/utils.js index 4a5d25b415..0b40022d53 100644 --- a/desktop/packages/mullvad-vpn/tasks/utils.js +++ b/desktop/packages/mullvad-vpn/tasks/utils.js @@ -39,15 +39,27 @@ async function removeRecursively(path) { }); } +async function runNpmScript(scriptName) { + const command = `npm run ${scriptName}`; + + try { + await runCommand(command); + } catch (errors) { + if (Array.isArray(errors)) { + // Remove first error as it will always + // bubble up and be printed to the console. + errors.slice(1).forEach((error) => { + console.error(new Error(error)); + }); + } + } +} + async function runCommand(command) { return new Promise((resolve, reject) => { childProcess.exec(command, (error, stdout, stderr) => { if (error) { - return reject(error); - } - - if (stderr) { - console.error(stderr); + return reject([error, stdout, stderr]); } return resolve([stdout, stderr]); @@ -63,4 +75,5 @@ exports.copyRecursively = copyRecursively; exports.getCopyExtensionFilter = getCopyExtensionFilter; exports.removeRecursively = removeRecursively; exports.runCommand = runCommand; +exports.runNpmScript = runNpmScript; exports.setNodeEnvironment = setNodeEnvironment; |
