@dsh-workbench/module-tools 1.1.8 → 1.1.9
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 +5 -4
- package/package.json +2 -2
- package/src/market-index.mjs +0 -14
- package/src/release.mjs +1 -7
package/README.md
CHANGED
|
@@ -30,10 +30,11 @@ pnpm design check # 设计底稿有没有空格、README 有没有落后
|
|
|
30
30
|
没带 note 又没记录时 `release` 在跑任何门禁之前就拦下。
|
|
31
31
|
日志写在确认之后,发失败不回滚:这一版已经记下了,下一次发布直接用。
|
|
32
32
|
`package.json` 缺 `files` 里的 `CHANGELOG.md` 一样拦下;`author` 没写时从本机 `git config` 补进 manifest,索引与产物都带上。
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
发布时带 `--label
|
|
36
|
-
|
|
33
|
+
标签只住在市集条目上(`metadata.labels`),**不写进 `package.json`**:清单的键是协议定死的
|
|
34
|
+
(`apiVersion` / `unit` / `title` / `card` / `tools` / `host` / `needs`),往里塞私货 check 会判红。
|
|
35
|
+
发布时带 `--label <短词>`(可重复,最多两个):它并进索引条目的 `metadata.labels`;
|
|
36
|
+
不传就沿用老清单里已经写过的(`dsh.workbench.market.labels`,只在读那一侧认)。
|
|
37
|
+
标题 / 署名 / 说明仍保持索引里现有的那份不动。
|
|
37
38
|
要换署名时带 `--author "姓名 <邮箱>"`(或只给姓名):它写回 `package.json`,索引、产物与提交都用它,
|
|
38
39
|
`--refresh` 时也一样。**发布本身不改市集里的标题 / 署名 / 说明**:这些元数据只由 `--refresh`(或显式 `--author`)写,
|
|
39
40
|
避免一台还没更新的机器发新版时把别人刚改的元数据盖回去。一个包名归第一次发布的人(条目文件里的 `owner`):换署名发同名会被拒,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dsh-workbench/module-tools",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.9",
|
|
4
4
|
"description": "模块包的构建与门禁工具:build(单文件 ESM 宿主侧 + 套 loader 壳的浏览器侧)、check(契约/产物边界/源码边界/卡片渲染)。模块包不再各带一份构建脚本。",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"semver": "^7.8.5",
|
|
34
34
|
"typescript": "5.9.3",
|
|
35
35
|
"typescript-eslint": "^8.71.0",
|
|
36
|
-
"@dsh-workbench/shared": "1.1.
|
|
36
|
+
"@dsh-workbench/shared": "1.1.9"
|
|
37
37
|
},
|
|
38
38
|
"repository": {
|
|
39
39
|
"type": "git",
|
package/src/market-index.mjs
CHANGED
|
@@ -308,26 +308,12 @@ function recordOf(value) {
|
|
|
308
308
|
return value !== null && typeof value === 'object' && !Array.isArray(value) ? value : {};
|
|
309
309
|
}
|
|
310
310
|
|
|
311
|
-
function recordFieldOf(container, key) {
|
|
312
|
-
const value = container[key];
|
|
313
|
-
if (value !== null && typeof value === 'object' && !Array.isArray(value)) return value;
|
|
314
|
-
const next = {};
|
|
315
|
-
container[key] = next;
|
|
316
|
-
return next;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
311
|
export function labelsOfManifest(manifest) {
|
|
320
312
|
const dsh = recordOf(recordOf(manifest).dsh);
|
|
321
313
|
const workbench = recordOf(dsh.workbench);
|
|
322
314
|
return textListOf(recordOf(workbench.market).labels);
|
|
323
315
|
}
|
|
324
316
|
|
|
325
|
-
export function setManifestLabels(manifest, labels) {
|
|
326
|
-
if (labels.length === 0) return;
|
|
327
|
-
const market = recordFieldOf(recordFieldOf(recordFieldOf(manifest, 'dsh'), 'workbench'), 'market');
|
|
328
|
-
market.labels = [...labels];
|
|
329
|
-
}
|
|
330
|
-
|
|
331
317
|
export function mergeEntryLabels(entry, labels) {
|
|
332
318
|
if (!Array.isArray(labels) || labels.length === 0) return entry;
|
|
333
319
|
const wanted = [...labels];
|
package/src/release.mjs
CHANGED
|
@@ -59,7 +59,6 @@ import {
|
|
|
59
59
|
missingPublisherText,
|
|
60
60
|
refreshMarketEntry,
|
|
61
61
|
resolveIndexPlan,
|
|
62
|
-
setManifestLabels,
|
|
63
62
|
updateMarketIndex,
|
|
64
63
|
verifyMarketArtifact,
|
|
65
64
|
} from './market-index.mjs';
|
|
@@ -322,13 +321,8 @@ export async function runRelease({
|
|
|
322
321
|
return summary;
|
|
323
322
|
}
|
|
324
323
|
const labels = askedLabels;
|
|
325
|
-
const labelsKept = labels.length === 0 || isDeepStrictEqual(labelsOfManifest(manifest), labels);
|
|
326
|
-
const labelsChange = verify || labelsKept ? undefined : `标签 ← ${labels.join(' · ')}`;
|
|
327
|
-
if (!labelsKept && !verify && !dryRun) {
|
|
328
|
-
setManifestLabels(manifest, labels);
|
|
329
|
-
writeManifest(root, manifest);
|
|
330
|
-
}
|
|
331
324
|
const labelsForIndex = labels.length > 0 ? labels : labelsOfManifest(manifest);
|
|
325
|
+
const labelsChange = verify || labels.length === 0 ? undefined : `标签 ← ${labels.join(' · ')}`;
|
|
332
326
|
const explicitApplied = explicitAuthor !== undefined && !verify && !dryRun;
|
|
333
327
|
if (explicitApplied) {
|
|
334
328
|
manifest.author = explicitAuthor;
|