@dsh-workbench/module-tools 1.1.8 → 1.1.10

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 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
- 模块的 `package.json` 可用 `dsh.workbench.market` 声明 `category` 与 `labels`(字符串数组);
34
- 不写就不带分类和标签,索引里只留 `metadata.workbench: true` 这条身份标记。
35
- 发布时带 `--label <短词>`(可重复,最多两个):它写回 `dsh.workbench.market.labels`;不传就用模块里已有的。
36
- 每次发布都会把模块里的标签并进索引条目的 `metadata.labels` —— 标题 / 署名 / 说明仍保持索引里现有的那份不动。
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.8",
3
+ "version": "1.1.10",
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.8"
36
+ "@dsh-workbench/shared": "1.1.10"
37
37
  },
38
38
  "repository": {
39
39
  "type": "git",
@@ -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;