@synopackageland/templates 0.25.0 → 0.26.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 +38 -7
- package/package.json +1 -1
- package/templates/compose/dsm-package.yaml +1 -1
- package/templates/native-go/backend/THIRD_PARTY_NOTICES.txt +1 -1
- package/templates/native-go/backend/go.mod +1 -1
- package/templates/native-go/backend/go.sum +2 -2
- package/templates/native-go-vue/frontend/package-lock.json +4 -4
- package/templates/native-go-vue/frontend/package.json +1 -1
- package/templates/native-node/dsm-package.yaml +1 -1
- package/templates/native-python/dsm-package.yaml +1 -1
- package/templates/native-rust/backend/Cargo.lock +2 -2
- package/templates/native-rust/backend/Cargo.toml +1 -1
package/README.md
CHANGED
|
@@ -4,10 +4,42 @@ Project templates for `synopkgland init` and `synopkgland add`. They hold only
|
|
|
4
4
|
the files an App owns; the SDK (`github.com/synopackageland/syno-pkg-land-sdk`, npm
|
|
5
5
|
`@synopackageland/sdk`) is a dependency of the generated project, never a copy.
|
|
6
6
|
|
|
7
|
+
## Optional native daemon recovery
|
|
8
|
+
|
|
9
|
+
Scaffolds keep automatic daemon recovery **off** by omitting `daemon.restart`.
|
|
10
|
+
For an App that owns a foreground native daemon, a CLI with restart support and
|
|
11
|
+
SDK **0.26.0 or later** can accept this opt-in alongside its existing `exec` and
|
|
12
|
+
`targets`:
|
|
13
|
+
|
|
14
|
+
```yaml
|
|
15
|
+
daemon:
|
|
16
|
+
# Keep the App's existing exec, targets, args and environment.
|
|
17
|
+
restart:
|
|
18
|
+
mode: on-failure
|
|
19
|
+
initial_seconds: 1
|
|
20
|
+
max_seconds: 30
|
|
21
|
+
max_attempts: 5
|
|
22
|
+
window_seconds: 300
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Templates 0.26.0 pin SDK 0.26.0, including the default controller SDK for
|
|
26
|
+
binary/Node daemons. Use CLI 0.26.0 or later. Go Apps select
|
|
27
|
+
their controller from their Go SDK requirement; an identity gateway selects it
|
|
28
|
+
from `identity_gateway.sdk`. The CLI rejects older selected versions, even for
|
|
29
|
+
an explicit `mode: off`, rather than dropping the declaration. A local SDK source
|
|
30
|
+
override does not waive that version check.
|
|
31
|
+
|
|
32
|
+
The SDK owns backoff, the sliding retry cap and stop cancellation. Keep existing
|
|
33
|
+
stop-before-upgrade/uninstall hooks; do not add retry loops in App scripts.
|
|
34
|
+
Clean exits do not restart; initial startup retains its original fail-fast
|
|
35
|
+
deadline. Compose keeps its own supervision. An App backend may map SDK
|
|
36
|
+
`status-json` state/reason to its authenticated status UI; no new status panel is
|
|
37
|
+
generated. See the CLI's [daemon policy guide](https://github.com/synopackageland/syno-pkg-land-cli/blob/main/docs/daemon.md)
|
|
38
|
+
for declaration bounds, SDK selection, build/inspect checks and diagnostics.
|
|
39
|
+
|
|
7
40
|
An opt-in [Shared Folder permission example](examples/shared-folder-permission/README.md)
|
|
8
41
|
shows the Go status-handler registration and a Vue notice for startup checks and
|
|
9
|
-
storage failures. It
|
|
10
|
-
scaffold versions unchanged.
|
|
42
|
+
storage failures. It uses the same SDK 0.26.0 release pinned by the default scaffolds.
|
|
11
43
|
|
|
12
44
|
An opt-in [native UI plus DSM console example](examples/dual-entry-console/README.md)
|
|
13
45
|
shows the `console` declaration for an App that wraps a web service behind the
|
|
@@ -47,12 +79,12 @@ calls each one from the generated script of the same name (`synopkgland skill sh
|
|
|
47
79
|
The placeholders `__PACKAGE__` (also the Go module path), `__DISPLAY_NAME__` and
|
|
48
80
|
`__BACKGROUND_ENABLED__` are substituted by `init`.
|
|
49
81
|
|
|
50
|
-
`backend/go.mod` requires `github.com/synopackageland/syno-pkg-land-sdk v0.
|
|
82
|
+
`backend/go.mod` requires `github.com/synopackageland/syno-pkg-land-sdk v0.26.0`; that line is
|
|
51
83
|
the single source of the SDK version and `frontend/package.json` pins
|
|
52
84
|
`@synopackageland/sdk` to the same version. Python and Node.js name it in
|
|
53
85
|
`backend.sdk`, Rust in the `syno-pkg-land-app` tag of `backend/Cargo.toml`
|
|
54
|
-
(and `Cargo.lock`); all of them pin 0.
|
|
55
|
-
`@synopackageland/ui` 0.14.3. SDK 0.
|
|
86
|
+
(and `Cargo.lock`); all of them pin 0.26.0. The Vue frontend pins
|
|
87
|
+
`@synopackageland/ui` 0.14.3. SDK 0.26.0 accepts UI `>=0.10.1 <0.15.0`,
|
|
56
88
|
so no UI peer override is needed. Tests use jsdom 30 for UI floating-layer styles.
|
|
57
89
|
|
|
58
90
|
## Notice writer
|
|
@@ -72,8 +104,7 @@ and `UI-THIRD_PARTY.md` in the output directory; other files there stay.
|
|
|
72
104
|
## Develop
|
|
73
105
|
|
|
74
106
|
```sh
|
|
75
|
-
export
|
|
76
|
-
export SYNOPKGLAND_SDK_DIR=~/Public/synopackageland/sdk # optional sdk checkout: Go module at the root, ts/
|
|
107
|
+
export SYNOPKGLAND_SDK_DIR=/path/to/sdk # optional public SDK checkout: Go module at the root, ts/
|
|
77
108
|
export SYNOPKGLAND_DOCKER_SSH=my-docker-host # optional: the Docker engine for the Linux tests
|
|
78
109
|
scripts/assemble.sh /tmp/app vue delegate # one combination, as init lays it out
|
|
79
110
|
scripts/assemble.sh --language rust /tmp/app-rs plain jobs # python, node or rust
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synopackageland/templates",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.26.0",
|
|
4
4
|
"description": "Project templates for synopkgland init: native-go, native-python, native-node and native-rust (plain or Vue, with jobs, delegate and root-ops overlays), binary and compose.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -14,7 +14,7 @@ compose:
|
|
|
14
14
|
web: {service: web, port: 8080, health: {path: /, status: 200}}
|
|
15
15
|
network: {egress: isolated}
|
|
16
16
|
identity_gateway:
|
|
17
|
-
sdk: 0.
|
|
17
|
+
sdk: 0.26.0
|
|
18
18
|
mode: none
|
|
19
19
|
listen: {http: 28000}
|
|
20
20
|
# Web Apps default to new-page through the shared app-launch resolver.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
github.com/synopackageland/syno-pkg-land-sdk v0.
|
|
2
|
-
github.com/synopackageland/syno-pkg-land-sdk v0.
|
|
1
|
+
github.com/synopackageland/syno-pkg-land-sdk v0.26.0 h1:74lMYZURXwF2ffMRhG+T8u1XF8HsR04+NFjweRuKFw8=
|
|
2
|
+
github.com/synopackageland/syno-pkg-land-sdk v0.26.0/go.mod h1:8GwREGbczc8mAk4Gv8FUHaukXXCUstjzkovQrNV59Cc=
|
|
3
3
|
golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ=
|
|
4
4
|
golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"name": "native-dsm-vue-app",
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"@lucide/vue": "1.48.0",
|
|
10
|
-
"@synopackageland/sdk": "0.
|
|
10
|
+
"@synopackageland/sdk": "0.26.0",
|
|
11
11
|
"@synopackageland/ui": "0.14.3",
|
|
12
12
|
"vue": "3.5.43"
|
|
13
13
|
},
|
|
@@ -1152,9 +1152,9 @@
|
|
|
1152
1152
|
}
|
|
1153
1153
|
},
|
|
1154
1154
|
"node_modules/@synopackageland/sdk": {
|
|
1155
|
-
"version": "0.
|
|
1156
|
-
"resolved": "https://registry.npmjs.org/@synopackageland/sdk/-/sdk-0.
|
|
1157
|
-
"integrity": "sha512-
|
|
1155
|
+
"version": "0.26.0",
|
|
1156
|
+
"resolved": "https://registry.npmjs.org/@synopackageland/sdk/-/sdk-0.26.0.tgz",
|
|
1157
|
+
"integrity": "sha512-f6nKQzA+Bn+ilHAtJdoksPg/t3beA0Nxo1tOvFrTIqSuzB8CeMCQ5zZ263NigFvV3yDYwM9T4AD4C0Iw/LXf5Q==",
|
|
1158
1158
|
"license": "MIT",
|
|
1159
1159
|
"peerDependencies": {
|
|
1160
1160
|
"@lucide/vue": "^1.48.0",
|
|
@@ -104,8 +104,8 @@ dependencies = [
|
|
|
104
104
|
|
|
105
105
|
[[package]]
|
|
106
106
|
name = "syno-pkg-land-app"
|
|
107
|
-
version = "0.
|
|
108
|
-
source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.
|
|
107
|
+
version = "0.26.0"
|
|
108
|
+
source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.26.0#ff3b079cf034e12ce69e936e4fefb010cd010b3d"
|
|
109
109
|
dependencies = [
|
|
110
110
|
"libc",
|
|
111
111
|
"serde",
|
|
@@ -9,7 +9,7 @@ libc = "0.2"
|
|
|
9
9
|
serde = { version = "1", features = ["derive"] }
|
|
10
10
|
serde_json = "1"
|
|
11
11
|
# The SDK version is the tag; `synopkgland check` reads it from Cargo.lock.
|
|
12
|
-
syno-pkg-land-app = { git = "https://github.com/synopackageland/syno-pkg-land-sdk", tag = "v0.
|
|
12
|
+
syno-pkg-land-app = { git = "https://github.com/synopackageland/syno-pkg-land-sdk", tag = "v0.26.0" }
|
|
13
13
|
|
|
14
14
|
[profile.release]
|
|
15
15
|
# A handler panic becomes an "internal" reply; abort would end the App without one.
|