Files
webadderall 9a5ff5c0a2 feat: ui overhaul — Phosphor icons, redesigned launcher, editor layout, and component refresh
- Replace all lucide-react imports with @phosphor-icons/react across every
  component (LaunchWindow, AnnotationSettingsPanel, ExtensionManager,
  ExtensionIcon, VideoPlayback, AnnotationOverlay, CropControl, TutorialHelp,
  PlaybackControls, all shadcn ui/ primitives, etc.)
- ExtensionIcon: new Phosphor-based resolver with Lucide name alias map for
  backwards-compatible extension manifests
- LaunchWindow / SourceSelector: full redesign — new icon rail layout,
  updated backgrounds, improved source selection UX, audio/video controls,
  countdown overlay
- VideoPlayback: overhaul playback controls and preview panel layout
- Timeline items: border-radius 16px→8px, cyan→blue unification, pill height
  85% for breathing room, resize handle vertical centering
- shadcn ui/: refresh accordion, dialog, dropdown, select, slider, switch,
  tabs, toggle, popover, button, card, input, label, sonner, content-clamp,
  audio-level-meter
- App.tsx / index.css / App.css / tailwind.config: global style updates
- types.ts, captionLayout.ts, captionStyle.ts, webcamOverlay.ts: data model
  updates to support new timeline and export features
- package.json: add @phosphor-icons/react, bump dependencies
- scripts/, .eslintrc, biome, tsconfig, vite.config: tooling alignment
- extension-sources: update built-in extension bundles
2026-04-16 18:01:04 +10:00

50 lines
1.2 KiB
JavaScript

import { spawnSync } from "node:child_process";
const npmExecPath = process.env.npm_execpath;
const hasNpmExecPath = typeof npmExecPath === "string" && npmExecPath.length > 0;
const npmInvoker = hasNpmExecPath
? {
command: process.execPath,
argsPrefix: [npmExecPath],
shell: false,
}
: {
command: process.platform === "win32" ? "npm.cmd" : "npm",
argsPrefix: [],
shell: process.platform === "win32",
};
function runScript(scriptName) {
console.log(`[postinstall] Running npm script: ${scriptName}`);
const result = spawnSync(npmInvoker.command, [...npmInvoker.argsPrefix, "run", scriptName], {
stdio: "inherit",
env: process.env,
shell: npmInvoker.shell,
});
if (result.error) {
console.error(`[postinstall] Failed to start "${scriptName}" (${result.error.message}).`);
return false;
}
if (result.signal) {
console.error(`[postinstall] "${scriptName}" was terminated by signal ${result.signal}.`);
return false;
}
if (result.status !== 0) {
console.error(`[postinstall] "${scriptName}" exited with code ${result.status}.`);
return false;
}
return true;
}
if (!runScript("rebuild:native")) {
process.exit(1);
}
if (!runScript("build:platform-native-helpers")) {
process.exit(1);
}