Skip to content

Commit d294cf8

Browse files
ozgesolidkeyclaude
andcommitted
Fix CI failures on Windows by using cross-platform copy-assets script
Replace Unix shell commands (cp, mkdir -p) with a Node.js script that uses fs.copyFileSync/cpSync, which works on all platforms. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 5756664 commit d294cf8

2 files changed

Lines changed: 31 additions & 1 deletion

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"scripts": {
77
"postinstall": "npx @electron/rebuild",
88
"build": "tsc && npm run copy-assets",
9-
"copy-assets": "cp src/renderer/index.html src/renderer/styles.css dist/renderer/ && cp -r src/renderer/assets dist/renderer/ && mkdir -p dist/renderer/lib && cp node_modules/xterm/css/xterm.css dist/renderer/lib/ && cp node_modules/xterm/lib/xterm.js dist/renderer/lib/ && cp node_modules/xterm-addon-fit/lib/xterm-addon-fit.js dist/renderer/lib/ && cp node_modules/marked/lib/marked.umd.js dist/renderer/lib/",
9+
"copy-assets": "node scripts/copy-assets.js",
1010
"start": "npm run build && electron .",
1111
"dev": "npm run build && electron .",
1212
"watch": "tsc -w",

scripts/copy-assets.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
const fs = require('fs');
2+
const path = require('path');
3+
4+
const root = path.resolve(__dirname, '..');
5+
6+
function copyFile(src, destDir) {
7+
fs.mkdirSync(destDir, { recursive: true });
8+
fs.copyFileSync(
9+
path.join(root, src),
10+
path.join(root, destDir, path.basename(src))
11+
);
12+
}
13+
14+
function copyDir(src, dest) {
15+
fs.cpSync(path.join(root, src), path.join(root, dest), { recursive: true });
16+
}
17+
18+
// src/renderer/index.html, styles.css → dist/renderer/
19+
copyFile('src/renderer/index.html', 'dist/renderer');
20+
copyFile('src/renderer/styles.css', 'dist/renderer');
21+
22+
// src/renderer/assets/ → dist/renderer/assets/
23+
copyDir('src/renderer/assets', 'dist/renderer/assets');
24+
25+
// vendor libs → dist/renderer/lib/
26+
const libDir = 'dist/renderer/lib';
27+
copyFile('node_modules/xterm/css/xterm.css', libDir);
28+
copyFile('node_modules/xterm/lib/xterm.js', libDir);
29+
copyFile('node_modules/xterm-addon-fit/lib/xterm-addon-fit.js', libDir);
30+
copyFile('node_modules/marked/lib/marked.umd.js', libDir);

0 commit comments

Comments
 (0)