@synopackageland/templates 0.22.0 → 0.24.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 CHANGED
@@ -43,12 +43,12 @@ calls each one from the generated script of the same name (`synopkgland skill sh
43
43
  The placeholders `__PACKAGE__` (also the Go module path), `__DISPLAY_NAME__` and
44
44
  `__BACKGROUND_ENABLED__` are substituted by `init`.
45
45
 
46
- `backend/go.mod` requires `github.com/synopackageland/syno-pkg-land-sdk v0.22.0`; that line is
46
+ `backend/go.mod` requires `github.com/synopackageland/syno-pkg-land-sdk v0.24.0`; that line is
47
47
  the single source of the SDK version and `frontend/package.json` pins
48
48
  `@synopackageland/sdk` to the same version. Python and Node.js name it in
49
49
  `backend.sdk`, Rust in the `syno-pkg-land-app` tag of `backend/Cargo.toml`
50
- (and `Cargo.lock`); all of them pin 0.22.0. The Vue frontend pins
51
- `@synopackageland/ui` 0.12.5. SDK 0.22.0 accepts UI `>=0.10.1 <0.14.0`,
50
+ (and `Cargo.lock`); all of them pin 0.24.0. The Vue frontend pins
51
+ `@synopackageland/ui` 0.14.0. SDK 0.24.0 accepts UI `>=0.10.1 <0.14.0`,
52
52
  so no UI peer override is needed. Tests use jsdom 30 for UI floating-layer styles.
53
53
 
54
54
  ## Notice writer
@@ -89,7 +89,7 @@ The Python and Node.js combinations need `SYNOPKGLAND_SDK_DIR` (its `python/`,
89
89
  and `node/` built with `npm ci && npm run build`) for their App SDK, and the
90
90
  Rust ones fetch the SDK crate from it (`scripts/rust-env.sh`), so it must hold
91
91
  the tag `Cargo.lock` pins. The gate runs each language's tests on Linux in
92
- Docker (`scripts/bridge-linux-test.sh`: Python 3.8, Node.js 18, Rust).
92
+ Docker (`scripts/bridge-linux-test.sh`: Python 3.8, Node.js 22, Rust).
93
93
  CI is not available; `scripts/gate.sh` is the gate.
94
94
 
95
95
  Use `scripts/gate.sh --fast` while developing: it tests only the combinations
@@ -101,7 +101,7 @@ prints a failed job's whole log. On `SYNOPKGLAND_DOCKER_SSH` the Rust checks
101
101
  run in `synopkgland-gate-templates:<hash>` (`scripts/gate.Dockerfile`) with
102
102
  the host's shared `synopkgland-cache-cargo` volume, and wait for one of its
103
103
  two gate slots. There the Vue frontends' checks (`scripts/frontend-check.sh`:
104
- npm install, vitest, the build) run too, in the official `node:24.20.0` image
104
+ npm install, vitest, the build) run too, in the official `node:24.22.1` image
105
105
  with the shared `synopkgland-cache-npm` volume
106
106
  (`scripts/frontend-docker-checks.sh`; `SYNOPKGLAND_DOCKER_NPM_REGISTRY` to select an alternate registry), so the Mac's load cannot slow them.
107
107
  Without `SYNOPKGLAND_DOCKER_SSH` they run here.
@@ -159,3 +159,5 @@ window already identifies an administrator and supplies `ctx.batch`. Rebuild
159
159
  with the current CLI and SDK to get that client. Older generated contexts keep
160
160
  the single-call path. Each batch result is handled separately; the shell stays
161
161
  visible while reads run. The backend permissions remain authoritative.
162
+
163
+ Native Node Apps use the official [`Node.js_v22`](https://www.synology.com/en-us/dsm/packages/Node.js_v22) package. The official release history lists DSM 7 series; installation also depends on the model and DSM version supported by Package Center. This dependency does not certify all DSM 7 releases or install Node.js on unsupported models.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synopackageland/templates",
3
- "version": "0.22.0",
3
+ "version": "0.24.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.22.0
17
+ sdk: 0.24.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,6 +1,6 @@
1
1
  Native Go package build dependencies
2
2
 
3
- github.com/synopackageland/syno-pkg-land-sdk v0.22.0 (MIT)
3
+ github.com/synopackageland/syno-pkg-land-sdk v0.24.0 (MIT)
4
4
 
5
5
  Copyright (c) 2026 synopkgland
6
6
 
@@ -2,8 +2,8 @@ module __PACKAGE__
2
2
 
3
3
  go 1.25.0
4
4
 
5
- toolchain go1.26.9
5
+ toolchain go1.26.10
6
6
 
7
- require github.com/synopackageland/syno-pkg-land-sdk v0.22.0
7
+ require github.com/synopackageland/syno-pkg-land-sdk v0.24.0
8
8
 
9
9
  require golang.org/x/sys v0.44.0 // indirect
@@ -1,4 +1,4 @@
1
- github.com/synopackageland/syno-pkg-land-sdk v0.22.0 h1:+BIGc4G3hFF/d1r5xK1L9fWCTonIsP8lYhJdvmx86lg=
2
- github.com/synopackageland/syno-pkg-land-sdk v0.22.0/go.mod h1:vixf5Lo4PssQDGU5zam0Mb5sFu9wPUP4Ck36BMAVbNc=
1
+ github.com/synopackageland/syno-pkg-land-sdk v0.24.0 h1:q4PuhiEEFGco4asf1xnS5aMcPPnYNzzHtdI/4EJ9w/w=
2
+ github.com/synopackageland/syno-pkg-land-sdk v0.24.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.22.0",
11
- "@synopackageland/ui": "0.12.5",
10
+ "@synopackageland/sdk": "0.24.0",
11
+ "@synopackageland/ui": "0.14.0",
12
12
  "vue": "3.5.43"
13
13
  },
14
14
  "devDependencies": {
@@ -1152,13 +1152,13 @@
1152
1152
  }
1153
1153
  },
1154
1154
  "node_modules/@synopackageland/sdk": {
1155
- "version": "0.22.0",
1156
- "resolved": "https://registry.npmjs.org/@synopackageland/sdk/-/sdk-0.22.0.tgz",
1157
- "integrity": "sha512-UgxIjEr+7/eEmf9rn36gIxMHMehjg60rkYRLp7BsulwTxjwMybv2dyv+alFWnjIpTNM8PKtHxIJB4F8tVIAv9w==",
1155
+ "version": "0.24.0",
1156
+ "resolved": "https://registry.npmjs.org/@synopackageland/sdk/-/sdk-0.24.0.tgz",
1157
+ "integrity": "sha512-9G2aEPq0my5rS8JEo4AYPwjDztjT0o5ahUD7YnwTOmOoaGaNq7QXUyWfttozkikXmvY8eUCJRt/ffqdteOmu5g==",
1158
1158
  "license": "MIT",
1159
1159
  "peerDependencies": {
1160
1160
  "@lucide/vue": "^1.48.0",
1161
- "@synopackageland/ui": ">=0.10.1 <0.14.0",
1161
+ "@synopackageland/ui": ">=0.10.1 <0.15.0",
1162
1162
  "vue": "^3.5.0"
1163
1163
  },
1164
1164
  "peerDependenciesMeta": {
@@ -1171,9 +1171,9 @@
1171
1171
  }
1172
1172
  },
1173
1173
  "node_modules/@synopackageland/ui": {
1174
- "version": "0.12.5",
1175
- "resolved": "https://registry.npmjs.org/@synopackageland/ui/-/ui-0.12.5.tgz",
1176
- "integrity": "sha512-EwsRxFVBRi3ip6EKhuTc6LwEFFQjdppoMWb+pHPb6GfL2JV7YszrzEhyo8KzpPnBI2mHnxrXc6ObGNEJTr4Oyg==",
1174
+ "version": "0.14.0",
1175
+ "resolved": "https://registry.npmjs.org/@synopackageland/ui/-/ui-0.14.0.tgz",
1176
+ "integrity": "sha512-vYKMzWYZZM781ccunNji1SooVD76S0AH2g4meWBSJNBbTj6nupiijedsaOAr0tRI6vW51P6n4AjjKO5wF3UD4w==",
1177
1177
  "license": "MIT",
1178
1178
  "dependencies": {
1179
1179
  "@internationalized/date": "3.12.4",
@@ -8,8 +8,8 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "@lucide/vue": "1.48.0",
11
- "@synopackageland/sdk": "0.22.0",
12
- "@synopackageland/ui": "0.12.5",
11
+ "@synopackageland/sdk": "0.24.0",
12
+ "@synopackageland/ui": "0.14.0",
13
13
  "vue": "3.5.43"
14
14
  },
15
15
  "devDependencies": {
@@ -49,8 +49,8 @@ backend:
49
49
  runtime: node
50
50
  dir: backend/app
51
51
  entry: main.js
52
- sdk: 0.22.0
53
- node: { package: Node.js_v20 }
52
+ sdk: 0.24.0
53
+ node: { package: Node.js_v22 }
54
54
 
55
55
  ui:
56
56
  # Non-UI-SDK frontends open a full page; Portal is a separate opt-in.
@@ -47,7 +47,7 @@ backend:
47
47
  runtime: python
48
48
  dir: backend/app
49
49
  entry: main.py
50
- sdk: 0.22.0
50
+ sdk: 0.24.0
51
51
 
52
52
  ui:
53
53
  # Non-UI-SDK frontends open a full page; Portal is a separate opt-in.
@@ -104,8 +104,8 @@ dependencies = [
104
104
 
105
105
  [[package]]
106
106
  name = "syno-pkg-land-app"
107
- version = "0.22.0"
108
- source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.22.0#b3537903609e4c34fc9ac0436d3eaad7fe27a041"
107
+ version = "0.24.0"
108
+ source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.24.0#c5b7818621775078d2ab5076fe223878e1a8c1cc"
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.22.0" }
12
+ syno-pkg-land-app = { git = "https://github.com/synopackageland/syno-pkg-land-sdk", tag = "v0.24.0" }
13
13
 
14
14
  [profile.release]
15
15
  # A handler panic becomes an "internal" reply; abort would end the App without one.