mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
fix(build): remove python launcher dep and tighten target resolution
This commit is contained in:
1
.github/workflows/ci.yml
vendored
1
.github/workflows/ci.yml
vendored
@@ -39,6 +39,7 @@ jobs:
|
|||||||
run: bun install --frozen-lockfile
|
run: bun install --frozen-lockfile
|
||||||
|
|
||||||
- name: Build (TypeScript check)
|
- name: Build (TypeScript check)
|
||||||
|
# Keep explicit typecheck for fast fail before full build/bundle.
|
||||||
run: bun run tsc --noEmit
|
run: bun run tsc --noEmit
|
||||||
|
|
||||||
- name: Build (bundle)
|
- name: Build (bundle)
|
||||||
|
|||||||
6
Makefile
6
Makefile
@@ -54,7 +54,7 @@ help:
|
|||||||
" dev-toggle Toggle overlay in a running local Electron app" \
|
" dev-toggle Toggle overlay in a running local Electron app" \
|
||||||
" dev-stop Stop a running local Electron app" \
|
" dev-stop Stop a running local Electron app" \
|
||||||
" docs-dev Run VitePress docs dev server" \
|
" docs-dev Run VitePress docs dev server" \
|
||||||
" docs Build VitePress static docs" \
|
" docs Build VitePress static docs" \
|
||||||
" docs-preview Preview built VitePress docs" \
|
" docs-preview Preview built VitePress docs" \
|
||||||
" install-linux Install Linux wrapper/theme/app artifacts" \
|
" install-linux Install Linux wrapper/theme/app artifacts" \
|
||||||
" install-macos Install macOS wrapper/theme/app artifacts" \
|
" install-macos Install macOS wrapper/theme/app artifacts" \
|
||||||
@@ -134,7 +134,9 @@ build-macos-unsigned: deps
|
|||||||
build-launcher:
|
build-launcher:
|
||||||
@printf '%s\n' "[INFO] Bundling launcher script"
|
@printf '%s\n' "[INFO] Bundling launcher script"
|
||||||
@bun build ./launcher/main.ts --target=bun --packages=bundle --outfile=subminer
|
@bun build ./launcher/main.ts --target=bun --packages=bundle --outfile=subminer
|
||||||
@python3 -c 'from pathlib import Path; p=Path("subminer"); c=p.read_text(); c=("#!/usr/bin/env bun\n"+c) if not c.startswith("#!/usr/bin/env bun\n") else c; p.write_text(c)'
|
@if ! head -1 subminer | grep -q '^#!/usr/bin/env bun'; then \
|
||||||
|
{ printf '#!/usr/bin/env bun\n'; cat subminer; } > subminer.tmp && mv subminer.tmp subminer; \
|
||||||
|
fi
|
||||||
@chmod +x subminer
|
@chmod +x subminer
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
|||||||
3
bun.lock
3
bun.lock
@@ -18,6 +18,7 @@
|
|||||||
"electron": "^37.10.3",
|
"electron": "^37.10.3",
|
||||||
"electron-builder": "^26.7.0",
|
"electron-builder": "^26.7.0",
|
||||||
"esbuild": "^0.25.0",
|
"esbuild": "^0.25.0",
|
||||||
|
"prettier": "^3.6.2",
|
||||||
"typescript": "^5.9.3",
|
"typescript": "^5.9.3",
|
||||||
"vitepress": "^1.6.4",
|
"vitepress": "^1.6.4",
|
||||||
},
|
},
|
||||||
@@ -970,6 +971,8 @@
|
|||||||
|
|
||||||
"preact": ["preact@10.28.3", "", {}, "sha512-tCmoRkPQLpBeWzpmbhryairGnhW9tKV6c6gr/w+RhoRoKEJwsjzipwp//1oCpGPOchvSLaAPlpcJi9MwMmoPyA=="],
|
"preact": ["preact@10.28.3", "", {}, "sha512-tCmoRkPQLpBeWzpmbhryairGnhW9tKV6c6gr/w+RhoRoKEJwsjzipwp//1oCpGPOchvSLaAPlpcJi9MwMmoPyA=="],
|
||||||
|
|
||||||
|
"prettier": ["prettier@3.8.1", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg=="],
|
||||||
|
|
||||||
"proc-log": ["proc-log@5.0.0", "", {}, "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ=="],
|
"proc-log": ["proc-log@5.0.0", "", {}, "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ=="],
|
||||||
|
|
||||||
"progress": ["progress@2.0.3", "", {}, "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="],
|
"progress": ["progress@2.0.3", "", {}, "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="],
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ cd SubMiner
|
|||||||
make deps
|
make deps
|
||||||
# or manually:
|
# or manually:
|
||||||
bun install
|
bun install
|
||||||
bun --cwd vendor/texthooker-ui install
|
cd vendor/texthooker-ui && bun install
|
||||||
```
|
```
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|||||||
@@ -216,12 +216,18 @@ function ensureTarget(target: string, parsed: Args): void {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const resolved = resolvePathMaybe(target);
|
const resolved = resolvePathMaybe(target);
|
||||||
if (fs.existsSync(resolved) && fs.statSync(resolved).isFile()) {
|
let stat: fs.Stats | null = null;
|
||||||
|
try {
|
||||||
|
stat = fs.statSync(resolved);
|
||||||
|
} catch {
|
||||||
|
stat = null;
|
||||||
|
}
|
||||||
|
if (stat?.isFile()) {
|
||||||
parsed.target = resolved;
|
parsed.target = resolved;
|
||||||
parsed.targetKind = 'file';
|
parsed.targetKind = 'file';
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (fs.existsSync(resolved) && fs.statSync(resolved).isDirectory()) {
|
if (stat?.isDirectory()) {
|
||||||
parsed.directory = resolved;
|
parsed.directory = resolved;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user