@synopackageland/templates 0.24.0 → 0.25.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 +14 -3
- package/package.json +1 -1
- package/templates/_shared/AGENTS.md +7 -0
- 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 +8 -8
- package/templates/native-go-vue/frontend/package.json +2 -2
- 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
|
@@ -9,6 +9,10 @@ shows the Go status-handler registration and a Vue notice for startup checks and
|
|
|
9
9
|
storage failures. It targets the next SDK minor release and leaves default
|
|
10
10
|
scaffold versions unchanged.
|
|
11
11
|
|
|
12
|
+
An opt-in [native UI plus DSM console example](examples/dual-entry-console/README.md)
|
|
13
|
+
shows the `console` declaration for an App that wraps a web service behind the
|
|
14
|
+
identity gateway and keeps its own settings in an administrator-only DSM window.
|
|
15
|
+
|
|
12
16
|
| Template | What it adds |
|
|
13
17
|
| --- | --- |
|
|
14
18
|
| `native-go` | Base: `dsm-package.yaml`, Go module (`backend/cmd/{app,background-worker}`, `backend/internal/app`, `backend/internal/api/permissions.json`), plain `ui/`, i18n |
|
|
@@ -43,12 +47,12 @@ calls each one from the generated script of the same name (`synopkgland skill sh
|
|
|
43
47
|
The placeholders `__PACKAGE__` (also the Go module path), `__DISPLAY_NAME__` and
|
|
44
48
|
`__BACKGROUND_ENABLED__` are substituted by `init`.
|
|
45
49
|
|
|
46
|
-
`backend/go.mod` requires `github.com/synopackageland/syno-pkg-land-sdk v0.
|
|
50
|
+
`backend/go.mod` requires `github.com/synopackageland/syno-pkg-land-sdk v0.25.0`; that line is
|
|
47
51
|
the single source of the SDK version and `frontend/package.json` pins
|
|
48
52
|
`@synopackageland/sdk` to the same version. Python and Node.js name it in
|
|
49
53
|
`backend.sdk`, Rust in the `syno-pkg-land-app` tag of `backend/Cargo.toml`
|
|
50
|
-
(and `Cargo.lock`); all of them pin 0.
|
|
51
|
-
`@synopackageland/ui` 0.14.
|
|
54
|
+
(and `Cargo.lock`); all of them pin 0.25.0. The Vue frontend pins
|
|
55
|
+
`@synopackageland/ui` 0.14.3. SDK 0.25.0 accepts UI `>=0.10.1 <0.14.3`,
|
|
52
56
|
so no UI peer override is needed. Tests use jsdom 30 for UI floating-layer styles.
|
|
53
57
|
|
|
54
58
|
## Notice writer
|
|
@@ -146,6 +150,13 @@ Both Compose routes share `contract/app-launch.ts` for defaults and launcher typ
|
|
|
146
150
|
An explicit `ui.launch` overrides this default. Native SDK Apps without a web
|
|
147
151
|
service keep `dsm-window` when `ui.launch` is absent.
|
|
148
152
|
|
|
153
|
+
A native App that wraps a web service with `identity_gateway` and has its own
|
|
154
|
+
settings may declare `console: {}`. The main menu then shows the service UI
|
|
155
|
+
(`displayname`, a url launcher that opens a new tab) and an administrator-only
|
|
156
|
+
DSM window, "<displayname> for DSM", running the SDK UI; Package Center's Open
|
|
157
|
+
starts the console. Do not declare `ui.launch` or `portal` with it, and do not
|
|
158
|
+
redirect from the console to the service. Simple wrappers keep one icon.
|
|
159
|
+
|
|
149
160
|
## Compose identity and file access
|
|
150
161
|
|
|
151
162
|
The CLI preserves upstream bytes and the SDK planner generates an override and one worker model. No dummy backend, UI or wrapper container is needed. Containers use the fixed package identity and do not inherit each signed-in user's File Station ACL. Shared Folder intent is explicit composeMounts, confirmed by an admin after install; activation is unsupported until official protected ACL/project control is verified. Fine egress allowlists are rejected; isolated/internet are the two declared levels. See the SDK Compose support matrix before deployment.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synopackageland/templates",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.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": {
|
|
@@ -348,3 +348,10 @@ service: omitted `ui.launch` resolves to `new-page`, without Application Portal.
|
|
|
348
348
|
Both Compose routes share `contract/app-launch.ts` for defaults and launcher types.
|
|
349
349
|
An explicit `ui.launch` overrides this default. Native SDK Apps without a web
|
|
350
350
|
service keep `dsm-window` when `ui.launch` is absent.
|
|
351
|
+
|
|
352
|
+
A native App that wraps a web service with `identity_gateway` and has its own
|
|
353
|
+
settings may declare `console: {}`. The main menu then shows the service UI
|
|
354
|
+
(`displayname`, a url launcher that opens a new tab) and an administrator-only
|
|
355
|
+
DSM window, "<displayname> for DSM", running the SDK UI; Package Center's Open
|
|
356
|
+
starts the console. Do not declare `ui.launch` or `portal` with it, and do not
|
|
357
|
+
redirect from the console to the service. Simple wrappers keep one icon.
|
|
@@ -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.25.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.25.0 h1:6h3kcxWMl6hsh98j4p9hyekXchnNuwfnRb3D8eZY9rs=
|
|
2
|
+
github.com/synopackageland/syno-pkg-land-sdk v0.25.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,8 +7,8 @@
|
|
|
7
7
|
"name": "native-dsm-vue-app",
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"@lucide/vue": "1.48.0",
|
|
10
|
-
"@synopackageland/sdk": "0.
|
|
11
|
-
"@synopackageland/ui": "0.14.
|
|
10
|
+
"@synopackageland/sdk": "0.25.0",
|
|
11
|
+
"@synopackageland/ui": "0.14.3",
|
|
12
12
|
"vue": "3.5.43"
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
@@ -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.25.0",
|
|
1156
|
+
"resolved": "https://registry.npmjs.org/@synopackageland/sdk/-/sdk-0.25.0.tgz",
|
|
1157
|
+
"integrity": "sha512-bZC8n3L3NX3dUiO2A64XumvUOdy6GZIzL57pJlZGhSzplMw044gzn3w2tw3DPsy7D+qdguMfx8m+RJh+5qnpQg==",
|
|
1158
1158
|
"license": "MIT",
|
|
1159
1159
|
"peerDependencies": {
|
|
1160
1160
|
"@lucide/vue": "^1.48.0",
|
|
@@ -1171,9 +1171,9 @@
|
|
|
1171
1171
|
}
|
|
1172
1172
|
},
|
|
1173
1173
|
"node_modules/@synopackageland/ui": {
|
|
1174
|
-
"version": "0.14.
|
|
1175
|
-
"resolved": "https://registry.npmjs.org/@synopackageland/ui/-/ui-0.14.
|
|
1176
|
-
"integrity": "sha512-
|
|
1174
|
+
"version": "0.14.3",
|
|
1175
|
+
"resolved": "https://registry.npmjs.org/@synopackageland/ui/-/ui-0.14.3.tgz",
|
|
1176
|
+
"integrity": "sha512-AB7KWt44zj49HVnqsR8gDOyX0AtF3w35SSGVY4u66BgVqGRldUWu4QnqiYdFTdCGWl0ZDGLUQ7JHt7HrYARUyA==",
|
|
1177
1177
|
"license": "MIT",
|
|
1178
1178
|
"dependencies": {
|
|
1179
1179
|
"@internationalized/date": "3.12.4",
|
|
@@ -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.25.0"
|
|
108
|
+
source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.25.0#0bf60be0936b09e246251ed5bd811bf1615a815b"
|
|
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.25.0" }
|
|
13
13
|
|
|
14
14
|
[profile.release]
|
|
15
15
|
# A handler panic becomes an "internal" reply; abort would end the App without one.
|