openxiangda 1.0.187 → 1.0.189
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/lib/application-environments.js +19 -1
- package/lib/cli.js +5 -1
- package/package.json +1 -1
|
@@ -363,7 +363,25 @@ function releaseExecutionPath(changeId, deploymentId, cwd = process.cwd()) {
|
|
|
363
363
|
|
|
364
364
|
function withManagedReleaseForwardedFlags(stepId, args = [], flags = {}) {
|
|
365
365
|
const forwarded = [...args];
|
|
366
|
-
|
|
366
|
+
const immutableResourceStages = new Set([
|
|
367
|
+
'backend-stage',
|
|
368
|
+
'workflow-stage',
|
|
369
|
+
]);
|
|
370
|
+
if (
|
|
371
|
+
immutableResourceStages.has(stepId) &&
|
|
372
|
+
!forwarded.includes('--include-noop')
|
|
373
|
+
) {
|
|
374
|
+
forwarded.push('--include-noop');
|
|
375
|
+
}
|
|
376
|
+
const baselineAdoptionStages = new Set([
|
|
377
|
+
'form-stage',
|
|
378
|
+
'backend-stage',
|
|
379
|
+
'workflow-stage',
|
|
380
|
+
]);
|
|
381
|
+
if (
|
|
382
|
+
!baselineAdoptionStages.has(stepId) ||
|
|
383
|
+
!flags['adopt-online-baseline']
|
|
384
|
+
) {
|
|
367
385
|
return forwarded;
|
|
368
386
|
}
|
|
369
387
|
forwarded.push('--adopt-online-baseline');
|
package/lib/cli.js
CHANGED
|
@@ -11438,6 +11438,7 @@ async function resource(args) {
|
|
|
11438
11438
|
' - publish 默认跳过 plan 判定为 noop 的资源,避免无意义 upsert;需要强制写入时加 --force。',
|
|
11439
11439
|
' - Form settings bundle 默认只 stage,不推进线上 Form head;只有显式 --activate 才 CAS 激活。',
|
|
11440
11440
|
' - Function/Automation/Workflow 可用 --stage-only 只 prepare + verify immutable child;随后由 release app-finalize 一次原子激活。',
|
|
11441
|
+
' - --include-noop 仅可与 --stage-only 一起使用,用于受管候选为内容未变的目标生成带当前来源的不可变子版本。',
|
|
11441
11442
|
' - publish --dry-run 等价于发布前计划,不会写平台资源。',
|
|
11442
11443
|
' - 在线 publish 必须用 --only/--code 精确选择;真正全量发布必须显式 --all --reason,SDD bypass 不能绕过此范围门。',
|
|
11443
11444
|
' - 历史代码已先合入主线、线上又来自多次分批发布时,可显式使用 --adopt-online-baseline --adoption-reason "...";仅允许绑定同一 change/lease 的精确非删除范围,仍保留 lease、冻结 head 检查与写入 CAS。',
|
|
@@ -11476,6 +11477,9 @@ async function resource(args) {
|
|
|
11476
11477
|
const typeFilters = getResourceTypeFilters(positional, flags);
|
|
11477
11478
|
const codeFilters = getResourceCodeFilters(flags);
|
|
11478
11479
|
assertBackendStageOnlyScope(subcommand, flags, typeFilters);
|
|
11480
|
+
if (flags['include-noop'] && !flags['stage-only']) {
|
|
11481
|
+
fail('--include-noop 仅允许与 --stage-only 一起使用');
|
|
11482
|
+
}
|
|
11479
11483
|
assertExplicitResourcePublishScope(subcommand, flags, codeFilters);
|
|
11480
11484
|
assertExplicitManifestReplacement(flags);
|
|
11481
11485
|
if (codeFilters && flags.prune) {
|
|
@@ -11644,7 +11648,7 @@ async function resource(args) {
|
|
|
11644
11648
|
async () =>
|
|
11645
11649
|
publishResourceManifest(config, target, manifest, {
|
|
11646
11650
|
planActions: publishPlan.actions,
|
|
11647
|
-
skipNoop: !Boolean(flags.force),
|
|
11651
|
+
skipNoop: !Boolean(flags.force || flags['include-noop']),
|
|
11648
11652
|
prune: Boolean(flags.prune),
|
|
11649
11653
|
pruneCandidates,
|
|
11650
11654
|
publishLeaseId: publishLease?.leaseId,
|