@synopackageland/templates 0.42.2 → 0.43.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/CHANGELOG.md +7 -0
- package/README.md +30 -16
- package/package.json +2 -2
- package/templates/_shared/AGENTS.md +2 -2
- package/templates/_shared/package.json +1 -1
- package/templates/_shared/pnpm-workspace.yaml +1 -0
- package/templates/compose/dsm-package.yaml +1 -1
- package/templates/native-go/README.md +3 -0
- 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-node/README.md +1 -1
- package/templates/native-node/dsm-package.yaml +1 -1
- package/templates/native-python/dsm-package.yaml +1 -1
- package/templates/native-rust/README.md +3 -0
- package/templates/native-rust/backend/Cargo.lock +8 -8
- package/templates/native-rust/backend/Cargo.toml +1 -1
- package/templates/{native-go-vue → overlays/native-go-vue}/README.md +4 -1
- package/templates/{native-go-vue → overlays/native-go-vue}/frontend/package.json +2 -2
- package/templates/{native-node-vue → overlays/native-node-vue}/README.md +1 -1
- package/templates/{native-python-vue → overlays/native-python-vue}/README.md +1 -1
- package/templates/{native-rust-delegate → overlays/native-rust-delegate}/backend/Cargo.lock +8 -8
- package/templates/{native-rust-delegate → overlays/native-rust-delegate}/backend/Cargo.toml +1 -1
- package/templates/{native-rust-vue → overlays/native-rust-vue}/README.md +1 -1
- package/templates/_shared/pnpm-lock.yaml +0 -1636
- package/templates/native-go-vue/frontend/pnpm-lock.yaml +0 -2269
- package/templates/native-node/backend/pnpm-lock.yaml +0 -207
- /package/templates/{native-go-delegate → overlays/native-go-delegate}/backend/cmd/background-worker/main.go +0 -0
- /package/templates/{native-go-delegate → overlays/native-go-delegate}/backend/internal/app/delegate.go +0 -0
- /package/templates/{native-go-delegate → overlays/native-go-delegate}/backend/internal/app/delegate_on.go +0 -0
- /package/templates/{native-go-delegate → overlays/native-go-delegate}/backend/internal/app/delegate_routes_test.go +0 -0
- /package/templates/{native-go-delegate → overlays/native-go-delegate}/frontend/src/CapabilityPanels.vue +0 -0
- /package/templates/{native-go-delegate → overlays/native-go-delegate}/frontend/test/capability-panels.test.ts +0 -0
- /package/templates/{native-go-jobs → overlays/native-go-jobs}/backend/internal/app/background_on.go +0 -0
- /package/templates/{native-go-jobs → overlays/native-go-jobs}/backend/internal/app/background_routes_test.go +0 -0
- /package/templates/{native-go-jobs → overlays/native-go-jobs}/frontend/test/background-shell.test.ts +0 -0
- /package/templates/{native-go-root-ops → overlays/native-go-root-ops}/backend/internal/app/executor.go +0 -0
- /package/templates/{native-go-root-ops → overlays/native-go-root-ops}/backend/internal/app/executor_test.go +0 -0
- /package/templates/{native-go-root-ops → overlays/native-go-root-ops}/frontend/src/ExecutorGate.vue +0 -0
- /package/templates/{native-go-root-ops → overlays/native-go-root-ops}/frontend/test/executor-gate.test.ts +0 -0
- /package/templates/{native-go-root-ops → overlays/native-go-root-ops}/root/whoami.sh +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/DESIGN.md +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/pnpm-workspace.yaml +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/src/App.vue +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/src/CapabilityPanels.vue +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/src/ExecutorGate.vue +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/src/i18n/de.json +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/src/i18n/en.json +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/src/i18n/es.json +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/src/i18n/fr.json +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/src/i18n/it.json +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/src/i18n/ja.json +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/src/i18n/ko.json +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/src/i18n/zh-CN.json +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/src/i18n/zh-TW.json +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/src/i18n.ts +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/src/main.ts +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/src/style.css +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/test/apps.test.ts +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/test/context.ts +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/test/module-bundle.test.ts +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/test/native-controls.test.ts +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/test/page-spacing.test.ts +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/test/shell-i18n.test.ts +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/tsconfig.json +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/frontend/vite.config.ts +0 -0
- /package/templates/{native-go-vue → overlays/native-go-vue}/gitignore +0 -0
- /package/templates/{native-node-delegate → overlays/native-node-delegate}/backend/src/delegate.ts +0 -0
- /package/templates/{native-node-delegate → overlays/native-node-delegate}/backend/test/delegate.test.ts +0 -0
- /package/templates/{native-node-delegate → overlays/native-node-delegate}/operations.patch.json +0 -0
- /package/templates/{native-node-jobs → overlays/native-node-jobs}/backend/src/jobs.ts +0 -0
- /package/templates/{native-node-jobs → overlays/native-node-jobs}/backend/test/jobs.test.ts +0 -0
- /package/templates/{native-node-jobs → overlays/native-node-jobs}/operations.patch.json +0 -0
- /package/templates/{native-node-root-ops → overlays/native-node-root-ops}/backend/src/root-ops.ts +0 -0
- /package/templates/{native-node-root-ops → overlays/native-node-root-ops}/backend/test/root-ops.test.ts +0 -0
- /package/templates/{native-node-root-ops → overlays/native-node-root-ops}/operations.patch.json +0 -0
- /package/templates/{native-node-vue → overlays/native-node-vue}/gitignore +0 -0
- /package/templates/{native-python-delegate → overlays/native-python-delegate}/backend/app/delegate.py +0 -0
- /package/templates/{native-python-delegate → overlays/native-python-delegate}/backend/tests/test_delegate.py +0 -0
- /package/templates/{native-python-delegate → overlays/native-python-delegate}/operations.patch.json +0 -0
- /package/templates/{native-python-jobs → overlays/native-python-jobs}/backend/app/jobs.py +0 -0
- /package/templates/{native-python-jobs → overlays/native-python-jobs}/backend/tests/test_jobs.py +0 -0
- /package/templates/{native-python-jobs → overlays/native-python-jobs}/operations.patch.json +0 -0
- /package/templates/{native-python-root-ops → overlays/native-python-root-ops}/backend/app/root_ops.py +0 -0
- /package/templates/{native-python-root-ops → overlays/native-python-root-ops}/backend/tests/test_root_ops.py +0 -0
- /package/templates/{native-python-root-ops → overlays/native-python-root-ops}/operations.patch.json +0 -0
- /package/templates/{native-python-vue → overlays/native-python-vue}/gitignore +0 -0
- /package/templates/{native-rust-delegate → overlays/native-rust-delegate}/backend/src/delegate.rs +0 -0
- /package/templates/{native-rust-delegate → overlays/native-rust-delegate}/operations.patch.json +0 -0
- /package/templates/{native-rust-jobs → overlays/native-rust-jobs}/backend/src/jobs.rs +0 -0
- /package/templates/{native-rust-jobs → overlays/native-rust-jobs}/operations.patch.json +0 -0
- /package/templates/{native-rust-root-ops → overlays/native-rust-root-ops}/backend/src/root_ops.rs +0 -0
- /package/templates/{native-rust-root-ops → overlays/native-rust-root-ops}/operations.patch.json +0 -0
- /package/templates/{native-rust-vue → overlays/native-rust-vue}/gitignore +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.43.0
|
|
4
|
+
|
|
5
|
+
- Move Vue and capability layers under `templates/overlays/`; keep six main templates.
|
|
6
|
+
- Let init resolve compatible SDK/UI releases and its own CLI version from shipped defaults.
|
|
7
|
+
- Refresh offline defaults and remove shipped npm lockfiles; first install creates them.
|
|
8
|
+
- Preserve release checksums and document Go/Rust dependency initialization.
|
|
9
|
+
|
|
3
10
|
## 0.42.2
|
|
4
11
|
|
|
5
12
|
- New Apps get no header Refresh. The Vue templates leave `AppShell`'s `#actions` empty (Sign out only with standalone login), so the shell draws no bar above the page; the plain UI's title row drops its Refresh button
|
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ daemon:
|
|
|
24
24
|
window_seconds: 300
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
Templates
|
|
27
|
+
Templates carry offline fallback dependency versions; init resolves compatible current releases.
|
|
28
28
|
Use a CLI that supports executor manifest format 1. The Vue `AppShell` shows a
|
|
29
29
|
non-blocking **Reload** notice when an upgrade replaced the UI an open page
|
|
30
30
|
loaded. Go Apps select
|
|
@@ -50,15 +50,20 @@ An opt-in [native UI plus DSM console example](examples/dual-entry-console/READM
|
|
|
50
50
|
shows the `console` declaration for an App that wraps a web service behind the
|
|
51
51
|
identity gateway and keeps its own settings in an administrator-only DSM window.
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
The first level of `templates/` contains the six main templates, `_shared/`,
|
|
54
|
+
and `overlays/`. All Vue, jobs, delegate and root-ops layers live under `overlays/`.
|
|
55
|
+
The shipped manifest versions are fallback defaults; init rewrites them through its
|
|
56
|
+
existing substitution pass. SDK/UI/CLI patches do not require a templates release.
|
|
57
|
+
|
|
58
|
+
| Template or overlay | What it adds |
|
|
54
59
|
| --- | --- |
|
|
55
60
|
| `native-go` | Base: `dsm-package.yaml`, Go module (`backend/cmd/{app,background-worker}`, `backend/internal/app`, `backend/internal/api/permissions.json`), plain `ui/`, i18n |
|
|
56
|
-
| `native-go-vue` | Vue shell in `frontend/` (`App.vue`, `main.ts`, app i18n, `CapabilityPanels.vue`, `ExecutorGate.vue`) |
|
|
57
|
-
| `native-go-jobs` | Background job routes in `internal/app` and a shell lifecycle test |
|
|
58
|
-
| `native-go-delegate` | Delegate routes, the delegate background worker, the delegate `CapabilityPanels.vue` |
|
|
59
|
-
| `native-go-root-ops` | The SDK's executor routes and `root.run` in `internal/app`, an example `root/whoami.sh`, and the Vue `ExecutorGate.vue` that holds the pages until the executor is approved |
|
|
61
|
+
| `overlays/native-go-vue` | Vue shell in `frontend/` (`App.vue`, `main.ts`, app i18n, `CapabilityPanels.vue`, `ExecutorGate.vue`) |
|
|
62
|
+
| `overlays/native-go-jobs` | Background job routes in `internal/app` and a shell lifecycle test |
|
|
63
|
+
| `overlays/native-go-delegate` | Delegate routes, the delegate background worker, the delegate `CapabilityPanels.vue` |
|
|
64
|
+
| `overlays/native-go-root-ops` | The SDK's executor routes and `root.run` in `internal/app`, an example `root/whoami.sh`, and the Vue `ExecutorGate.vue` that holds the pages until the executor is approved |
|
|
60
65
|
| `native-python` | Base: `dsm-package.yaml` (`backend.runtime: python`), the App in `backend/app` (`routes.py`, stub capability modules, `permissions.json`), unittest tests |
|
|
61
|
-
| `native-node` | Base: `dsm-package.yaml` (`backend.runtime: node`), TypeScript in `backend/src` compiled into `backend/app`, node:test tests,
|
|
66
|
+
| `native-node` | Base: `dsm-package.yaml` (`backend.runtime: node`), TypeScript in `backend/src` compiled into `backend/app`, node:test tests, an install-generated lockfile |
|
|
62
67
|
| `native-rust` | Base: `dsm-package.yaml` (`backend.runtime: rust`, `methods`), the Cargo project in `backend` on the `syno-pkg-land-app` crate, `Cargo.lock`, `rust-toolchain.toml` |
|
|
63
68
|
| `native-{python,node,rust}-{jobs,root-ops,delegate}` | The capability's example module, replacing the base's stub, with its tests |
|
|
64
69
|
| `native-{python,node,rust}-vue` | The README and `.gitignore` of the Vue shell |
|
|
@@ -70,8 +75,8 @@ Overlays are copied over `native-go` in the order root-ops, vue, jobs, delegate.
|
|
|
70
75
|
An overlay may replace `internal/app/*_none.go` (the CLI deletes the matching
|
|
71
76
|
`_none.go` file); nothing outside `internal/app` and the Vue shell differs.
|
|
72
77
|
The Python, Node.js and Rust templates borrow the Go template's UI: `ui/` and
|
|
73
|
-
`i18n/` from `native-go`, `frontend/` from `native-go-vue` (and the jobs and
|
|
74
|
-
delegate overlays' frontend files), `root/whoami.sh` from `native-go-root-ops`.
|
|
78
|
+
`i18n/` from `native-go`, `frontend/` from `overlays/native-go-vue` (and the jobs and
|
|
79
|
+
delegate overlays' frontend files), `root/whoami.sh` from `overlays/native-go-root-ops`.
|
|
75
80
|
Their overlays are copied in the order vue, root-ops, jobs, delegate; delegate
|
|
76
81
|
also makes `app.status` and `report.save` `authenticated`, and the Rust
|
|
77
82
|
manifest gets the overlays' methods. `init` copies the App SDK into
|
|
@@ -84,13 +89,22 @@ calls each one from the generated script of the same name (`synopkgland skill sh
|
|
|
84
89
|
The placeholders `__PACKAGE__` (also the Go module path), `__DISPLAY_NAME__` and
|
|
85
90
|
`__BACKGROUND_ENABLED__` are substituted by `init`.
|
|
86
91
|
|
|
87
|
-
`
|
|
88
|
-
the
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
`init` defaults to `native-go` with Vue. The CLI writes its own `~` version,
|
|
93
|
+
selects the newest stable, non-deprecated SDK and UI releases in its declared
|
|
94
|
+
compatibility ranges, and writes the same exact SDK version to npm and the backend.
|
|
95
|
+
UI stays in the supported minor line. Registry errors or unavailable compatible
|
|
96
|
+
releases print one hint and use the shipped defaults; there is no short custom timeout.
|
|
97
|
+
Templates are still read from the installed package, never downloaded by `init`.
|
|
98
|
+
The CLI compatibility ranges live in `src/init-versions.ts`.
|
|
99
|
+
|
|
100
|
+
Templates do not ship npm lockfiles. Run `pnpm install` in the project root and
|
|
101
|
+
frontend (and the Node backend) to create them, then commit them and use
|
|
102
|
+
`pnpm install --frozen-lockfile` for subsequent installs. For Go, run
|
|
103
|
+
`(cd backend && go mod tidy)` before check/build. When init selects a newer Rust
|
|
104
|
+
SDK tag, run `(cd backend && cargo generate-lockfile)` before check/build;
|
|
105
|
+
the old release's Cargo.lock is removed rather than relabeling its commit.
|
|
106
|
+
`SYNOPKGLAND_SDK_DIR` still overrides the generated SDK dependency for local development.
|
|
107
|
+
|
|
94
108
|
Read the SDK's published peer dependency range with
|
|
95
109
|
`npm view @synopackageland/sdk peerDependencies` rather than overriding it. Tests use jsdom 30 for UI floating-layer styles.
|
|
96
110
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synopackageland/templates",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Project templates for synopkgland init: native-go, native-python, native-node and native-rust (plain or Vue, with
|
|
3
|
+
"version": "0.43.0",
|
|
4
|
+
"description": "Project templates for synopkgland init: native-go, native-python, native-node and native-rust (plain or Vue, with layers in templates/overlays), binary and compose.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -28,7 +28,7 @@ sections at the end name each language's files, types and test commands.
|
|
|
28
28
|
|
|
29
29
|
From the project root, run `synopkgland check --json`,
|
|
30
30
|
`synopkgland build --json`, then `synopkgland inspect <spk> --json` on the emitted SPK.
|
|
31
|
-
For Vue, first run `pnpm install --
|
|
31
|
+
For Vue, first run `pnpm install --prod=false` (creates its lockfile) and `pnpm run build` in frontend. Run its tests only if the user chose tests.
|
|
32
32
|
Do not connect to or change a NAS without explicit task authorization.
|
|
33
33
|
|
|
34
34
|
## Optional testing
|
|
@@ -408,7 +408,7 @@ their capabilities with `synopkgland init --with`.
|
|
|
408
408
|
`new AppError(code, message)`, `AppError.badRequest(message)`. Call services
|
|
409
409
|
through `service(ctx, op, params)` (`service.ts`), which passes the runtime's
|
|
410
410
|
refusals on; a bare `ctx.runtime` refusal would reach the browser as `internal`.
|
|
411
|
-
- Test with `(cd backend && pnpm install --
|
|
411
|
+
- Test with `(cd backend && pnpm install --prod=false && pnpm test && pnpm run typecheck)`; `test/support.ts`'s
|
|
412
412
|
`call` plays the runtime.
|
|
413
413
|
|
|
414
414
|
## Rust backend
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"e2e:ai": "node --env-file-if-exists=.env node_modules/@synopackageland/cli/dist/e2e/dsm.js tunnel -- e2e run --config e2e.ai.config.ts tests/e2e/action.ai.e2e.ts"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
14
|
-
"@synopackageland/cli": "~0.
|
|
14
|
+
"@synopackageland/cli": "~0.53.18",
|
|
15
15
|
"@e2e-dev/web": "^0.14.0",
|
|
16
16
|
"e2e": "^0.19.0"
|
|
17
17
|
},
|
|
@@ -23,7 +23,7 @@ compose:
|
|
|
23
23
|
web: {service: web, port: 8080, health: {path: /, status: 200}}
|
|
24
24
|
network: {egress: isolated}
|
|
25
25
|
identity_gateway:
|
|
26
|
-
sdk: 0.53.
|
|
26
|
+
sdk: 0.53.42
|
|
27
27
|
mode: none
|
|
28
28
|
listen: {http: 28000}
|
|
29
29
|
# Web Apps default to new-page through the shared app-launch resolver.
|
|
@@ -498,3 +498,6 @@ Keep `synology/backend/`, `synology/i18n/messages/`, `synology/operations.json`
|
|
|
498
498
|
the local/ctl tests: the entry gate still needs the backend and message catalogs.
|
|
499
499
|
Read `synopkgland skill show upstream-fork` and
|
|
500
500
|
`synopkgland skill show orchestrator` for the wrapper workflow.
|
|
501
|
+
|
|
502
|
+
Before the first check/build, install the project dependencies with `pnpm install`
|
|
503
|
+
and run `(cd backend && go mod tidy)` to populate checksums for the selected SDK.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
github.com/synopackageland/syno-pkg-land-sdk v0.53.
|
|
2
|
-
github.com/synopackageland/syno-pkg-land-sdk v0.53.
|
|
1
|
+
github.com/synopackageland/syno-pkg-land-sdk v0.53.42 h1:qhbKCjU6ME8OpuMgpz03LHs3KGL66xSwDRvePGWlyEU=
|
|
2
|
+
github.com/synopackageland/syno-pkg-land-sdk v0.53.42/go.mod h1:mmtgnyafLwci1588LJFpRIsWflHwjaHJoDm7grXFh8A=
|
|
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=
|
|
@@ -51,7 +51,7 @@ run `synopkgland ctl generate`.
|
|
|
51
51
|
Needs Node.js 20 or later with `synopkgland` installed. The SPK depends on DSM's **Node.js v20** package (INFO `install_dep_packages`).
|
|
52
52
|
|
|
53
53
|
```bash
|
|
54
|
-
(cd backend && pnpm install --
|
|
54
|
+
(cd backend && pnpm install --prod=false && pnpm test && pnpm run build) # method tests, then app/*.js
|
|
55
55
|
synopkgland ctl generate
|
|
56
56
|
synopkgland check
|
|
57
57
|
synopkgland build # → dist/__PACKAGE__-0.1.0-0001-{x86_64,aarch64}.spk
|
|
@@ -225,3 +225,6 @@ Draft writes require a non-mutating preview and explicit human confirmation.
|
|
|
225
225
|
Long operations use the existing job flow; tools own polling and pagination.
|
|
226
226
|
|
|
227
227
|
Use a matching SDK/CLI/templates release containing the registry support.
|
|
228
|
+
|
|
229
|
+
After init selects a new SDK tag, run `(cd backend && cargo generate-lockfile)`
|
|
230
|
+
before check/build, then commit the generated Cargo.lock.
|
|
@@ -14,15 +14,15 @@ dependencies = [
|
|
|
14
14
|
|
|
15
15
|
[[package]]
|
|
16
16
|
name = "itoa"
|
|
17
|
-
version = "1.0.
|
|
17
|
+
version = "1.0.19"
|
|
18
18
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
19
|
-
checksum = "
|
|
19
|
+
checksum = "3bd1574e617a9a6c1f8f8181bd7e841e1f20e4277607ef28945765188d6284d4"
|
|
20
20
|
|
|
21
21
|
[[package]]
|
|
22
22
|
name = "libc"
|
|
23
|
-
version = "0.2.
|
|
23
|
+
version = "0.2.191"
|
|
24
24
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
25
|
-
checksum = "
|
|
25
|
+
checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a"
|
|
26
26
|
|
|
27
27
|
[[package]]
|
|
28
28
|
name = "memchr"
|
|
@@ -93,9 +93,9 @@ dependencies = [
|
|
|
93
93
|
|
|
94
94
|
[[package]]
|
|
95
95
|
name = "syn"
|
|
96
|
-
version = "3.0.
|
|
96
|
+
version = "3.0.10"
|
|
97
97
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
98
|
-
checksum = "
|
|
98
|
+
checksum = "4ae9ccbea3a7b0b09443036490c8f34a8b1b760fd345e5c0dae0aac718faea79"
|
|
99
99
|
dependencies = [
|
|
100
100
|
"proc-macro2",
|
|
101
101
|
"quote",
|
|
@@ -104,8 +104,8 @@ dependencies = [
|
|
|
104
104
|
|
|
105
105
|
[[package]]
|
|
106
106
|
name = "syno-pkg-land-app"
|
|
107
|
-
version = "0.53.
|
|
108
|
-
source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.53.
|
|
107
|
+
version = "0.53.42"
|
|
108
|
+
source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.53.42#02d5b526c852b3bd30e4dc9031414c9907fadb57"
|
|
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.53.
|
|
12
|
+
syno-pkg-land-app = { git = "https://github.com/synopackageland/syno-pkg-land-sdk", tag = "v0.53.42" }
|
|
13
13
|
|
|
14
14
|
[profile.release]
|
|
15
15
|
# A handler panic becomes an "internal" reply; abort would end the App without one.
|
|
@@ -37,7 +37,7 @@ See the [fork guide](https://github.com/synopackageland/syno-pkg-land-templates#
|
|
|
37
37
|
|
|
38
38
|
```sh
|
|
39
39
|
cd frontend
|
|
40
|
-
pnpm install --
|
|
40
|
+
pnpm install --prod=false
|
|
41
41
|
pnpm test
|
|
42
42
|
pnpm run build
|
|
43
43
|
```
|
|
@@ -150,3 +150,6 @@ For UI discovery, run `pnpm exec syno-pkg-land-ui catalog --json` and
|
|
|
150
150
|
`pnpm exec syno-pkg-land-ui describe Button --json` from the installed frontend.
|
|
151
151
|
Read its prompt and exported Vue docs/types before choosing component APIs.
|
|
152
152
|
Use `syno-pkg-land-ui` directly in package scripts; keep AI guidance version-independent.
|
|
153
|
+
|
|
154
|
+
Before the first check/build, install the project dependencies with `pnpm install`
|
|
155
|
+
and run `(cd backend && go mod tidy)` to populate checksums for the selected SDK.
|
|
@@ -69,15 +69,15 @@ dependencies = [
|
|
|
69
69
|
|
|
70
70
|
[[package]]
|
|
71
71
|
name = "itoa"
|
|
72
|
-
version = "1.0.
|
|
72
|
+
version = "1.0.19"
|
|
73
73
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
74
|
-
checksum = "
|
|
74
|
+
checksum = "3bd1574e617a9a6c1f8f8181bd7e841e1f20e4277607ef28945765188d6284d4"
|
|
75
75
|
|
|
76
76
|
[[package]]
|
|
77
77
|
name = "libc"
|
|
78
|
-
version = "0.2.
|
|
78
|
+
version = "0.2.191"
|
|
79
79
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
80
|
-
checksum = "
|
|
80
|
+
checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a"
|
|
81
81
|
|
|
82
82
|
[[package]]
|
|
83
83
|
name = "memchr"
|
|
@@ -159,9 +159,9 @@ dependencies = [
|
|
|
159
159
|
|
|
160
160
|
[[package]]
|
|
161
161
|
name = "syn"
|
|
162
|
-
version = "3.0.
|
|
162
|
+
version = "3.0.10"
|
|
163
163
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
164
|
-
checksum = "
|
|
164
|
+
checksum = "4ae9ccbea3a7b0b09443036490c8f34a8b1b760fd345e5c0dae0aac718faea79"
|
|
165
165
|
dependencies = [
|
|
166
166
|
"proc-macro2",
|
|
167
167
|
"quote",
|
|
@@ -170,8 +170,8 @@ dependencies = [
|
|
|
170
170
|
|
|
171
171
|
[[package]]
|
|
172
172
|
name = "syno-pkg-land-app"
|
|
173
|
-
version = "0.53.
|
|
174
|
-
source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.53.
|
|
173
|
+
version = "0.53.42"
|
|
174
|
+
source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.53.42#02d5b526c852b3bd30e4dc9031414c9907fadb57"
|
|
175
175
|
dependencies = [
|
|
176
176
|
"libc",
|
|
177
177
|
"serde",
|
|
@@ -10,7 +10,7 @@ libc = "0.2"
|
|
|
10
10
|
serde = { version = "1", features = ["derive"] }
|
|
11
11
|
serde_json = "1"
|
|
12
12
|
# The SDK version is the tag; `synopkgland check` reads it from Cargo.lock.
|
|
13
|
-
syno-pkg-land-app = { git = "https://github.com/synopackageland/syno-pkg-land-sdk", tag = "v0.53.
|
|
13
|
+
syno-pkg-land-app = { git = "https://github.com/synopackageland/syno-pkg-land-sdk", tag = "v0.53.42" }
|
|
14
14
|
|
|
15
15
|
[profile.release]
|
|
16
16
|
# A handler panic becomes an "internal" reply; abort would end the App without one.
|