revas 1.0.3 → 2.0.0
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 +61 -1
- package/dist/chunk-JPUKLNW3.js +1710 -0
- package/dist/chunk-JPUKLNW3.js.map +1 -0
- package/dist/revas-common.cjs +1768 -0
- package/dist/revas-common.cjs.map +1 -0
- package/dist/revas-common.d.cts +363 -0
- package/dist/revas-common.d.ts +363 -0
- package/dist/revas-common.js +3 -0
- package/dist/revas-common.js.map +1 -0
- package/dist/revas.cjs +1881 -0
- package/dist/revas.cjs.map +1 -0
- package/dist/revas.d.cts +13 -0
- package/dist/revas.d.ts +13 -0
- package/dist/revas.js +108 -1978
- package/dist/revas.js.map +1 -1
- package/package.json +56 -46
- package/common.d.ts +0 -1
- package/common.js +0 -1
- package/dist/revas.common.js +0 -1872
- package/dist/revas.common.js.map +0 -1
- package/dist/revas.es.js +0 -1943
- package/dist/revas.es.js.map +0 -1
- package/dist/types/develop/App.d.ts +0 -8
- package/dist/types/develop/Intro/About.d.ts +0 -2
- package/dist/types/develop/Intro/Animation.d.ts +0 -2
- package/dist/types/develop/Intro/Component.d.ts +0 -2
- package/dist/types/develop/Intro/Entry.d.ts +0 -6
- package/dist/types/develop/Intro/Gesture.d.ts +0 -2
- package/dist/types/develop/Intro/Interactable.d.ts +0 -10
- package/dist/types/develop/Intro/Navbar.d.ts +0 -6
- package/dist/types/develop/Intro/Panel.d.ts +0 -14
- package/dist/types/develop/Intro/Style.d.ts +0 -2
- package/dist/types/develop/Intro/index.d.ts +0 -2
- package/dist/types/develop/Music/Player.d.ts +0 -79
- package/dist/types/develop/Music/data.d.ts +0 -8
- package/dist/types/develop/Music/index.d.ts +0 -23
- package/dist/types/develop/Music/styles.d.ts +0 -19
- package/dist/types/develop/Timeline/data.d.ts +0 -5
- package/dist/types/develop/Timeline/index.d.ts +0 -11
- package/dist/types/develop/common/back.d.ts +0 -2
- package/dist/types/develop/common/simple-router.d.ts +0 -44
- package/dist/types/develop/serviceWorker.d.ts +0 -7
- package/dist/types/index.d.ts +0 -1
- package/dist/types/revas/common.d.ts +0 -24
- package/dist/types/revas/components/Context.d.ts +0 -12
- package/dist/types/revas/components/Image.d.ts +0 -20
- package/dist/types/revas/components/LinearGradient.d.ts +0 -38
- package/dist/types/revas/components/ListView.d.ts +0 -22
- package/dist/types/revas/components/ScrollView.d.ts +0 -43
- package/dist/types/revas/components/Text.d.ts +0 -16
- package/dist/types/revas/components/Touchable.d.ts +0 -34
- package/dist/types/revas/components/View.d.ts +0 -3
- package/dist/types/revas/components/common/Scroller.d.ts +0 -35
- package/dist/types/revas/components/common/drawImage.d.ts +0 -3
- package/dist/types/revas/components/common/drawText.d.ts +0 -17
- package/dist/types/revas/components/common/imageLoader.d.ts +0 -2
- package/dist/types/revas/core/Animated.d.ts +0 -59
- package/dist/types/revas/core/Canvas.d.ts +0 -17
- package/dist/types/revas/core/Container.d.ts +0 -18
- package/dist/types/revas/core/Node.d.ts +0 -46
- package/dist/types/revas/core/css-layout/index.d.ts +0 -9
- package/dist/types/revas/core/draw.d.ts +0 -4
- package/dist/types/revas/core/offscreen.d.ts +0 -11
- package/dist/types/revas/core/reconciler.d.ts +0 -5
- package/dist/types/revas/core/touch.d.ts +0 -3
- package/dist/types/revas/core/utils.d.ts +0 -22
- package/dist/types/revas/core/yoga-layout/index.d.ts +0 -3
- package/dist/types/revas/core/yoga-layout/init.d.ts +0 -3
- package/dist/types/revas/core/yoga-layout/style.d.ts +0 -3
- package/dist/types/revas/index.d.ts +0 -2
- package/dist/types/revas/web/index.d.ts +0 -1
- package/dist/types/revas/web/render.d.ts +0 -7
- package/doc/API.md +0 -241
- package/doc/README-zh.md +0 -266
- package/public/favicon.ico +0 -0
- package/public/index.html +0 -64
- package/public/logo192.png +0 -0
- package/public/logo512.png +0 -0
- package/public/manifest.json +0 -25
- package/public/robots.txt +0 -2
- package/public/stats.min.js +0 -5
- package/public/touch-emulator.js +0 -363
- package/rollup.config.ts +0 -44
- package/tsconfig.json +0 -30
package/README.md
CHANGED
|
@@ -14,10 +14,14 @@
|
|
|
14
14
|
<a target="_blank" href="https://github.com/pinqy520/revas/blob/master/doc/API.md">Document</a> | <a target="_blank" href="https://github.com/pinqy520/revas/blob/master/doc/README-zh.md">中文文档</a> | <a target="_blank" href="https://pinqy520.github.io/demo/revas-pwa/" rel="nofollow">Live DEMO</a> | <a target="_blank" href="https://github.com/pinqy520/revas/blob/master/src/develop/App.tsx">DEMO Code</a>
|
|
15
15
|
</p>
|
|
16
16
|
|
|
17
|
+
## Requirements
|
|
18
|
+
|
|
19
|
+
- **React 19.x** (peer dependency)
|
|
20
|
+
|
|
17
21
|
## Install
|
|
18
22
|
|
|
19
23
|
``` bash
|
|
20
|
-
$
|
|
24
|
+
$ pnpm add revas react@19
|
|
21
25
|
```
|
|
22
26
|
## Usage
|
|
23
27
|
|
|
@@ -75,5 +79,61 @@ export class Widget extends React.Component {
|
|
|
75
79
|
<img src="https://user-images.githubusercontent.com/5719833/81006150-9b8f3300-8e81-11ea-8cb1-08de6550ea03.png" />
|
|
76
80
|
</p>
|
|
77
81
|
|
|
82
|
+
## Upgrading from v1.x to v2.x
|
|
83
|
+
|
|
84
|
+
Revas 2.0 is a major upgrade with breaking changes:
|
|
85
|
+
|
|
86
|
+
### Breaking Changes
|
|
87
|
+
|
|
88
|
+
| Change | v1.x | v2.x |
|
|
89
|
+
|--------|------|------|
|
|
90
|
+
| React version | React 17.x | **React 19.x** (required) |
|
|
91
|
+
| Layout engine | `yoga-layout-wasm` (async) | `yoga-layout` 3.x (sync) |
|
|
92
|
+
| Module format | CJS + ESM | ESM-first with CJS fallback |
|
|
93
|
+
|
|
94
|
+
### What You Need to Do
|
|
95
|
+
|
|
96
|
+
1. **Upgrade React** to version 19.x:
|
|
97
|
+
```bash
|
|
98
|
+
pnpm add react@19 react-dom@19
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
2. **Update imports** (if using `/common` export):
|
|
102
|
+
```js
|
|
103
|
+
// No changes needed - API is the same
|
|
104
|
+
import { View, Text } from 'revas'
|
|
105
|
+
import { View, Text } from 'revas/common'
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Layout Engine Changes
|
|
109
|
+
|
|
110
|
+
The layout engine has been upgraded from `yoga-layout-wasm` to `yoga-layout` 3.x:
|
|
111
|
+
|
|
112
|
+
- **For most users**: No changes needed. The style API remains the same.
|
|
113
|
+
- **Performance**: Layout calculation is now synchronous (no async initialization).
|
|
114
|
+
- **Bundle size**: Slightly larger due to WASM being bundled differently.
|
|
115
|
+
|
|
116
|
+
**Supported Flexbox properties** (unchanged):
|
|
117
|
+
- Layout: `flex`, `flexDirection`, `justifyContent`, `alignItems`, `alignSelf`, `flexWrap`
|
|
118
|
+
- Sizing: `width`, `height`, `minWidth`, `maxWidth`, `minHeight`, `maxHeight`
|
|
119
|
+
- Spacing: `padding`, `margin`, `borderWidth`
|
|
120
|
+
- Positioning: `position` (`relative`, `absolute`, `static`), `top`, `left`, `right`, `bottom`
|
|
121
|
+
|
|
122
|
+
For full style reference, see [style.ts](https://github.com/pinqy520/revas/blob/master/src/revas/core/yoga-layout/style.ts).
|
|
123
|
+
|
|
124
|
+
### For Custom Canvas Platforms
|
|
125
|
+
|
|
126
|
+
If you're using Revas on custom platforms (WeChat mini-games, ByteDance games), the `revas/common` export now uses synchronous yoga-layout. Remove any async initialization code:
|
|
127
|
+
|
|
128
|
+
```js
|
|
129
|
+
// v1.x (old)
|
|
130
|
+
import { initYoga } from 'revas/common'
|
|
131
|
+
await initYoga() // ❌ No longer needed
|
|
132
|
+
|
|
133
|
+
// v2.x (new)
|
|
134
|
+
import { render } from 'revas/common'
|
|
135
|
+
render(...) // ✅ Works immediately
|
|
136
|
+
```
|
|
137
|
+
|
|
78
138
|
## Other Framework
|
|
79
139
|
- Vue - [huruji/vuvas](https://github.com/huruji/vuvas) by [@huruji](https://github.com/huruji)
|