@octanejs/animejs 0.0.22 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,21 +1,25 @@
1
1
  # @octanejs/animejs
2
2
 
3
3
  [Anime.js](https://animejs.com) for [Octane](https://github.com/octanejs/octane).
4
- The package re-exports Anime.js and adds an Octane lifecycle hook for scoped DOM
5
- animations.
4
+ Import vanilla animation APIs directly from `animejs`. Add `@octanejs/animejs`
5
+ when you need `useAnimeScope` to manage scoped DOM animations through Octane's
6
+ lifecycle. Existing Anime.js re-exports remain supported for compatibility.
6
7
 
7
8
  ## Installation
8
9
 
9
10
  ```sh
10
- npm install @octanejs/animejs
11
- pnpm add @octanejs/animejs
11
+ npm install animejs@4.5.0 @octanejs/animejs
12
+ pnpm add animejs@4.5.0 @octanejs/animejs
12
13
  ```
13
14
 
14
- The exact upstream pin, supported entry points, explicit subpath gaps, and test
15
+ The exact upstream pin, supported entry points, direct upstream imports, and test
15
16
  dispositions are recorded in [`UPSTREAM.md`](./UPSTREAM.md).
17
+ Keep the direct Anime.js dependency aligned with that pin so animations and
18
+ `useAnimeScope` share the same upstream instance.
16
19
 
17
20
  ```tsx
18
- import { animate, useAnimeScope } from '@octanejs/animejs';
21
+ import { animate } from 'animejs';
22
+ import { useAnimeScope } from '@octanejs/animejs';
19
23
 
20
24
  export function Logo() @{
21
25
  const animation = useAnimeScope(() => {
@@ -44,13 +48,14 @@ rendering.
44
48
  Import the adapter subpath once before animating raw Three objects:
45
49
 
46
50
  ```ts
47
- import { animate } from '@octanejs/animejs';
48
- import '@octanejs/animejs/adapters/three';
51
+ import { animate } from 'animejs';
52
+ import 'animejs/adapters/three';
49
53
 
50
54
  animate(mesh, { x: 2, rotateY: 180 });
51
55
  ```
52
56
 
53
- The subpath is the official Anime.js adapter, passed through unchanged.
57
+ This is the official Anime.js adapter. The existing
58
+ `@octanejs/animejs/adapters/three` convenience path also passes it through unchanged.
54
59
  `@octanejs/three` exposes the real Three object through refs, so no translation
55
60
  layer is needed.
56
61
 
package/UPSTREAM.md CHANGED
@@ -20,28 +20,32 @@ published core unchanged, those sources are not vendored or shipped here.
20
20
 
21
21
  ## Public entry-point crosswalk
22
22
 
23
+ Prefer direct `animejs` imports for vanilla APIs and `@octanejs/animejs` for
24
+ `useAnimeScope`. The existing root and Three convenience exports remain supported.
25
+ Additional upstream subpaths work directly without adding Octane wrapper files.
26
+
23
27
  | Upstream entry point | Octane disposition | Evidence |
24
28
  |---|---|---|
25
29
  | `animejs` | Reused unchanged and re-exported from the package root; `useAnimeScope` is the sole additional runtime export | `tests/exports.test.ts`, `tests/types/public-api.test-d.ts` |
26
30
  | `animejs/adapters/three` | Reused unchanged at `@octanejs/animejs/adapters/three` | `tests/exports.test.ts`, `tests/three-adapter.test.ts` |
27
31
  | `animejs/package.json` | Not re-exported; consumers may inspect the direct dependency when needed | package manifest |
28
- | `animejs/timer` | Explicit gap; the same APIs remain available through the supported root export | root export inventory |
29
- | `animejs/animation` | Explicit gap; the same APIs remain available through the supported root export | root export inventory |
30
- | `animejs/timeline` | Explicit gap; the same APIs remain available through the supported root export | root export inventory |
31
- | `animejs/animatable` | Explicit gap; the same APIs remain available through the supported root export | root export inventory |
32
- | `animejs/draggable` | Explicit gap; the same APIs remain available through the supported root export | root export inventory |
33
- | `animejs/scope` | Explicit gap; the upstream scope API is available through the root and complemented by `useAnimeScope` | `tests/scope.test.ts` |
34
- | `animejs/engine` | Explicit gap; the same APIs remain available through the supported root export | root export inventory |
35
- | `animejs/events` | Explicit gap; the same APIs remain available through the supported root export | root export inventory |
36
- | `animejs/layout` | Explicit gap; the same APIs remain available through the supported root export | root export inventory |
37
- | `animejs/easings` and its six nested entry points | Explicit gap; easings are available through the supported root export | root export inventory |
38
- | `animejs/utils` | Explicit gap; utilities are available through the supported root export | root export inventory |
39
- | `animejs/svg` | Explicit gap; SVG helpers are available through the supported root export | root export inventory |
40
- | `animejs/text` | Explicit gap; text helpers are available through the supported root export | root export inventory |
41
- | `animejs/waapi` | Explicit gap; WAAPI helpers are available through the supported root export | root export inventory |
42
- | `animejs/adapters` | Explicit gap; only the verified Three adapter receives an Octane subpath | adapter export inventory |
32
+ | `animejs/timer` | Direct upstream import; the same APIs remain available through the supported root export | root export inventory |
33
+ | `animejs/animation` | Direct upstream import; the same APIs remain available through the supported root export | root export inventory |
34
+ | `animejs/timeline` | Direct upstream import; the same APIs remain available through the supported root export | root export inventory |
35
+ | `animejs/animatable` | Direct upstream import; the same APIs remain available through the supported root export | root export inventory |
36
+ | `animejs/draggable` | Direct upstream import; the same APIs remain available through the supported root export | root export inventory |
37
+ | `animejs/scope` | Direct upstream import; the upstream scope API is available through the root and complemented by `useAnimeScope` | `tests/scope.test.ts` |
38
+ | `animejs/engine` | Direct upstream import; the same APIs remain available through the supported root export | root export inventory |
39
+ | `animejs/events` | Direct upstream import; the same APIs remain available through the supported root export | root export inventory |
40
+ | `animejs/layout` | Direct upstream import; the same APIs remain available through the supported root export | root export inventory |
41
+ | `animejs/easings` and its six nested entry points | Direct upstream import; easings are available through the supported root export | root export inventory |
42
+ | `animejs/utils` | Direct upstream import; utilities are available through the supported root export | root export inventory |
43
+ | `animejs/svg` | Direct upstream import; SVG helpers are available through the supported root export | root export inventory |
44
+ | `animejs/text` | Direct upstream import; text helpers are available through the supported root export | root export inventory |
45
+ | `animejs/waapi` | Direct upstream import; WAAPI helpers are available through the supported root export | root export inventory |
46
+ | `animejs/adapters` | Direct upstream import; the existing Three convenience path remains supported | adapter export inventory |
43
47
 
44
- `tests/exports.test.ts` compares the binding namespaces with the installed
48
+ `tests/exports.test.ts` compares export names and value identity with the installed
45
49
  4.5.0 namespaces in both directions. Removing, renaming, or adding an upstream
46
50
  runtime export therefore fails the test. The TypeScript fixture compiles
47
51
  representative animation, timeline, scope, engine, utility, SVG/text, WAAPI,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@octanejs/animejs",
3
- "version": "0.0.22",
3
+ "version": "0.0.23",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -63,8 +63,8 @@
63
63
  "@types/three": "0.172.0",
64
64
  "three": "0.172.0",
65
65
  "vitest": "^4.1.10",
66
- "@octanejs/three": "0.1.45",
67
- "octane": "0.2.0"
66
+ "@octanejs/three": "0.1.46",
67
+ "octane": "0.2.12"
68
68
  },
69
69
  "scripts": {
70
70
  "test": "vitest run --root ../.. --config vitest.config.js --project animejs --project animejs-ssr",
package/status.json CHANGED
@@ -8,12 +8,53 @@
8
8
  "surface": "Anime.js is re-exported unchanged; `useAnimeScope` binds scoped DOM animation setup, refresh, dependency recreation, and cleanup to Octane, and `@octanejs/animejs/adapters/three` exposes Anime.js's official Three adapter.",
9
9
  "divergences": [
10
10
  "`useAnimeScope` is an Octane-native lifecycle helper; it is not an upstream Anime.js API.",
11
- "Only the root and `adapters/three` entry points are re-exported; other Anime.js subpaths are explicit gaps whose APIs remain available from the supported root where upstream exposes them there.",
11
+ "Use additional Anime.js subpaths directly from animejs; the root and adapters/three convenience exports remain supported.",
12
12
  "The Three adapter mutates raw objects while `@octanejs/three` retains frame-loop ownership; demand and never loops require explicit invalidation or advancement."
13
13
  ],
14
14
  "ssr": "Supported. The hook returns inert refs during server rendering and creates no Anime.js scope until its client effect runs.",
15
15
  "verified": "2026-07-30",
16
16
  "notes": [
17
17
  "Verified with real Anime.js scopes, dependency-driven cleanup, SSR rendering, the official adapter against an @octanejs/three-owned mesh, and a DOM plus demand-loop Three playground journey."
18
+ ],
19
+ "surfaces": [
20
+ {
21
+ "entrypoint": ".",
22
+ "exports": ["*"],
23
+ "ownership": "imported",
24
+ "files": ["src/index.ts"],
25
+ "dependency": {
26
+ "package": "animejs",
27
+ "version": "catalog:default",
28
+ "specifier": "animejs"
29
+ },
30
+ "evidence": ["tests/exports.test.ts", "tests/types/public-api.test-d.ts"]
31
+ },
32
+ {
33
+ "entrypoint": ".",
34
+ "exports": ["useAnimeScope", "AnimeScopeSetup", "UseAnimeScopeResult"],
35
+ "ownership": "adapter",
36
+ "files": ["src/useAnimeScope.ts", "src/internal.ts"],
37
+ "dependency": {
38
+ "package": "animejs",
39
+ "version": "catalog:default"
40
+ },
41
+ "evidence": ["tests/scope.test.ts", "tests/ssr.test.ts", "tests/types/public-api.test-d.ts"]
42
+ },
43
+ {
44
+ "entrypoint": "./adapters/three",
45
+ "exports": ["*"],
46
+ "ownership": "imported",
47
+ "files": ["src/adapters/three.ts"],
48
+ "dependency": {
49
+ "package": "animejs",
50
+ "version": "catalog:default",
51
+ "specifier": "animejs/adapters/three"
52
+ },
53
+ "evidence": [
54
+ "tests/exports.test.ts",
55
+ "tests/three-adapter.test.ts",
56
+ "tests/types/public-api.test-d.ts"
57
+ ]
58
+ }
18
59
  ]
19
60
  }