Skip to content

Commit 92c4d97

Browse files
committed
Move build config into a subfolder
1 parent a5dbed3 commit 92c4d97

6 files changed

Lines changed: 16 additions & 13 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ dist/
55
httptoolkit-server/
66
appveyor-tools/
77
.playwright/
8+
httptoolkit-server.tar.gz
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// This config just re-exposes the config from package.json, but
22
// disables code signing & notarization for PR builds where it won't work.
33

4-
const packageJson = require('./package.json');
4+
const packageJson = require('../package.json');
55

66
const unsignedMode = process.env.ENABLE_SIGNING !== 'true';
77

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import * as semver from 'semver';
99
import targz from 'targz';
1010
import { execSync } from 'child_process';
1111

12-
import packageJson from './package.json' with { type: 'json' };
12+
import packageJson from '../package.json' with { type: 'json' };
1313

1414
const extractTarGz = promisify(targz.decompress);
1515

@@ -18,17 +18,19 @@ const deleteDir = (p: string) => fs.rm(p, { recursive: true, force: true });
1818

1919
const requiredServerVersion = 'v' + packageJson.config['httptoolkit-server-version'];
2020

21+
const serverDir = path.join(import.meta.dirname, '..', 'httptoolkit-server');
22+
2123
// For local testing of the desktop app, we need to pull the latest server and unpack it.
2224
// This real prod server will then be used with the real prod web UI, but this local desktop app.
2325
async function setUpLocalEnv() {
24-
const serverExists = await canAccess('./httptoolkit-server/package.json');
26+
const serverExists = await canAccess(path.join(serverDir, 'package.json'))
2527
const serverVersion = serverExists
26-
? JSON.parse(readFileSync('./httptoolkit-server/package.json').toString()).version
28+
? JSON.parse(readFileSync(path.join(serverDir, 'package.json')).toString()).version
2729
: null;
2830

2931
if (!serverVersion || semver.neq(serverVersion, requiredServerVersion)) {
30-
if (serverExists) await deleteDir('./httptoolkit-server');
31-
await insertServer(import.meta.dirname, os.platform(), os.arch());
32+
if (serverExists) await deleteDir(serverDir);
33+
await insertServer(path.join(import.meta.dirname, '..'), os.platform(), os.arch());
3234
console.log('Server setup completed.');
3335
} else {
3436
console.log('Correct server already downloaded.');
@@ -39,7 +41,7 @@ async function setUpLocalEnv() {
3941
// caused by https://github.com/nodejs/node-gyp/commit/b9ddcd5bbd93b05b03674836b6ebdae2c2e74c8c,
4042
// we manually remove node_gyp_bins subdirectories. Done by shell just
4143
// because it's a quick easy fix:
42-
execSync('find httptoolkit-server/node_modules -type d -name node_gyp_bins -prune -exec rm -r {} \\;');
44+
execSync(`find "${serverDir}/node_modules" -type d -name node_gyp_bins -prune -exec rm -r {} \\;`);
4345
}
4446
}
4547

skip-server.ts renamed to build-setup/skip-server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const deleteDir = (p: string) => fs.rm(p, { recursive: true, force: true });
88
// This lets us edit both and the desktop together. We do this by creating a fake server,
99
// which doesn't exit, but otherwise does nothing.
1010
async function setUpDevEnv() {
11-
const serverFolder = path.join(import.meta.dirname, 'httptoolkit-server');
11+
const serverFolder = path.join(import.meta.dirname, '..', 'httptoolkit-server');
1212
const serverExists = await canAccess(serverFolder);
1313

1414
if (serverExists) await deleteDir(serverFolder);
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@ function removeSourceMapAnnotation(filePath: string): void {
2020
// We have to strip the source map comment from here, otherwise when it loads
2121
// in Chrome, it tries to get preload.js.map from the real server, leaving
2222
// us with an annoying error because that's never going to work.
23-
const filePath = path.join(import.meta.dirname, 'build', 'preload.cjs');
23+
const filePath = path.join(import.meta.dirname, '..', 'build', 'preload.cjs');
2424
removeSourceMapAnnotation(filePath);

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99
"main": "build/index.js",
1010
"scripts": {
1111
"postinstall": "electron-builder install-app-deps",
12-
"server:setup": "tsx ./setup-server.ts",
12+
"server:setup": "tsx ./build-setup/setup-server.ts",
1313
"build": "npm run build:src && npm run build:electron",
1414
"build:src": "tsc",
15-
"postbuild:src": "tsx ./strip-preload-map.ts",
16-
"build:electron": "npm run server:setup && electron-builder build --config electron-builder.config.cjs",
15+
"postbuild:src": "tsx ./build-setup/strip-preload-map.ts",
16+
"build:electron": "npm run server:setup && electron-builder build --config ./build-setup/electron-builder.config.cjs",
1717
"build:dir-only": "npm run server:setup && electron-builder --dir",
1818
"start": "npm run server:setup && npm run start:app",
19-
"start:dev": "tsx ./skip-server.ts && cross-env HTK_DEV=true APP_URL='http://localhost:8080' npm run start:app",
19+
"start:dev": "tsx ./build-setup/skip-server.ts && cross-env HTK_DEV=true APP_URL='http://localhost:8080' npm run start:app",
2020
"start:app": "tsc-watch --onSuccess \"electron .\"",
2121
"test": "npm run server:setup && npm run build:src && playwright test"
2222
},

0 commit comments

Comments
 (0)