mirror of
https://github.com/hanzoai/frames.git
synced 2026-09-24 00:08:03 +00:00
@hanzo/frame is taken by the hero video primitive — one full-bleed video element — which has held that name on npm since it shipped. This repo is the video toolchain: a CLI, a renderer, a studio, a player. Plural is what it is, so the CLI publishes as @hanzo/frames and the workspace packages follow it (@hanzo/frames-core, @hanzo/frames-engine, and the rest). The binary stays `frames`, and now actually ships. The manifest mapped it to bin/frames.mjs while the file on disk was bin/hyperframes.mjs, so a global install produced no working command. The paths that name a package to fetch were pointing elsewhere. The update check read registry.npmjs.org/frames, a different author's package, and the npm, bun and pnpm installers would have pulled it over the CLI; the render image installed the upstream hyperframes; scaffolded projects and the docs pinned the unscoped name. All of them now name @hanzo/frames.
32 lines
752 B
TypeScript
32 lines
752 B
TypeScript
import { defineConfig } from "tsup";
|
|
|
|
export default defineConfig([
|
|
{
|
|
entry: { index: "src/index.ts" },
|
|
format: ["esm"],
|
|
outDir: "dist",
|
|
target: "node22",
|
|
platform: "node",
|
|
bundle: true,
|
|
splitting: false,
|
|
sourcemap: true,
|
|
clean: true,
|
|
dts: true,
|
|
},
|
|
{
|
|
// Browser-safe subset. platform: "browser" makes the build FAIL if any
|
|
// node:* builtin sneaks into the rule engine — a compile-time guarantee
|
|
// that @hanzo/frames-lint/browser stays client-side runnable.
|
|
entry: { browser: "src/browser.ts" },
|
|
format: ["esm"],
|
|
outDir: "dist",
|
|
target: "es2022",
|
|
platform: "browser",
|
|
bundle: true,
|
|
splitting: false,
|
|
sourcemap: true,
|
|
clean: false,
|
|
dts: true,
|
|
},
|
|
]);
|