@icebreakers/monorepo-templates 2.3.1 → 2.3.3
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/assets/.github/workflows/release.yml +64 -3
- package/assets/gitignore +2 -0
- package/assets/package.json +3 -1
- package/assets/pnpm-workspace.yaml +1 -1
- package/assets/renovate.json +13 -0
- package/assets/repoctl.config.ts +5 -0
- package/dist/cli.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{prepare-BYNSxvoB.mjs → prepare-3Vhzg3fr.mjs} +1 -0
- package/package.json +1 -1
- package/templates/client/package.json +3 -3
- package/templates/nimbus/README.md +23 -1
- package/templates/nimbus/UPSTREAM.md +21 -3
- package/templates/nimbus/nimbus.json +1 -1
- package/templates/nimbus/package.json +2 -2
- package/templates/react-lib/package.json +1 -1
- package/templates/react-vite/package.json +1 -1
- package/templates/vitepress/learn/tools/renovate.md +3 -1
- package/templates/vitepress/zh/learn/tools/renovate.md +13 -14
- package/templates/vue-lib/package.json +1 -1
|
@@ -95,7 +95,6 @@ jobs:
|
|
|
95
95
|
with:
|
|
96
96
|
node-version: 24
|
|
97
97
|
cache: pnpm
|
|
98
|
-
registry-url: https://registry.npmjs.org
|
|
99
98
|
|
|
100
99
|
- name: Install npm with trusted publishing support
|
|
101
100
|
run: npm install --global npm@11.16.0 --registry=https://registry.npmjs.org
|
|
@@ -103,7 +102,8 @@ jobs:
|
|
|
103
102
|
- name: Install Dependencies
|
|
104
103
|
run: pnpm install --frozen-lockfile
|
|
105
104
|
|
|
106
|
-
- name:
|
|
105
|
+
- name: Release plan
|
|
106
|
+
id: release-plan
|
|
107
107
|
env:
|
|
108
108
|
GITHUB_TOKEN: ${{ steps.app-token.outputs.token || secrets.REPOCTL_RELEASE_TOKEN || secrets.CHANGESETS_RELEASE_TOKEN || github.token }}
|
|
109
109
|
REPO_RELEASE_MODE: ${{ inputs.mode || 'auto' }}
|
|
@@ -111,7 +111,67 @@ jobs:
|
|
|
111
111
|
REPO_RELEASE_VERSION: ${{ inputs.version }}
|
|
112
112
|
REPO_RELEASE_DRY_RUN: ${{ inputs.dry-run }}
|
|
113
113
|
REPO_RELEASE_RECOVERY_SOURCE_SHA: ${{ inputs.source-sha }}
|
|
114
|
-
run: pnpm exec repo release ci
|
|
114
|
+
run: pnpm exec repo release ci --stage plan
|
|
115
|
+
|
|
116
|
+
- name: Release verify
|
|
117
|
+
id: release-verify
|
|
118
|
+
if: ${{ steps.release-plan.outputs.run == 'true' }}
|
|
119
|
+
env:
|
|
120
|
+
GITHUB_TOKEN: ${{ steps.app-token.outputs.token || secrets.REPOCTL_RELEASE_TOKEN || secrets.CHANGESETS_RELEASE_TOKEN || github.token }}
|
|
121
|
+
REPO_RELEASE_MODE: ${{ inputs.mode || 'auto' }}
|
|
122
|
+
REPO_RELEASE_PACKAGE: ${{ inputs.package }}
|
|
123
|
+
REPO_RELEASE_VERSION: ${{ inputs.version }}
|
|
124
|
+
REPO_RELEASE_DRY_RUN: ${{ inputs.dry-run }}
|
|
125
|
+
REPO_RELEASE_RECOVERY_SOURCE_SHA: ${{ inputs.source-sha }}
|
|
126
|
+
run: pnpm exec repo release ci --stage verify
|
|
127
|
+
|
|
128
|
+
- name: Release prepare
|
|
129
|
+
id: release-prepare
|
|
130
|
+
if: ${{ steps.release-plan.outputs.run == 'true' }}
|
|
131
|
+
env:
|
|
132
|
+
GITHUB_TOKEN: ${{ steps.app-token.outputs.token || secrets.REPOCTL_RELEASE_TOKEN || secrets.CHANGESETS_RELEASE_TOKEN || github.token }}
|
|
133
|
+
REPO_RELEASE_MODE: ${{ inputs.mode || 'auto' }}
|
|
134
|
+
REPO_RELEASE_PACKAGE: ${{ inputs.package }}
|
|
135
|
+
REPO_RELEASE_VERSION: ${{ inputs.version }}
|
|
136
|
+
REPO_RELEASE_DRY_RUN: ${{ inputs.dry-run }}
|
|
137
|
+
REPO_RELEASE_RECOVERY_SOURCE_SHA: ${{ inputs.source-sha }}
|
|
138
|
+
run: pnpm exec repo release ci --stage prepare
|
|
139
|
+
|
|
140
|
+
- name: Release upload
|
|
141
|
+
id: release-upload
|
|
142
|
+
if: ${{ steps.release-prepare.outputs.publish == 'true' }}
|
|
143
|
+
env:
|
|
144
|
+
GITHUB_TOKEN: ${{ steps.app-token.outputs.token || secrets.REPOCTL_RELEASE_TOKEN || secrets.CHANGESETS_RELEASE_TOKEN || github.token }}
|
|
145
|
+
REPO_RELEASE_MODE: ${{ inputs.mode || 'auto' }}
|
|
146
|
+
REPO_RELEASE_PACKAGE: ${{ inputs.package }}
|
|
147
|
+
REPO_RELEASE_VERSION: ${{ inputs.version }}
|
|
148
|
+
REPO_RELEASE_DRY_RUN: ${{ inputs.dry-run }}
|
|
149
|
+
REPO_RELEASE_RECOVERY_SOURCE_SHA: ${{ inputs.source-sha }}
|
|
150
|
+
run: pnpm exec repo release ci --stage upload
|
|
151
|
+
|
|
152
|
+
- name: Release confirm
|
|
153
|
+
id: release-confirm
|
|
154
|
+
if: ${{ steps.release-prepare.outputs.publish == 'true' }}
|
|
155
|
+
env:
|
|
156
|
+
GITHUB_TOKEN: ${{ steps.app-token.outputs.token || secrets.REPOCTL_RELEASE_TOKEN || secrets.CHANGESETS_RELEASE_TOKEN || github.token }}
|
|
157
|
+
REPO_RELEASE_MODE: ${{ inputs.mode || 'auto' }}
|
|
158
|
+
REPO_RELEASE_PACKAGE: ${{ inputs.package }}
|
|
159
|
+
REPO_RELEASE_VERSION: ${{ inputs.version }}
|
|
160
|
+
REPO_RELEASE_DRY_RUN: ${{ inputs.dry-run }}
|
|
161
|
+
REPO_RELEASE_RECOVERY_SOURCE_SHA: ${{ inputs.source-sha }}
|
|
162
|
+
run: pnpm exec repo release ci --stage confirm
|
|
163
|
+
|
|
164
|
+
- name: Release finalize
|
|
165
|
+
id: release-finalize
|
|
166
|
+
if: ${{ steps.release-prepare.outputs.publish == 'true' }}
|
|
167
|
+
env:
|
|
168
|
+
GITHUB_TOKEN: ${{ steps.app-token.outputs.token || secrets.REPOCTL_RELEASE_TOKEN || secrets.CHANGESETS_RELEASE_TOKEN || github.token }}
|
|
169
|
+
REPO_RELEASE_MODE: ${{ inputs.mode || 'auto' }}
|
|
170
|
+
REPO_RELEASE_PACKAGE: ${{ inputs.package }}
|
|
171
|
+
REPO_RELEASE_VERSION: ${{ inputs.version }}
|
|
172
|
+
REPO_RELEASE_DRY_RUN: ${{ inputs.dry-run }}
|
|
173
|
+
REPO_RELEASE_RECOVERY_SOURCE_SHA: ${{ inputs.source-sha }}
|
|
174
|
+
run: pnpm exec repo release ci --stage finalize
|
|
115
175
|
|
|
116
176
|
- name: Preserve npm publish progress
|
|
117
177
|
if: ${{ always() }}
|
|
@@ -122,6 +182,7 @@ jobs:
|
|
|
122
182
|
pnpm-publish-summary.json
|
|
123
183
|
repoctl-publish-progress.json
|
|
124
184
|
repoctl-release-progress.json
|
|
185
|
+
repoctl-ci-progress.json
|
|
125
186
|
if-no-files-found: ignore
|
|
126
187
|
retention-days: 14
|
|
127
188
|
|
package/assets/gitignore
CHANGED
package/assets/package.json
CHANGED
|
@@ -50,7 +50,9 @@
|
|
|
50
50
|
"postinstall": "pnpm run build",
|
|
51
51
|
"commit": "commit",
|
|
52
52
|
"commitlint": "commitlint --edit",
|
|
53
|
-
"sync": "
|
|
53
|
+
"sync": "pnpm sync:npmmirror",
|
|
54
|
+
"sync:npmmirror": "repo release sync-npmmirror --all",
|
|
55
|
+
"release:sync-npmmirror": "repo release sync-npmmirror --published",
|
|
54
56
|
"inspector": "npx @eslint/config-inspector",
|
|
55
57
|
"build:inspector": "pnpm build && npx @eslint/config-inspector build",
|
|
56
58
|
"-------": "---------------",
|
package/assets/renovate.json
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
":semanticCommitTypeAll(chore)"
|
|
7
7
|
],
|
|
8
8
|
"rangeStrategy": "bump",
|
|
9
|
+
"minimumReleaseAge": "7 days",
|
|
10
|
+
"internalChecksFilter": "strict",
|
|
9
11
|
"gitIgnoredAuthors": [
|
|
10
12
|
"41898282+github-actions[bot]@users.noreply.github.com",
|
|
11
13
|
"335527025+auto-upgrade-deps[bot]@users.noreply.github.com"
|
|
@@ -37,6 +39,17 @@
|
|
|
37
39
|
],
|
|
38
40
|
"groupName": "Cloudflare Workers tooling",
|
|
39
41
|
"groupSlug": "cloudflare-workers-tooling"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"matchManagers": [
|
|
45
|
+
"npm"
|
|
46
|
+
],
|
|
47
|
+
"matchPackageNames": [
|
|
48
|
+
"@cloudflare/nimbus-docs"
|
|
49
|
+
],
|
|
50
|
+
"groupName": "Nimbus documentation engine",
|
|
51
|
+
"groupSlug": "nimbus-documentation-engine",
|
|
52
|
+
"automerge": false
|
|
40
53
|
}
|
|
41
54
|
]
|
|
42
55
|
}
|
package/assets/repoctl.config.ts
CHANGED
|
@@ -2,6 +2,11 @@ import type { MonorepoConfig } from 'repoctl'
|
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
4
|
commands: {
|
|
5
|
+
release: {
|
|
6
|
+
hooks: {
|
|
7
|
+
afterPublish: [{ script: 'release:sync-npmmirror', continueOnError: true, idempotent: true }],
|
|
8
|
+
},
|
|
9
|
+
},
|
|
5
10
|
create: {
|
|
6
11
|
defaultTemplate: 'tsdown',
|
|
7
12
|
renameJson: false,
|
package/dist/cli.mjs
CHANGED
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as isGitignoreFile, c as toWorkspaceGitignorePath, d as packageDir, f as skeletonDir, h as getAssetTargets$1, i as shouldSkipTemplatePath, l as templateChoices$1, m as assetTargets$1, n as sanitizePublishedWorkspaceContent, o as toPublishGitignorePath, p as templatesDir, r as createTemplateCopyFilter, s as toWorkspaceAssetPath, t as prepareAssets, u as assetsDir } from "./prepare-
|
|
1
|
+
import { a as isGitignoreFile, c as toWorkspaceGitignorePath, d as packageDir, f as skeletonDir, h as getAssetTargets$1, i as shouldSkipTemplatePath, l as templateChoices$1, m as assetTargets$1, n as sanitizePublishedWorkspaceContent, o as toPublishGitignorePath, p as templatesDir, r as createTemplateCopyFilter, s as toWorkspaceAssetPath, t as prepareAssets, u as assetsDir } from "./prepare-3Vhzg3fr.mjs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import fs, { access, open, readFile, rm } from "node:fs/promises";
|
|
4
4
|
import { Buffer } from "node:buffer";
|
|
@@ -208,6 +208,7 @@ function createTemplateCopyFilter(rootDir) {
|
|
|
208
208
|
const sourceScriptNames = /* @__PURE__ */ new Set([
|
|
209
209
|
"tooling:build",
|
|
210
210
|
"check:no-tracked-build-artifacts",
|
|
211
|
+
"check:nimbus-upgrade",
|
|
211
212
|
"check:workflows",
|
|
212
213
|
"test:dev-scenarios",
|
|
213
214
|
"test:worker-types"
|
package/package.json
CHANGED
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"@faker-js/faker": "^10.6.0",
|
|
40
40
|
"@tanstack/vue-query": "^5.104.1",
|
|
41
41
|
"@tanstack/vue-query-devtools": "^6.3.1",
|
|
42
|
-
"@tanstack/vue-table": "^9.2.
|
|
43
|
-
"@tanstack/vue-virtual": "^3.13.
|
|
42
|
+
"@tanstack/vue-table": "^9.2.8",
|
|
43
|
+
"@tanstack/vue-virtual": "^3.13.40",
|
|
44
44
|
"@trpc/client": "^11.19.0",
|
|
45
45
|
"clsx": "^2.1.1",
|
|
46
46
|
"pinia": "^4.0.3",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"hono": "^4.13.13",
|
|
64
64
|
"tailwindcss": "^4.3.3",
|
|
65
65
|
"typescript": "~6.0.3",
|
|
66
|
-
"vite": "^8.3.
|
|
66
|
+
"vite": "^8.3.4",
|
|
67
67
|
"vite-plugin-vue-devtools": "^8.2.1",
|
|
68
68
|
"vite-tsconfig-paths": "^6.1.1",
|
|
69
69
|
"vue-tsc": "3.3.12",
|
|
@@ -14,4 +14,26 @@ pnpm typecheck
|
|
|
14
14
|
|
|
15
15
|
Edit `src/content/docs/` and its `zh/` translations. Set your project title and canonical site URL in `astro.config.ts` before publishing `dist/` to a static host. Search is available after a production build.
|
|
16
16
|
|
|
17
|
-
机器可读入口包括 `/llms.txt`、`/zh/llms.txt`、`/llms-full.txt`,以及页面的 `/index.md` 和 `/index.mdx
|
|
17
|
+
机器可读入口包括 `/llms.txt`、`/zh/llms.txt`、`/llms-full.txt`,以及页面的 `/index.md` 和 `/index.mdx`。Nimbus 还会生成 `/.well-known/ard.json`、`/.well-known/ai-catalog.json` 和 `dist/_headers` 中的发现响应头。静态托管需要应用这些响应头;不支持 `_headers` 的主机应配置等效规则。使用子路径部署时,发现文件仍须发布到域名根目录的 `/.well-known/`,并在那里应用对应响应头规则。详见 `AGENTS.md` 和 `UPSTREAM.md`。
|
|
18
|
+
|
|
19
|
+
## Upgrading Nimbus / 升级 Nimbus
|
|
20
|
+
|
|
21
|
+
Nimbus updates can require review even within a minor release. Keep its dependency pinned to an exact version and review the migration report before advancing `nimbus.json`.
|
|
22
|
+
|
|
23
|
+
更新依赖后,先在 monorepo 根目录运行 `pnpm install --ignore-scripts`,再在此目录检查迁移要求:
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
pnpm exec nimbus-docs migrate --dry-run --json
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
逐项核对适用条件并完成必要修改,在 `UPSTREAM.md` 记录审阅结论,再通过官方命令记录基线并验证:
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
pnpm exec nimbus-docs migrate --yes
|
|
33
|
+
pnpm exec nimbus-docs check --migrations
|
|
34
|
+
pnpm build
|
|
35
|
+
pnpm lint
|
|
36
|
+
pnpm typecheck
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
不要只修改审阅版本来跳过迁移。部署前检查发现文件、首页 Link 响应头,以及中英文页面和机器可读入口。
|
|
@@ -4,13 +4,31 @@ This template adapts the static empty starter from [Cloudflare Nimbus](https://g
|
|
|
4
4
|
|
|
5
5
|
- Starter tag: `templates-v0.7.9`
|
|
6
6
|
- Starter commit: `aae348048a8c659f84c39696ee6b20c2ad2f5ae2`
|
|
7
|
-
- Nimbus package: `@cloudflare/nimbus-docs@0.
|
|
8
|
-
-
|
|
7
|
+
- Nimbus package: `@cloudflare/nimbus-docs@0.17.0`
|
|
8
|
+
- Nimbus release commit: `1951de5cc3e420a5e672f192c334584216716c1e`
|
|
9
|
+
- Astro: `7.3.8`
|
|
9
10
|
|
|
10
|
-
Nimbus declares Astro `>=7.2.6 <8`; Astro requires Node `>=22.12.0`, so this workspace retains its stricter Node `>=22.13.0` baseline.
|
|
11
|
+
Nimbus declares Astro `>=7.2.6 <8`; Astro requires Node `>=22.12.0`, so this workspace retains its stricter Node `>=22.13.0` baseline. The repository validates builds, Astro diagnostics and TypeScript checks with TypeScript `6.0.3` and Vite `8.3.4`. Resolved dependencies are recorded in the monorepo's root `pnpm-lock.yaml`; generated projects use their own root workspace lockfile.
|
|
11
12
|
|
|
12
13
|
Agent endpoint routes and the content-loading approach come from that starter. The bilingual layout, navigation, search interface, examples and workspace checks are repoctl adaptations. These files are maintained locally; generating a project never downloads the upstream starter.
|
|
13
14
|
|
|
14
15
|
The local head component emits page-specific language metadata because the upstream head uses the site-wide locale. Client scripts are emitted as external assets so Astro does not inline them before Vite finalizes Pagefind's dynamic import.
|
|
15
16
|
|
|
16
17
|
The package version and starter tag were checked against published package metadata. `nimbus.json` records the reviewed package API baseline. The original full starter was not copied wholesale, so upstream starter diffs are not a claim that every local file is an unmodified upstream component.
|
|
18
|
+
|
|
19
|
+
## Nimbus 0.17.0 upgrade review
|
|
20
|
+
|
|
21
|
+
The `0.16.0` → `0.17.0` review follows the installed package's `nimbus-docs migrate --dry-run --json` report and the release's [upgrade manifest](https://github.com/cloudflare/nimbus/blob/1951de5cc3e420a5e672f192c334584216716c1e/packages/nimbus-docs/src/_internal/upgrade-manifest.json).
|
|
22
|
+
|
|
23
|
+
| Required review | Template decision |
|
|
24
|
+
| --- | --- |
|
|
25
|
+
| `api-body-request-example` | No API collection or copied `ApiBody` component exists. No component replacement is needed. |
|
|
26
|
+
| `api-catalog-published-specs` | No API collection or versioned spec exists, so there are no specs to publish or hide. |
|
|
27
|
+
| `api-version-id-format` | No API versions are configured. |
|
|
28
|
+
| `version-switcher-keeps-query` | No query-versioned API or copied `VersionSwitcher` exists. |
|
|
29
|
+
| `page-collections-from-helpers` | The only collection uses `defineCollection(docsCollection())`; there are no plain-loader page collections or rendering overrides. |
|
|
30
|
+
| `generated-agent-discovery-routes` | Neither `public/` nor `src/pages/` owns the generated discovery paths. Nimbus generates both discovery documents and homepage Link headers; packaged regression checks validate their resources and static header rules. |
|
|
31
|
+
|
|
32
|
+
The site remains static. Its existing Markdown/MDX and LLM endpoint factories stay valid. Optional copied-sidebar, browser WebMCP and server-rendering changes are not adopted. There is no project `skills/` directory to publish. Existing `robots.txt` policy is preserved; the new starter's optional AI training Content Signals are not adopted implicitly.
|
|
33
|
+
|
|
34
|
+
For a subpath deployment, publish the generated `.well-known/` directory at the origin root and apply its header rules there. Hosts that do not consume `_headers` need equivalent native header configuration; see the [agent deployment guidance](https://nimbus-docs.com/ai/docs-for-agents/).
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"check:locales": "node scripts/check-locales.mjs"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@cloudflare/nimbus-docs": "0.
|
|
23
|
-
"astro": "7.3.
|
|
22
|
+
"@cloudflare/nimbus-docs": "0.17.0",
|
|
23
|
+
"astro": "7.3.8"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@astrojs/check": "^0.9.10",
|
|
@@ -8,12 +8,14 @@ Renovate keeps dependencies current through reviewable pull requests. It is most
|
|
|
8
8
|
{
|
|
9
9
|
"extends": ["config:recommended", "group:allNonMajor"],
|
|
10
10
|
"rangeStrategy": "bump",
|
|
11
|
+
"minimumReleaseAge": "7 days",
|
|
12
|
+
"internalChecksFilter": "strict",
|
|
11
13
|
"automerge": true,
|
|
12
14
|
"automergeType": "pr"
|
|
13
15
|
}
|
|
14
16
|
```
|
|
15
17
|
|
|
16
|
-
The repository groups compatible minor and patch updates. Cloudflare Workers tooling is grouped separately because Wrangler and its Vite plugin have a deliberate compatibility relationship.
|
|
18
|
+
The repository groups compatible minor and patch updates. Cloudflare Workers tooling is grouped separately because Wrangler and its Vite plugin have a deliberate compatibility relationship. Renovate waits seven days after each version is published before it can create an update branch or pull request. `internalChecksFilter: "strict"` keeps the stability check blocking, so a pending `renovate/stability-days` check does not appear as a pull request yet. The timer is evaluated for each version independently; it does not require a package to stop publishing for seven days. Security updates follow the same seven-day wait so every automated update gets the same validation window.
|
|
17
19
|
|
|
18
20
|
## Review an update
|
|
19
21
|
|
|
@@ -52,25 +52,24 @@ npx renovate
|
|
|
52
52
|
|
|
53
53
|
```json
|
|
54
54
|
{
|
|
55
|
-
"extends": ["config:
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
{
|
|
62
|
-
"matchUpdateTypes": ["major"],
|
|
63
|
-
"automerge": false
|
|
64
|
-
}
|
|
65
|
-
]
|
|
55
|
+
"extends": ["config:recommended", "group:allNonMajor"],
|
|
56
|
+
"rangeStrategy": "bump",
|
|
57
|
+
"minimumReleaseAge": "7 days",
|
|
58
|
+
"internalChecksFilter": "strict",
|
|
59
|
+
"automerge": true,
|
|
60
|
+
"automergeType": "pr"
|
|
66
61
|
}
|
|
67
62
|
```
|
|
68
63
|
|
|
69
64
|
解释:
|
|
70
65
|
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
66
|
+
- 使用推荐配置,并将兼容的非 major 更新分组。
|
|
67
|
+
- `"rangeStrategy": "bump"` 让版本范围随升级一起更新。
|
|
68
|
+
- `"minimumReleaseAge": "7 days"` 要求每个新版本发布满 7 天后才进入升级候选。
|
|
69
|
+
- `"internalChecksFilter": "strict"` 让 `renovate/stability-days` 稳定性检查保持阻塞状态;检查通过前不会创建升级分支或 PR。
|
|
70
|
+
- `"automerge": true` 和 `"automergeType": "pr"` 允许通过检查的升级 PR 自动合并。
|
|
71
|
+
|
|
72
|
+
Renovate 按版本分别计时:它等待的是当前版本发布后的 7 天,而不是等待这个包连续 7 天没有新发布。安全更新也遵循相同的 7 天等待窗口,确保自动升级都经过一致的验证时间。
|
|
74
73
|
|
|
75
74
|
### 实际效果
|
|
76
75
|
|