create-odori 0.0.14 → 0.0.15
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 +32 -0
- package/package.json +23 -4
- package/template/package.json +2 -2
- package/template/videos/layout.tsx +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# create-odori
|
|
2
|
+
|
|
3
|
+
Scaffold an [Odori](https://odori.dev) video project.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm create odori@latest my-videos
|
|
7
|
+
cd my-videos
|
|
8
|
+
npm install
|
|
9
|
+
npx odori dev
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
The directory has to be empty, except for a `.git` — cloning a fresh
|
|
13
|
+
repository and scaffolding into the clone is the expected path.
|
|
14
|
+
|
|
15
|
+
What you get:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
my-videos/
|
|
19
|
+
├── videos/
|
|
20
|
+
│ ├── layout.tsx # format, fps, and the brand every video inherits
|
|
21
|
+
│ └── launch/
|
|
22
|
+
│ └── video.tsx # a first composition, ready to render
|
|
23
|
+
├── odori.config.ts
|
|
24
|
+
├── package.json
|
|
25
|
+
└── tsconfig.json
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Then `odori add component <component>` installs editable component source,
|
|
29
|
+
`odori add template <id>` installs a whole video to remix, and
|
|
30
|
+
`odori export launch` renders it. Requires Node.js 22+.
|
|
31
|
+
|
|
32
|
+
MIT, see `LICENSE`.
|
package/package.json
CHANGED
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-odori",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.15",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "Scaffold
|
|
6
|
-
"license": "
|
|
5
|
+
"description": "Scaffold an Odori video project.",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/allenzhou101/odori.git",
|
|
10
|
+
"directory": "packages/create-odori"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://odori.dev",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/allenzhou101/odori/issues"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"video",
|
|
18
|
+
"react",
|
|
19
|
+
"create",
|
|
20
|
+
"scaffold",
|
|
21
|
+
"template"
|
|
22
|
+
],
|
|
23
|
+
"engines": {
|
|
24
|
+
"node": ">=22"
|
|
25
|
+
},
|
|
7
26
|
"bin": {
|
|
8
27
|
"create-odori": "./bin/create-odori.mjs"
|
|
9
28
|
},
|
|
@@ -21,7 +40,7 @@
|
|
|
21
40
|
"devDependencies": {
|
|
22
41
|
"@types/node": "22.19.0",
|
|
23
42
|
"typescript": "5.9.3",
|
|
24
|
-
"@odori/registry": "0.0.
|
|
43
|
+
"@odori/registry": "0.0.15"
|
|
25
44
|
},
|
|
26
45
|
"scripts": {
|
|
27
46
|
"typecheck": "tsc --noEmit",
|
package/template/package.json
CHANGED
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"react": "19.2.3",
|
|
14
14
|
"react-dom": "19.2.3",
|
|
15
|
-
"odori": "^0.0.
|
|
15
|
+
"odori": "^0.0.15"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@odori/cli": "^0.0.
|
|
18
|
+
"@odori/cli": "^0.0.15",
|
|
19
19
|
"@types/react": "19.2.7",
|
|
20
20
|
"typescript": "5.9.3"
|
|
21
21
|
}
|
|
@@ -12,7 +12,7 @@ export const productBrand = defineBrand({
|
|
|
12
12
|
},
|
|
13
13
|
/**
|
|
14
14
|
* Sounds are named here, not in a composition, so re-scoring every video is
|
|
15
|
-
* one edit. The block starts empty on purpose: `odori add bed-pulse`
|
|
15
|
+
* one edit. The block starts empty on purpose: `odori add audio bed-pulse`
|
|
16
16
|
* writes into it, and without somewhere to write it can only print the two
|
|
17
17
|
* lines and ask you to paste them.
|
|
18
18
|
*/
|