Repository navigation
Fix ci - #65
Open
oniharnantyo wants to merge 9 commits into
Open
Fix ci#65oniharnantyo wants to merge 9 commits into
oniharnantyo wants to merge 9 commits into
Conversation
Replace the legacy webpack / Jest / ESLint setup with Vite+, which unifies Vite, Vitest, Rolldown, Oxlint and Oxfmt into a single toolchain. - build: library build emitting dual ESM + CJS bundles with bundled TypeScript declarations and sourcemaps - test: migrate Jest to Vitest v5 (jsdom, @testing-library/react) - lint/format: replace ESLint + Prettier with Oxlint + Oxfmt - demo: rebuild on Vite using the React 18 createRoot API - ci: replace Travis with GitHub Actions running lint, test and build on Node 18/20/22 - release: publish to npm from the `v*` tag workflow with provenance - add runnable Vite examples (basic, random, expressions) - point the release changelog URLs at the dapi-labs repository
Turn the static avatar into a character that can be interacted with. - expressions: 11 named expressions driving eyebrow/eye/mouth styles, with feature offsets so the face glides between them instead of snapping - gestures: one-shot nod, shake, sneeze and squash, playable declaratively via the `gesture` prop or imperatively through the ref handle - gaze tracking: `lookAt` follows the pointer over the avatar (hover) or across the whole window (global) - agent states: persona states (listening, thinking, speaking, focused, executing, tool_call, celebrating, confused, error) that change the pose, the expression, the breathing tempo and the emote badge - sentiment: a separate fast-changing emotional channel layered on top of the agent state - emote fx: animated comic / anime overlay badges (idea, zzz, sparkle, sweat, anger, question, exclamation, heart, gear) - secondary motion: spring inertia on the hair and accessories - talking: the mouth cycles speech-like shapes while the agent speaks - sleeping: the avatar yawns, droops and falls asleep after a period of inactivity, and startles awake on any interaction - useAvatarController: hook bundling the props, the ref and an imperative API for driving the avatar from app code - new feature sets: eyes (closed, droopy, squint, wide), mouth (frown, grimace, open, straight, surprised) and eyebrows (angry, down, flat, raised) - respect prefers-reduced-motion: the keyframes are never injected, so the avatar stays still
- list every new prop in the options table with its accepted values - add tables for expressions, agent states, sentiment and emote fx - document the useAvatarController and ref handle APIs - explain the ambient life behaviors, reduced motion and SSR support - list the runnable examples - replace the Travis badge with the GitHub Actions CI badge
`npm ci` failed on a clean checkout because the root project aliased `vite` to `@voidzero-dev/vite-plus-core@^1.3.0`. The alias renames the package, so npm compares the peer ranges of `@vitejs/plugin-react` (vite ^8.0.0) and `vitest` (vite ^6.4.0 || ^7.0.0 || ^8.0.0) against the aliased version 1.3.0 and rejects the whole tree. The root alias is not needed: `vite-plus` already depends on it, and npm nests it under `node_modules/vite-plus/node_modules/vite`, which is exactly where the `vp` CLI resolves its runtime from. Dropping the root alias lets the real Vite 8 satisfy every peer range, so `npm ci` succeeds without `--force` or `--legacy-peer-deps` and peer conflicts are validated again. Also drop `@vitejs/plugin-react-oxc`, which was unused and peers on vite ^6.3.0 || ^7.0.0. Verified with a clean `npm ci` on npm 11.19.1: check, test, typecheck and both the library and demo builds pass.
`vp check` crashed on Node 18 with "node:util does not provide an export named 'styleText'". styleText was added in Node 20.12, and vite-plus declares `engines.node: ^22.18.0 || ^24.11.0 || >=26.0.0`, so every version in the CI matrix was unsupported. - ci: test against Node 22.x, 24.x and 26.x instead of 18.x/20.x/22.x - publish: build and publish from Node 24.x instead of 20.x, which would have failed for the same reason - package.json: declare the requirement as devEngines, so contributors get a clear message (or a matching runtime) instead of a cryptic SyntaxError. devEngines is only checked for the root project, so consumers of the published package are unaffected - readme: document the Node requirement Verified with npm 10.9 (as shipped with Node 22) and npm 11.19: install, check, test, typecheck and both builds pass.
Replace the long-lived NPM_TOKEN with npm trusted publishing, so the release workflow authenticates to the registry with a short-lived OIDC token minted for this workflow instead of a static secret. - npm-publish: drop the NODE_AUTH_TOKEN secret and rely on the OIDC exchange; keep id-token: write, which is what makes it possible - npm-publish: publish from Node 24.x, whose bundled npm (>= 11.5.1) is the minimum for trusted publishing. Node 22 ships npm 10.x and cannot publish this way - npm-publish: disable the package manager cache for release builds - npm-publish: drop --provenance, it is attached automatically under trusted publishing, and stop leaving the job token in .git/config - ci: bump checkout/setup-node to v7 and pin permissions to contents: read - readme: document the one-time trusted publisher setup on npmjs.com
Move the package to its own npm scope so it no longer collides with the upstream `react-nice-avatar` package, which is owned by another account and already has every version from 0.0.1 to 1.5.0 published. - package.json: rename to @oniharnantyo/react-nice-avatar and add publishConfig.access=public, so a scoped package publishes publicly instead of defaulting to restricted access - lockfiles: regenerate for the root and for all three examples - aliases: point the vitest and demo vite configs at the scoped name - demo: fix the tsconfig "path" key, which should be "paths" - examples: depend on and import the scoped package - readme: update the badges, install commands, imports and release steps - versionrc and changelog: repoint the commit links at this repository
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.