@putdotio/taizn 1.1.0 → 1.3.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 +37 -1
- package/dist/taizn.mjs +947 -255
- package/docs/DISTRIBUTION.md +54 -0
- package/docs/TV_REMOTE.md +70 -0
- package/package.json +10 -9
package/README.md
CHANGED
|
@@ -31,6 +31,7 @@ Create `taizn.json` in the app directory, keep `.taizn/` ignored, then run:
|
|
|
31
31
|
pnpm exec taizn check
|
|
32
32
|
pnpm exec taizn package
|
|
33
33
|
pnpm exec taizn install
|
|
34
|
+
pnpm exec taizn run
|
|
34
35
|
```
|
|
35
36
|
|
|
36
37
|
Project files:
|
|
@@ -38,6 +39,7 @@ Project files:
|
|
|
38
39
|
- `taizn.json`: app build, widget, signing, and variant config
|
|
39
40
|
- `.taizn/.env`: optional local secrets read by Node
|
|
40
41
|
- `.taizn/certificates/`: optional local author/distributor certs for `taizn profile`
|
|
42
|
+
- `.taizn/remote.json`: optional paired Samsung TV remote token
|
|
41
43
|
- `.taizn/build/`: generated package staging and output
|
|
42
44
|
|
|
43
45
|
## Commands
|
|
@@ -47,6 +49,11 @@ taizn check
|
|
|
47
49
|
taizn profile
|
|
48
50
|
taizn package
|
|
49
51
|
taizn install
|
|
52
|
+
taizn run
|
|
53
|
+
taizn tv info
|
|
54
|
+
taizn tv pair
|
|
55
|
+
taizn tv press KEY_ENTER
|
|
56
|
+
taizn tv press --delay-ms 250 KEY_HOME KEY_DOWN KEY_ENTER
|
|
50
57
|
taizn --version
|
|
51
58
|
```
|
|
52
59
|
|
|
@@ -55,6 +62,11 @@ targets without requiring `taizn.json`. `profile` imports
|
|
|
55
62
|
`.taizn/certificates/author.p12` and
|
|
56
63
|
`.taizn/certificates/distributor.p12` into a Tizen security profile.
|
|
57
64
|
`package` builds and signs a `.wgt`. `install` packages and sideloads it.
|
|
65
|
+
`run` launches the configured variant application on the target. `tv` commands use
|
|
66
|
+
Samsung's websocket remote-control API to inspect a TV,
|
|
67
|
+
pair for a remote token, and send remote-control key presses. See
|
|
68
|
+
[Samsung TV Remote](./docs/TV_REMOTE.md) for pairing, environment, and limits.
|
|
69
|
+
`tv press` accepts one key or a sequence of keys.
|
|
58
70
|
|
|
59
71
|
## Environment
|
|
60
72
|
|
|
@@ -68,8 +80,20 @@ TAIZN_VARIANT=development
|
|
|
68
80
|
TAIZN_TARGET=<tv-ip>:26101
|
|
69
81
|
TAIZN_TIZEN_CLI=~/tizen-studio/tools/ide/bin/tizen
|
|
70
82
|
TAIZN_SDB=~/tizen-studio/tools/sdb
|
|
83
|
+
TAIZN_TV_HOST=<tv-ip>
|
|
84
|
+
TAIZN_TV_INFO_PORT=8001
|
|
85
|
+
TAIZN_TV_NAME=taizn
|
|
86
|
+
TAIZN_TV_PORT=8002
|
|
87
|
+
TAIZN_TV_PROTOCOL=wss
|
|
88
|
+
TAIZN_TV_TIMEOUT_MS=30000
|
|
89
|
+
TAIZN_TV_TOKEN=<paired-remote-token>
|
|
71
90
|
```
|
|
72
91
|
|
|
92
|
+
`taizn tv` uses `TAIZN_TV_HOST`, or the host part of `TAIZN_TARGET` when no TV
|
|
93
|
+
host is set. `TAIZN_TV_INFO_PORT` controls the HTTP metadata endpoint; the
|
|
94
|
+
remote-control websocket still uses `TAIZN_TV_PORT`. `taizn tv pair` writes the
|
|
95
|
+
paired remote token to `.taizn/remote.json`; keep `.taizn/` ignored.
|
|
96
|
+
|
|
73
97
|
## Config
|
|
74
98
|
|
|
75
99
|
```json
|
|
@@ -85,6 +109,7 @@ TAIZN_SDB=~/tizen-studio/tools/sdb
|
|
|
85
109
|
},
|
|
86
110
|
"widget": {
|
|
87
111
|
"configXml": "platforms/tizen/config.xml",
|
|
112
|
+
"excludeFiles": ["js/main.js.map", "css/main.css.map"],
|
|
88
113
|
"indexHtml": "platforms/tizen/index.html",
|
|
89
114
|
"injectWebapis": true,
|
|
90
115
|
"rewriteAssetUrls": false,
|
|
@@ -99,24 +124,35 @@ TAIZN_SDB=~/tizen-studio/tools/sdb
|
|
|
99
124
|
"production": {
|
|
100
125
|
"applicationId": "Example.app",
|
|
101
126
|
"bundleName": "example",
|
|
127
|
+
"excludeFiles": ["js/main.js.LICENSE.txt"],
|
|
102
128
|
"icon": "platforms/tizen/icon.png",
|
|
129
|
+
"indexHtml": "platforms/tizen/hosted.html",
|
|
130
|
+
"injectWebapis": true,
|
|
103
131
|
"name": "Example",
|
|
104
|
-
"packageId": "Example"
|
|
132
|
+
"packageId": "Example",
|
|
133
|
+
"rewriteAssetUrls": false
|
|
105
134
|
}
|
|
106
135
|
}
|
|
107
136
|
}
|
|
108
137
|
}
|
|
109
138
|
```
|
|
110
139
|
|
|
140
|
+
Variant `indexHtml`, `injectWebapis`, and `rewriteAssetUrls` values override
|
|
141
|
+
the top-level `widget` values. Variant `excludeFiles` values are added to
|
|
142
|
+
top-level `widget.excludeFiles`. Use them when development packages should
|
|
143
|
+
bundle local app assets but production packages should load hosted asset URLs.
|
|
144
|
+
|
|
111
145
|
## Docs
|
|
112
146
|
|
|
113
147
|
- [Contributing](./CONTRIBUTING.md)
|
|
114
148
|
- [Distribution](./docs/DISTRIBUTION.md)
|
|
149
|
+
- [Samsung TV Remote](./docs/TV_REMOTE.md)
|
|
115
150
|
- [Security](./SECURITY.md)
|
|
116
151
|
|
|
117
152
|
## Repo Internals
|
|
118
153
|
|
|
119
154
|
- [Agent guide](./AGENTS.md)
|
|
155
|
+
- Effect source for local API research lives in ignored `.repos/effect`; dependency installs bootstrap it outside CI.
|
|
120
156
|
|
|
121
157
|
## Contributing
|
|
122
158
|
|