@synopackageland/templates 0.40.3 → 0.40.4
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 +26 -0
- package/package.json +1 -1
- package/templates/binary/.env.example +5 -0
- package/templates/binary/README.md +2 -0
- package/templates/binary/gitignore +6 -0
- package/templates/compose/.env.example +5 -0
- package/templates/compose/README.md +11 -0
- package/templates/compose/gitignore +6 -0
- package/templates/native-go/.env.example +5 -0
- package/templates/native-go/README.md +11 -0
- package/templates/native-go/gitignore +6 -0
- package/templates/native-go-vue/README.md +13 -0
- package/templates/native-go-vue/gitignore +6 -0
- package/templates/native-node/.env.example +5 -0
- package/templates/native-node/README.md +2 -0
- package/templates/native-node/gitignore +6 -0
- package/templates/native-node-vue/README.md +2 -0
- package/templates/native-node-vue/gitignore +6 -0
- package/templates/native-python/.env.example +5 -0
- package/templates/native-python/README.md +2 -0
- package/templates/native-python/gitignore +6 -0
- package/templates/native-python-vue/README.md +2 -0
- package/templates/native-python-vue/gitignore +6 -0
- package/templates/native-rust/.env.example +5 -0
- package/templates/native-rust/README.md +2 -0
- package/templates/native-rust/gitignore +6 -0
- package/templates/native-rust-vue/README.md +2 -0
- package/templates/native-rust-vue/gitignore +6 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.40.4
|
|
4
|
+
|
|
5
|
+
- Ignore private environment variants, key and certificate files, and npm credentials in every scaffold while keeping `.env.example` trackable
|
|
6
|
+
- Include placeholder-only environment examples for the optional AI tests
|
|
7
|
+
- Document secret storage under `synology/` for upstream forks without changing upstream ignore files
|
|
8
|
+
- Verify Git ignore behavior for every template and UI variant, including upstream forks, using the packed templates and actual CLI
|
|
9
|
+
|
|
3
10
|
## 0.40.3
|
|
4
11
|
|
|
5
12
|
- Use CLI architecture names in local package tests and SDK constants in background-limit assertions
|
package/README.md
CHANGED
|
@@ -354,6 +354,32 @@ configuration and DSM service definition, and upgrades retain the selection.
|
|
|
354
354
|
Changing ports uses reinstall. Declare `{port: gateway_https}` runtime bindings
|
|
355
355
|
when an upstream application needs its public port in its own configuration.
|
|
356
356
|
|
|
357
|
+
## Secret files
|
|
358
|
+
|
|
359
|
+
Every scaffold ignores `.env`, `.env.*`, `*.pem`, `*.key`, `*.p12` and `.npmrc`
|
|
360
|
+
at any depth within its project. `.env.example` remains trackable and contains
|
|
361
|
+
only placeholders for the optional AI tests; those commands load `.env` from
|
|
362
|
+
their working directory. Copy the example only when configuring those tests.
|
|
363
|
+
Keep real credentials out of examples and commits.
|
|
364
|
+
|
|
365
|
+
Templates ship ignore files as `gitignore` because npm excludes `.gitignore`;
|
|
366
|
+
`synopkgland init` restores the `.gitignore` name in the generated project.
|
|
367
|
+
The scaffold tests use the actual packed templates to verify that behavior.
|
|
368
|
+
|
|
369
|
+
### Upstream fork secret storage
|
|
370
|
+
|
|
371
|
+
For `init --upstream-fork`, all wrapper-owned files belong in `synology/`.
|
|
372
|
+
Store secrets in **`synology/.env`, never the fork root**, and run the optional
|
|
373
|
+
tests from `synology/`. Copy `synology/.env.example` only when configuring the
|
|
374
|
+
optional AI tests. Keep keys, certificates and private npm configuration under
|
|
375
|
+
`synology/` as well.
|
|
376
|
+
|
|
377
|
+
The upstream root `.gitignore` is not ours to edit and may not ignore a root
|
|
378
|
+
`.env`. The generated `synology/.gitignore` protects secrets inside `synology/`;
|
|
379
|
+
it cannot protect files in the parent directory. Preserve upstream ignore files
|
|
380
|
+
and history. Use the CLI's `synopkgland skill show upstream-fork` for the rest of
|
|
381
|
+
the fork workflow.
|
|
382
|
+
|
|
357
383
|
## App-open smoke
|
|
358
384
|
|
|
359
385
|
Every generated project includes `tests/e2e/smoke.e2e.ts`, `e2e.config.ts` and
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synopackageland/templates",
|
|
3
|
-
"version": "0.40.
|
|
3
|
+
"version": "0.40.4",
|
|
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": {
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
## Local tests
|
|
4
4
|
|
|
5
|
+
Copy `.env.example` to the ignored `.env` only for optional AI tests; keep real credentials out of examples and commits.
|
|
6
|
+
|
|
5
7
|
From the project root, install the test tools before running the optional tests:
|
|
6
8
|
|
|
7
9
|
```sh
|
|
@@ -14,3 +16,12 @@ After committing the generated root lockfile, use `npm ci --include=dev`.
|
|
|
14
16
|
Configure the upstream image and its real readiness endpoint before
|
|
15
17
|
`test:local`; see `AGENTS.md` for the Compose packaging workflow.
|
|
16
18
|
|
|
19
|
+
## Secrets in an upstream fork
|
|
20
|
+
|
|
21
|
+
With `--upstream-fork`, store secrets in `synology/.env`, never in the fork root.
|
|
22
|
+
Run the optional tests from `synology/`; its `.gitignore` protects `.env`,
|
|
23
|
+
`.env.*`, `*.pem`, `*.key`, `*.p12` and `.npmrc`, while `.env.example` remains
|
|
24
|
+
trackable with placeholders only. The upstream root `.gitignore` is not ours
|
|
25
|
+
to edit and may not ignore a root `.env`.
|
|
26
|
+
See the [fork guide](https://github.com/synopackageland/syno-pkg-land-templates#upstream-fork-secret-storage).
|
|
27
|
+
|
|
@@ -31,6 +31,8 @@ nonblocking job. See the SDK's [request deadline contract](https://github.com/sy
|
|
|
31
31
|
|
|
32
32
|
## Local tests
|
|
33
33
|
|
|
34
|
+
Copy `.env.example` to the ignored `.env` only for optional AI tests; keep real credentials out of examples and commits.
|
|
35
|
+
|
|
34
36
|
From the project root, install the test tools before running the optional tests:
|
|
35
37
|
|
|
36
38
|
```sh
|
|
@@ -44,6 +46,15 @@ Before `npm run test:local`, prepare the backend and, for Vue, build the
|
|
|
44
46
|
frontend using the steps below and the backend section in `AGENTS.md`, then
|
|
45
47
|
run `synopkgland ctl generate`.
|
|
46
48
|
|
|
49
|
+
## Secrets in an upstream fork
|
|
50
|
+
|
|
51
|
+
With `--upstream-fork`, store secrets in `synology/.env`, never in the fork root.
|
|
52
|
+
Run the optional tests from `synology/`; its `.gitignore` protects `.env`,
|
|
53
|
+
`.env.*`, `*.pem`, `*.key`, `*.p12` and `.npmrc`, while `.env.example` remains
|
|
54
|
+
trackable with placeholders only. The upstream root `.gitignore` is not ours
|
|
55
|
+
to edit and may not ignore a root `.env`.
|
|
56
|
+
See the [fork guide](https://github.com/synopackageland/syno-pkg-land-templates#upstream-fork-secret-storage).
|
|
57
|
+
|
|
47
58
|
## Quick start
|
|
48
59
|
|
|
49
60
|
Needs Node.js with `synopkgland` installed, and Go 1.26.10.
|
|
@@ -9,6 +9,8 @@ files, portal, jobs and delegate components come from `@synopackageland/sdk/vue`
|
|
|
9
9
|
|
|
10
10
|
## Local tests
|
|
11
11
|
|
|
12
|
+
Copy `.env.example` to the ignored `.env` only for optional AI tests; keep real credentials out of examples and commits.
|
|
13
|
+
|
|
12
14
|
From the project root, install the test tools before running the optional tests:
|
|
13
15
|
|
|
14
16
|
```sh
|
|
@@ -22,6 +24,17 @@ Before `npm run test:local`, prepare the backend and, for Vue, build the
|
|
|
22
24
|
frontend using the steps below and the backend section in `AGENTS.md`, then
|
|
23
25
|
run `synopkgland ctl generate`.
|
|
24
26
|
|
|
27
|
+
## Secrets in an upstream fork
|
|
28
|
+
|
|
29
|
+
With `--upstream-fork`, store secrets in `synology/.env`, never in the fork root.
|
|
30
|
+
Run the optional tests from `synology/`; its `.gitignore` protects `.env`,
|
|
31
|
+
`.env.*`, `*.pem`, `*.key`, `*.p12` and `.npmrc`, while `.env.example` remains
|
|
32
|
+
trackable with placeholders only. The upstream root `.gitignore` is not ours
|
|
33
|
+
to edit and may not ignore a root `.env`.
|
|
34
|
+
See the [fork guide](https://github.com/synopackageland/syno-pkg-land-templates#upstream-fork-secret-storage).
|
|
35
|
+
|
|
36
|
+
## Frontend
|
|
37
|
+
|
|
25
38
|
```sh
|
|
26
39
|
cd frontend
|
|
27
40
|
npm ci --include=dev
|
|
@@ -31,6 +31,8 @@ nonblocking job. See the SDK's [request deadline contract](https://github.com/sy
|
|
|
31
31
|
|
|
32
32
|
## Local tests
|
|
33
33
|
|
|
34
|
+
Copy `.env.example` to the ignored `.env` only for optional AI tests; keep real credentials out of examples and commits.
|
|
35
|
+
|
|
34
36
|
From the project root, install the test tools before running the optional tests:
|
|
35
37
|
|
|
36
38
|
```sh
|
|
@@ -9,6 +9,8 @@ delegate components come from `@synopackageland/sdk/vue` (types from
|
|
|
9
9
|
|
|
10
10
|
## Local tests
|
|
11
11
|
|
|
12
|
+
Copy `.env.example` to the ignored `.env` only for optional AI tests; keep real credentials out of examples and commits.
|
|
13
|
+
|
|
12
14
|
From the project root, install the test tools before running the optional tests:
|
|
13
15
|
|
|
14
16
|
```sh
|
|
@@ -31,6 +31,8 @@ nonblocking job. See the SDK's [request deadline contract](https://github.com/sy
|
|
|
31
31
|
|
|
32
32
|
## Local tests
|
|
33
33
|
|
|
34
|
+
Copy `.env.example` to the ignored `.env` only for optional AI tests; keep real credentials out of examples and commits.
|
|
35
|
+
|
|
34
36
|
From the project root, install the test tools before running the optional tests:
|
|
35
37
|
|
|
36
38
|
```sh
|
|
@@ -9,6 +9,8 @@ delegate components come from `@synopackageland/sdk/vue` (types from
|
|
|
9
9
|
|
|
10
10
|
## Local tests
|
|
11
11
|
|
|
12
|
+
Copy `.env.example` to the ignored `.env` only for optional AI tests; keep real credentials out of examples and commits.
|
|
13
|
+
|
|
12
14
|
From the project root, install the test tools before running the optional tests:
|
|
13
15
|
|
|
14
16
|
```sh
|
|
@@ -31,6 +31,8 @@ nonblocking job. See the SDK's [request deadline contract](https://github.com/sy
|
|
|
31
31
|
|
|
32
32
|
## Local tests
|
|
33
33
|
|
|
34
|
+
Copy `.env.example` to the ignored `.env` only for optional AI tests; keep real credentials out of examples and commits.
|
|
35
|
+
|
|
34
36
|
From the project root, install the test tools before running the optional tests:
|
|
35
37
|
|
|
36
38
|
```sh
|
|
@@ -9,6 +9,8 @@ delegate components come from `@synopackageland/sdk/vue` (types from
|
|
|
9
9
|
|
|
10
10
|
## Local tests
|
|
11
11
|
|
|
12
|
+
Copy `.env.example` to the ignored `.env` only for optional AI tests; keep real credentials out of examples and commits.
|
|
13
|
+
|
|
12
14
|
From the project root, install the test tools before running the optional tests:
|
|
13
15
|
|
|
14
16
|
```sh
|