@synopackageland/templates 0.11.0 → 0.12.2
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 +3 -3
- package/package.json +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 +9 -9
- package/templates/native-go-vue/frontend/package.json +2 -2
- package/templates/native-go-vue/frontend/src/style.css +4 -24
- package/templates/native-go-vue/frontend/test/page-spacing.test.ts +15 -0
- 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
|
@@ -38,12 +38,12 @@ calls each one from the generated script of the same name (`synopkgland skill sh
|
|
|
38
38
|
The placeholders `__PACKAGE__` (also the Go module path), `__DISPLAY_NAME__` and
|
|
39
39
|
`__BACKGROUND_ENABLED__` are substituted by `init`.
|
|
40
40
|
|
|
41
|
-
`backend/go.mod` requires `github.com/synopackageland/syno-pkg-land-sdk v0.
|
|
41
|
+
`backend/go.mod` requires `github.com/synopackageland/syno-pkg-land-sdk v0.12.2`; that line is
|
|
42
42
|
the single source of the SDK version and `frontend/package.json` pins
|
|
43
43
|
`@synopackageland/sdk` to the same version. Python and Node.js name it in
|
|
44
44
|
`backend.sdk`, Rust in the `syno-pkg-land-app` tag of `backend/Cargo.toml`
|
|
45
|
-
(and `Cargo.lock`); all of them pin 0.
|
|
46
|
-
`@synopackageland/ui` 0.
|
|
45
|
+
(and `Cargo.lock`); all of them pin 0.12.2. The Vue frontend pins
|
|
46
|
+
`@synopackageland/ui` 0.10.3.
|
|
47
47
|
|
|
48
48
|
## Notice writer
|
|
49
49
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synopackageland/templates",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.2",
|
|
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": {"type": "git", "url": "git+https://github.com/synopackageland/syno-pkg-land-templates.git"},
|
|
@@ -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.12.2 h1:RDC2Pyl1/yBEj61CDUMM5ica8i1YmUhk89TR6yQd8Es=
|
|
2
|
+
github.com/synopackageland/syno-pkg-land-sdk v0.12.2/go.mod h1:hlsvaVuH2wsAoR8jzI1Rg/NeejQSFpAaN6zpIWsVbjI=
|
|
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.
|
|
10
|
+
"@synopackageland/sdk": "0.12.2",
|
|
11
|
+
"@synopackageland/ui": "0.10.3",
|
|
12
12
|
"vue": "3.5.43"
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
@@ -1148,13 +1148,13 @@
|
|
|
1148
1148
|
}
|
|
1149
1149
|
},
|
|
1150
1150
|
"node_modules/@synopackageland/sdk": {
|
|
1151
|
-
"version": "0.
|
|
1152
|
-
"resolved": "https://registry.npmjs.org/@synopackageland/sdk/-/sdk-0.
|
|
1153
|
-
"integrity": "sha512-
|
|
1151
|
+
"version": "0.12.2",
|
|
1152
|
+
"resolved": "https://registry.npmjs.org/@synopackageland/sdk/-/sdk-0.12.2.tgz",
|
|
1153
|
+
"integrity": "sha512-5SltdOZya34YqxJThM/Usa+cFmhBkN14eu+ZN4FYUqBz55mubW0gG+GkC2Q3Dx5IVi2+iV5HH3pMI3gnWyv/VQ==",
|
|
1154
1154
|
"license": "MIT",
|
|
1155
1155
|
"peerDependencies": {
|
|
1156
1156
|
"@lucide/vue": "^1.48.0",
|
|
1157
|
-
"@synopackageland/ui": "^0.
|
|
1157
|
+
"@synopackageland/ui": "^0.10.1",
|
|
1158
1158
|
"vue": "^3.5.0"
|
|
1159
1159
|
},
|
|
1160
1160
|
"peerDependenciesMeta": {
|
|
@@ -1167,9 +1167,9 @@
|
|
|
1167
1167
|
}
|
|
1168
1168
|
},
|
|
1169
1169
|
"node_modules/@synopackageland/ui": {
|
|
1170
|
-
"version": "0.
|
|
1171
|
-
"resolved": "https://registry.npmjs.org/@synopackageland/ui/-/ui-0.
|
|
1172
|
-
"integrity": "sha512-
|
|
1170
|
+
"version": "0.10.3",
|
|
1171
|
+
"resolved": "https://registry.npmjs.org/@synopackageland/ui/-/ui-0.10.3.tgz",
|
|
1172
|
+
"integrity": "sha512-WrbrA5HgqIdlTJpHEAEt9JNdLElDZP0rPZdx9bweTneJDUngtMrYUTcISEeKA10FGRCcefN4FtSECWY4oe11Ug==",
|
|
1173
1173
|
"license": "MIT",
|
|
1174
1174
|
"dependencies": {
|
|
1175
1175
|
"@internationalized/date": "3.12.4",
|
|
@@ -1,27 +1,7 @@
|
|
|
1
1
|
.dsmapp-vue-root {height: 100%; min-height: 0; width: 100%; overflow: hidden;}
|
|
2
2
|
[data-ui-app] .integration-app {padding: 0 var(--ui-page-padding-x, 16px); color: var(--ui-text); font-family: var(--ui-font-sans); font-size: 13px; line-height: 1.5;}
|
|
3
|
-
|
|
4
|
-
[data-ui-app] .integration-
|
|
5
|
-
[data-ui-app] .integration-
|
|
6
|
-
[data-ui-app] .integration-
|
|
7
|
-
[data-ui-app] .integration-status dt, [data-ui-app] .integration-help {color: var(--ui-text);}
|
|
8
|
-
[data-ui-app] .integration-status dd {margin: 0;}
|
|
9
|
-
[data-ui-app] .integration-actions {display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px;}
|
|
10
|
-
[data-ui-app] .integration-notice {color: var(--ui-text);}
|
|
11
|
-
[data-ui-app] .nas-summary {display: grid; grid-template-columns: minmax(6ch, max-content) minmax(0, 1fr); gap: var(--ui-space-2, 8px) var(--ui-space-4, 16px);}
|
|
12
|
-
[data-ui-app] .nas-summary dd {margin: 0; overflow-wrap: anywhere;}
|
|
13
|
-
[data-ui-app] .nas-breadcrumb {display: flex; flex-wrap: wrap; gap: var(--ui-space-2, 8px); margin-block: var(--ui-space-3, 12px);}
|
|
14
|
-
[data-ui-app] .nas-browser {display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ui-space-3, 12px);}
|
|
15
|
-
[data-ui-app] .nas-tree {display: none;}
|
|
16
|
-
[data-ui-app] .nas-folder-list {min-width: 0; overflow: auto;}
|
|
17
|
-
[data-ui-app] .nas-folder-name {white-space: normal; overflow-wrap: anywhere; text-align: start;}
|
|
18
|
-
[data-ui-app] .nas-folder-action {white-space: normal; max-width: 100%;}
|
|
3
|
+
/* The App's pages and their sections stack at the UI section gap, as PageContent's children do. */
|
|
4
|
+
[data-ui-app] .integration-app, [data-ui-app] .integration-app > [data-page] {display: flex; flex-direction: column; gap: var(--ui-section-gap);}
|
|
5
|
+
[data-ui-app] .integration-help {color: var(--ui-text);}
|
|
6
|
+
[data-ui-app] .integration-actions {display: flex; flex-wrap: wrap; gap: 8px;}
|
|
19
7
|
[data-ui-app] .nas-picker {max-height: 55vh; overflow: auto; overflow-wrap: anywhere;}
|
|
20
|
-
[data-ui-app] .nas-grants {list-style: none; padding: 0;}
|
|
21
|
-
[data-ui-app] .nas-grants > li {padding-block: var(--ui-space-4, 16px); border-bottom: 1px solid var(--ui-border);}
|
|
22
|
-
[data-ui-app] .nas-grant-heading {display: flex; align-items: start; justify-content: space-between; gap: var(--ui-space-3, 12px);}
|
|
23
|
-
[data-ui-app] .nas-grant-heading strong {overflow-wrap: anywhere;}
|
|
24
|
-
@media (min-width: 960px) {
|
|
25
|
-
[data-ui-app] .nas-browser {grid-template-columns: minmax(8ch, 1fr) minmax(0, 3fr);}
|
|
26
|
-
[data-ui-app] .nas-tree {display: block; overflow: auto;}
|
|
27
|
-
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {readFileSync} from 'node:fs'
|
|
2
|
+
import {join} from 'node:path'
|
|
3
|
+
import {expect,test} from 'vitest'
|
|
4
|
+
// UI 0.10 spaces page sections with --ui-section-gap; the App adds no margins of its own.
|
|
5
|
+
const css=readFileSync(join(__dirname,'../src/style.css'),'utf8')
|
|
6
|
+
const rules=[...css.matchAll(/([^{}]+)\{([^}]*)\}/g)].map(([,selector,body])=>({selector:selector!.trim(),body:body!}))
|
|
7
|
+
test('the App stacks its pages and their sections at the UI section gap',()=>{
|
|
8
|
+
const stack=rules.find(rule=>rule.selector.split(',').map(s=>s.trim()).includes('[data-ui-app] .integration-app > [data-page]'))
|
|
9
|
+
expect(stack?.body).toMatch(/display:\s*flex/)
|
|
10
|
+
expect(stack?.body).toMatch(/flex-direction:\s*column/)
|
|
11
|
+
expect(stack?.body).toMatch(/gap:\s*var\(--ui-section-gap\)/)
|
|
12
|
+
})
|
|
13
|
+
test('no rule spaces sections or action rows with hand-written margins',()=>{
|
|
14
|
+
expect(rules.filter(rule=>/margin/.test(rule.body)).map(rule=>rule.selector)).toEqual([])
|
|
15
|
+
})
|
|
@@ -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.12.2"
|
|
108
|
+
source = "git+https://github.com/synopackageland/syno-pkg-land-sdk?tag=v0.12.2#75ff12a9f48c95b6db15d409700b470ca27bcb27"
|
|
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.12.2" }
|
|
13
13
|
|
|
14
14
|
[profile.release]
|
|
15
15
|
# A handler panic becomes an "internal" reply; abort would end the App without one.
|