@termdock/twlint 1.2.2 → 1.3.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../src/core/linter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAQ,MAAM,aAAa,CAAA;AAI5E,qBAAa,QAAQ;IACnB,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,kBAAkB,CAAQ;gBAEtB,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;IAQlE;;;;OAIG;YACW,gBAAgB;IAW9B,OAAO,CAAC,eAAe;IAQjB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAiCpD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA+B3D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAkBjD,kBAAkB;IA4BhC;;;;;;OAMG;YACW,qBAAqB;IAkCnC;;OAEG;YACW,uBAAuB;IAsCrC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAK9B;;OAEG;YACW,gBAAgB;IAgB9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAUlC"}
1
+ {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../src/core/linter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAQ,MAAM,aAAa,CAAA;AAI5E,qBAAa,QAAQ;IACnB,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,kBAAkB,CAAQ;gBAEtB,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;IAQlE;;;;OAIG;YACW,gBAAgB;IAW9B,OAAO,CAAC,eAAe;IAQjB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAiCpD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA+B3D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAkBjD,kBAAkB;IAoChC;;;;;;OAMG;YACW,qBAAqB;IAkCnC;;OAEG;YACW,uBAAuB;IAsCrC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAK9B;;OAEG;YACW,gBAAgB;IAgB9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAUlC"}
@@ -1,5 +1,5 @@
1
1
  import { glob } from 'glob';
2
- import { readFile } from 'fs/promises';
2
+ import { readFile, stat } from 'fs/promises';
3
3
  import { DictionaryManager } from './dictionary-manager.js';
4
4
  import { SimplifiedCharsRule } from './rules/simplified-chars.js';
5
5
  import { MainlandTermsRule } from './rules/mainland-terms.js';
@@ -118,16 +118,25 @@ export class TWLinter {
118
118
  // 檢查是否為明確的檔案路徑(沒有萬用字元)
119
119
  const hasWildcards = pattern.includes('*') || pattern.includes('?') || pattern.includes('[');
120
120
  if (!hasWildcards) {
121
- // 明確的檔案路徑:直接加入,但要檢查設定的 ignores
122
- if (!this.configMatcher.isIgnored(pattern)) {
123
- files.push(pattern);
121
+ try {
122
+ const fileStats = await stat(pattern);
123
+ if (fileStats.isFile() && !this.configMatcher.isIgnored(pattern)) {
124
+ files.push(pattern);
125
+ }
126
+ }
127
+ catch {
128
+ // 保留不存在檔案的舊行為,交給後續讀取階段產生錯誤
129
+ if (!this.configMatcher.isIgnored(pattern)) {
130
+ files.push(pattern);
131
+ }
124
132
  }
125
133
  }
126
134
  else {
127
135
  // 萬用字元模式:使用 glob 擴展
128
136
  const matches = await glob(pattern, {
129
137
  ignore: baseIgnorePatterns,
130
- dot: false // 預設不包含隱藏檔案
138
+ dot: false,
139
+ nodir: true // 只回傳檔案,避免目錄被當成輸入
131
140
  });
132
141
  // 過濾掉設定中 ignores 的檔案
133
142
  const filtered = matches.filter(file => !this.configMatcher.isIgnored(file));
@@ -1 +1 @@
1
- {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../src/core/linter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../src/core/linter.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,12 @@ import type { Rule, Issue } from '../../types.js';
2
2
  export declare class SimplifiedCharsRule implements Rule {
3
3
  readonly name = "simplified-chars";
4
4
  private converter;
5
+ private readonly ignoredVariantPairs;
5
6
  constructor();
6
7
  check(text: string): Promise<Issue[]>;
7
8
  fix(text: string): Promise<string>;
8
9
  private findDifferences;
10
+ private shouldIgnoreDifference;
11
+ private preserveIgnoredVariants;
9
12
  }
10
13
  //# sourceMappingURL=simplified-chars.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"simplified-chars.d.ts","sourceRoot":"","sources":["../../../src/core/rules/simplified-chars.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEjD,qBAAa,mBAAoB,YAAW,IAAI;IAC9C,QAAQ,CAAC,IAAI,sBAAqB;IAClC,OAAO,CAAC,SAAS,CAA8B;;IAOzC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA6BrC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKxC,OAAO,CAAC,eAAe;CAkBxB"}
1
+ {"version":3,"file":"simplified-chars.d.ts","sourceRoot":"","sources":["../../../src/core/rules/simplified-chars.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEjD,qBAAa,mBAAoB,YAAW,IAAI;IAC9C,QAAQ,CAAC,IAAI,sBAAqB;IAClC,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAGlC;;IAOI,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA6BrC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKxC,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,uBAAuB;CAWhC"}
@@ -2,6 +2,10 @@ import { Converter } from 'opencc-js';
2
2
  export class SimplifiedCharsRule {
3
3
  name = 'simplified-chars';
4
4
  converter;
5
+ ignoredVariantPairs = new Set([
6
+ '了->瞭',
7
+ '布->佈'
8
+ ]);
5
9
  constructor() {
6
10
  // 簡體到繁體的轉換器
7
11
  this.converter = Converter({ from: 'cn', to: 'tw' });
@@ -31,13 +35,16 @@ export class SimplifiedCharsRule {
31
35
  return issues;
32
36
  }
33
37
  async fix(text) {
34
- // 使用 opencc 進行簡繁轉換
35
- return this.converter(text);
38
+ const convertedText = this.converter(text);
39
+ return this.preserveIgnoredVariants(text, convertedText);
36
40
  }
37
41
  findDifferences(original, converted) {
38
42
  const differences = [];
39
43
  for (let i = 0; i < Math.min(original.length, converted.length); i++) {
40
44
  if (original[i] !== converted[i]) {
45
+ if (this.shouldIgnoreDifference(original[i], converted[i])) {
46
+ continue;
47
+ }
41
48
  differences.push({
42
49
  simplified: original[i],
43
50
  traditional: converted[i],
@@ -47,5 +54,17 @@ export class SimplifiedCharsRule {
47
54
  }
48
55
  return differences;
49
56
  }
57
+ shouldIgnoreDifference(originalChar, convertedChar) {
58
+ return this.ignoredVariantPairs.has(`${originalChar}->${convertedChar}`);
59
+ }
60
+ preserveIgnoredVariants(original, converted) {
61
+ const chars = converted.split('');
62
+ for (let i = 0; i < Math.min(original.length, converted.length); i++) {
63
+ if (this.shouldIgnoreDifference(original[i], converted[i])) {
64
+ chars[i] = original[i];
65
+ }
66
+ }
67
+ return chars.join('');
68
+ }
50
69
  }
51
70
  //# sourceMappingURL=simplified-chars.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"simplified-chars.js","sourceRoot":"","sources":["../../../src/core/rules/simplified-chars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAGrC,MAAM,OAAO,mBAAmB;IACrB,IAAI,GAAG,kBAAkB,CAAA;IAC1B,SAAS,CAA8B;IAE/C;QACE,YAAY;QACZ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE9B,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;YAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAE1C,uBAAuB;YACvB,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;gBAE7D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/B,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,SAAS,GAAG,CAAC;wBACnB,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;wBACvB,OAAO,EAAE,QAAQ,IAAI,CAAC,UAAU,cAAc,IAAI,CAAC,WAAW,GAAG;wBACjE,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;wBAC/B,OAAO,EAAE,IAAI;qBACd,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,mBAAmB;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAEO,eAAe,CACrB,QAAgB,EAChB,SAAiB;QAEjB,MAAM,WAAW,GAAuE,EAAE,CAAA;QAE1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACrE,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,WAAW,CAAC,IAAI,CAAC;oBACf,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACvB,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;oBACzB,MAAM,EAAE,CAAC;iBACV,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAA;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"simplified-chars.js","sourceRoot":"","sources":["../../../src/core/rules/simplified-chars.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "metadata": {
3
3
  "name": "academic",
4
- "version": "1.2.2",
4
+ "version": "1.3.0",
5
5
  "entries": 12
6
6
  },
7
7
  "lookup": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "metadata": {
3
3
  "name": "ai-emerging-tech",
4
- "version": "1.2.2",
4
+ "version": "1.3.0",
5
5
  "entries": 106
6
6
  },
7
7
  "lookup": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "metadata": {
3
3
  "name": "business-finance",
4
- "version": "1.2.2",
4
+ "version": "1.3.0",
5
5
  "entries": 111
6
6
  },
7
7
  "lookup": {
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "metadata": {
3
3
  "name": "core",
4
- "version": "1.2.2",
5
- "entries": 159
4
+ "version": "1.3.0",
5
+ "entries": 150
6
6
  },
7
7
  "lookup": {
8
8
  "访问": {
@@ -813,38 +813,6 @@
813
813
  "match_type": "exact",
814
814
  "autofix_safe": true
815
815
  },
816
- "客户端": {
817
- "taiwan": "用戶端",
818
- "confidence": 0.9,
819
- "category": "mainland-term",
820
- "reason": "台灣網路架構標準",
821
- "match_type": "exact",
822
- "autofix_safe": true
823
- },
824
- "客户端_client": {
825
- "taiwan": "用戶端",
826
- "confidence": 0.9,
827
- "category": "mainland-term",
828
- "reason": "台灣網路架構標準",
829
- "match_type": "exact",
830
- "autofix_safe": true
831
- },
832
- "客戶端": {
833
- "taiwan": "用戶端",
834
- "confidence": 0.9,
835
- "category": "mainland-term",
836
- "reason": "台灣網路架構標準",
837
- "match_type": "exact",
838
- "autofix_safe": true
839
- },
840
- "客戶端_client": {
841
- "taiwan": "用戶端",
842
- "confidence": 0.9,
843
- "category": "mainland-term",
844
- "reason": "台灣網路架構標準",
845
- "match_type": "exact",
846
- "autofix_safe": true
847
- },
848
816
  "克隆": {
849
817
  "taiwan": "複製",
850
818
  "confidence": 0.85,
@@ -1533,38 +1501,6 @@
1533
1501
  "match_type": "exact",
1534
1502
  "autofix_safe": true
1535
1503
  },
1536
- "文档": {
1537
- "taiwan": "文件",
1538
- "confidence": 0.85,
1539
- "category": "mainland-term",
1540
- "reason": "台灣技術文件標準",
1541
- "match_type": "exact",
1542
- "autofix_safe": true
1543
- },
1544
- "文档_document": {
1545
- "taiwan": "文件",
1546
- "confidence": 0.85,
1547
- "category": "mainland-term",
1548
- "reason": "台灣技術文件標準",
1549
- "match_type": "exact",
1550
- "autofix_safe": true
1551
- },
1552
- "文檔": {
1553
- "taiwan": "文件",
1554
- "confidence": 0.85,
1555
- "category": "mainland-term",
1556
- "reason": "台灣技術文件標準",
1557
- "match_type": "exact",
1558
- "autofix_safe": true
1559
- },
1560
- "文檔_document": {
1561
- "taiwan": "文件",
1562
- "confidence": 0.85,
1563
- "category": "mainland-term",
1564
- "reason": "台灣技術文件標準",
1565
- "match_type": "exact",
1566
- "autofix_safe": true
1567
- },
1568
1504
  "域": {
1569
1505
  "taiwan": "網域",
1570
1506
  "confidence": 0.9,
@@ -1949,38 +1885,6 @@
1949
1885
  "match_type": "exact",
1950
1886
  "autofix_safe": true
1951
1887
  },
1952
- "生成": {
1953
- "taiwan": "產生",
1954
- "confidence": 0.85,
1955
- "category": "mainland-term",
1956
- "reason": "台灣程式開發標準",
1957
- "match_type": "exact",
1958
- "autofix_safe": true
1959
- },
1960
- "生成_generate": {
1961
- "taiwan": "產生",
1962
- "confidence": 0.85,
1963
- "category": "mainland-term",
1964
- "reason": "台灣程式開發標準",
1965
- "match_type": "exact",
1966
- "autofix_safe": true
1967
- },
1968
- "全局": {
1969
- "taiwan": "全域",
1970
- "confidence": 0.9,
1971
- "category": "mainland-term",
1972
- "reason": "台灣程式設計標準",
1973
- "match_type": "exact",
1974
- "autofix_safe": true
1975
- },
1976
- "全局_global": {
1977
- "taiwan": "全域",
1978
- "confidence": 0.9,
1979
- "category": "mainland-term",
1980
- "reason": "台灣程式設計標準",
1981
- "match_type": "exact",
1982
- "autofix_safe": true
1983
- },
1984
1888
  "处理器": {
1985
1889
  "taiwan": "處理器",
1986
1890
  "confidence": 0.85,
@@ -2493,22 +2397,6 @@
2493
2397
  "match_type": "exact",
2494
2398
  "autofix_safe": true
2495
2399
  },
2496
- "本地": {
2497
- "taiwan": "本機",
2498
- "confidence": 0.85,
2499
- "category": "mainland-term",
2500
- "reason": "台灣系統術語標準",
2501
- "match_type": "exact",
2502
- "autofix_safe": true
2503
- },
2504
- "本地_local": {
2505
- "taiwan": "本機",
2506
- "confidence": 0.85,
2507
- "category": "mainland-term",
2508
- "reason": "台灣系統術語標準",
2509
- "match_type": "exact",
2510
- "autofix_safe": true
2511
- },
2512
2400
  "日志": {
2513
2401
  "taiwan": "日誌",
2514
2402
  "confidence": 0.85,
@@ -2637,22 +2525,6 @@
2637
2525
  "match_type": "exact",
2638
2526
  "autofix_safe": true
2639
2527
  },
2640
- "消息": {
2641
- "taiwan": "訊息",
2642
- "confidence": 0.85,
2643
- "category": "mainland-term",
2644
- "reason": "台灣通訊協定標準",
2645
- "match_type": "exact",
2646
- "autofix_safe": true
2647
- },
2648
- "消息_message": {
2649
- "taiwan": "訊息",
2650
- "confidence": 0.85,
2651
- "category": "mainland-term",
2652
- "reason": "台灣通訊協定標準",
2653
- "match_type": "exact",
2654
- "autofix_safe": true
2655
- },
2656
2528
  "移动": {
2657
2529
  "taiwan": "行動",
2658
2530
  "confidence": 0.9,
@@ -2941,22 +2813,6 @@
2941
2813
  "match_type": "exact",
2942
2814
  "autofix_safe": true
2943
2815
  },
2944
- "解析": {
2945
- "taiwan": "剖析",
2946
- "confidence": 0.85,
2947
- "category": "mainland-term",
2948
- "reason": "台灣資料處理標準",
2949
- "match_type": "exact",
2950
- "autofix_safe": true
2951
- },
2952
- "解析_parse": {
2953
- "taiwan": "剖析",
2954
- "confidence": 0.85,
2955
- "category": "mainland-term",
2956
- "reason": "台灣資料處理標準",
2957
- "match_type": "exact",
2958
- "autofix_safe": true
2959
- },
2960
2816
  "性能": {
2961
2817
  "taiwan": "效能",
2962
2818
  "confidence": 0.9,
@@ -3261,22 +3117,6 @@
3261
3117
  "match_type": "exact",
3262
3118
  "autofix_safe": true
3263
3119
  },
3264
- "渲染": {
3265
- "taiwan": "算繪",
3266
- "confidence": 0.85,
3267
- "category": "mainland-term",
3268
- "reason": "台灣圖形處理標準 (工程師也常用 render)",
3269
- "match_type": "exact",
3270
- "autofix_safe": true
3271
- },
3272
- "渲染_render": {
3273
- "taiwan": "算繪",
3274
- "confidence": 0.85,
3275
- "category": "mainland-term",
3276
- "reason": "台灣圖形處理標準 (工程師也常用 render)",
3277
- "match_type": "exact",
3278
- "autofix_safe": true
3279
- },
3280
3120
  "响应": {
3281
3121
  "taiwan": "回應",
3282
3122
  "confidence": 0.85,
@@ -3661,22 +3501,6 @@
3661
3501
  "match_type": "exact",
3662
3502
  "autofix_safe": true
3663
3503
  },
3664
- "支持": {
3665
- "taiwan": "支援",
3666
- "confidence": 0.85,
3667
- "category": "mainland-term",
3668
- "reason": "台灣技術服務標準",
3669
- "match_type": "exact",
3670
- "autofix_safe": true
3671
- },
3672
- "支持_support": {
3673
- "taiwan": "支援",
3674
- "confidence": 0.85,
3675
- "category": "mainland-term",
3676
- "reason": "台灣技術服務標準",
3677
- "match_type": "exact",
3678
- "autofix_safe": true
3679
- },
3680
3504
  "系统": {
3681
3505
  "taiwan": "系統",
3682
3506
  "confidence": 0.8,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "metadata": {
3
3
  "name": "hardware-3c",
4
- "version": "1.2.2",
4
+ "version": "1.3.0",
5
5
  "entries": 89
6
6
  },
7
7
  "lookup": {
@@ -26,7 +26,7 @@
26
26
  "description": "核心詞庫",
27
27
  "type": "core",
28
28
  "required": true,
29
- "entries": 159
29
+ "entries": 150
30
30
  },
31
31
  {
32
32
  "name": "extended",
@@ -47,7 +47,7 @@
47
47
  "description": "網路雲端",
48
48
  "type": "domain",
49
49
  "required": false,
50
- "entries": 111
50
+ "entries": 109
51
51
  },
52
52
  {
53
53
  "name": "operating-system",
@@ -61,23 +61,23 @@
61
61
  "description": "社群媒體",
62
62
  "type": "domain",
63
63
  "required": false,
64
- "entries": 97
64
+ "entries": 96
65
65
  },
66
66
  {
67
67
  "name": "software-development",
68
68
  "description": "軟體開發",
69
69
  "type": "domain",
70
70
  "required": false,
71
- "entries": 118
71
+ "entries": 115
72
72
  },
73
73
  {
74
74
  "name": "user-interface",
75
75
  "description": "使用者介面",
76
76
  "type": "domain",
77
77
  "required": false,
78
- "entries": 106
78
+ "entries": 97
79
79
  }
80
80
  ],
81
- "version": "1.2.2",
82
- "buildTime": "2026-03-30T02:04:25.552Z"
81
+ "version": "1.3.0",
82
+ "buildTime": "2026-03-30T02:31:13.309Z"
83
83
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "metadata": {
3
3
  "name": "network-cloud",
4
- "version": "1.2.2",
5
- "entries": 111
4
+ "version": "1.3.0",
5
+ "entries": 109
6
6
  },
7
7
  "lookup": {
8
8
  "网络": {
@@ -69,38 +69,6 @@
69
69
  "match_type": "exact",
70
70
  "autofix_safe": true
71
71
  },
72
- "客户端": {
73
- "taiwan": "用戶端",
74
- "confidence": 0.9,
75
- "category": "mainland-term",
76
- "reason": "台灣網路架構標準",
77
- "match_type": "exact",
78
- "autofix_safe": true
79
- },
80
- "客户端_client": {
81
- "taiwan": "用戶端",
82
- "confidence": 0.9,
83
- "category": "mainland-term",
84
- "reason": "台灣網路架構標準",
85
- "match_type": "exact",
86
- "autofix_safe": true
87
- },
88
- "客戶端": {
89
- "taiwan": "用戶端",
90
- "confidence": 0.9,
91
- "category": "mainland-term",
92
- "reason": "台灣網路架構標準",
93
- "match_type": "exact",
94
- "autofix_safe": true
95
- },
96
- "客戶端_client": {
97
- "taiwan": "用戶端",
98
- "confidence": 0.9,
99
- "category": "mainland-term",
100
- "reason": "台灣網路架構標準",
101
- "match_type": "exact",
102
- "autofix_safe": true
103
- },
104
72
  "服务器": {
105
73
  "taiwan": "伺服器",
106
74
  "confidence": 0.95,
@@ -2853,22 +2821,6 @@
2853
2821
  "match_type": "exact",
2854
2822
  "autofix_safe": true
2855
2823
  },
2856
- "本地": {
2857
- "taiwan": "本機",
2858
- "confidence": 0.85,
2859
- "category": "mainland-term",
2860
- "reason": "台灣系統術語標準",
2861
- "match_type": "exact",
2862
- "autofix_safe": true
2863
- },
2864
- "本地_local": {
2865
- "taiwan": "本機",
2866
- "confidence": 0.85,
2867
- "category": "mainland-term",
2868
- "reason": "台灣系統術語標準",
2869
- "match_type": "exact",
2870
- "autofix_safe": true
2871
- },
2872
2824
  "集成": {
2873
2825
  "taiwan": "整合",
2874
2826
  "confidence": 0.85,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "metadata": {
3
3
  "name": "operating-system",
4
- "version": "1.2.2",
4
+ "version": "1.3.0",
5
5
  "entries": 97
6
6
  },
7
7
  "lookup": {
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "metadata": {
3
3
  "name": "social-media",
4
- "version": "1.2.2",
5
- "entries": 97
4
+ "version": "1.3.0",
5
+ "entries": 96
6
6
  },
7
7
  "lookup": {
8
8
  "社交媒体": {
@@ -517,22 +517,6 @@
517
517
  "match_type": "exact",
518
518
  "autofix_safe": true
519
519
  },
520
- "消息": {
521
- "taiwan": "訊息",
522
- "confidence": 0.85,
523
- "category": "mainland-term",
524
- "reason": "台灣社群通訊術語",
525
- "match_type": "exact",
526
- "autofix_safe": true
527
- },
528
- "消息_message": {
529
- "taiwan": "訊息",
530
- "confidence": 0.85,
531
- "category": "mainland-term",
532
- "reason": "台灣社群通訊術語",
533
- "match_type": "exact",
534
- "autofix_safe": true
535
- },
536
520
  "私信": {
537
521
  "taiwan": "私訊",
538
522
  "confidence": 0.9,
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "metadata": {
3
3
  "name": "software-development",
4
- "version": "1.2.2",
5
- "entries": 118
4
+ "version": "1.3.0",
5
+ "entries": 115
6
6
  },
7
7
  "lookup": {
8
8
  "算法": {
@@ -853,22 +853,6 @@
853
853
  "match_type": "exact",
854
854
  "autofix_safe": true
855
855
  },
856
- "生成": {
857
- "taiwan": "產生",
858
- "confidence": 0.85,
859
- "category": "mainland-term",
860
- "reason": "台灣程式開發標準",
861
- "match_type": "exact",
862
- "autofix_safe": true
863
- },
864
- "生成_generate": {
865
- "taiwan": "產生",
866
- "confidence": 0.85,
867
- "category": "mainland-term",
868
- "reason": "台灣程式開發標準",
869
- "match_type": "exact",
870
- "autofix_safe": true
871
- },
872
856
  "全局": {
873
857
  "taiwan": "全域",
874
858
  "confidence": 0.9,
@@ -1349,22 +1333,6 @@
1349
1333
  "match_type": "exact",
1350
1334
  "autofix_safe": true
1351
1335
  },
1352
- "解析": {
1353
- "taiwan": "剖析",
1354
- "confidence": 0.85,
1355
- "category": "mainland-term",
1356
- "reason": "台灣語法分析標準",
1357
- "match_type": "exact",
1358
- "autofix_safe": true
1359
- },
1360
- "解析_parse": {
1361
- "taiwan": "剖析",
1362
- "confidence": 0.85,
1363
- "category": "mainland-term",
1364
- "reason": "台灣資料處理標準",
1365
- "match_type": "exact",
1366
- "autofix_safe": true
1367
- },
1368
1336
  "指针": {
1369
1337
  "taiwan": "指標",
1370
1338
  "confidence": 0.9,
@@ -3061,14 +3029,6 @@
3061
3029
  "match_type": "exact",
3062
3030
  "autofix_safe": true
3063
3031
  },
3064
- "解析_parsing": {
3065
- "taiwan": "剖析",
3066
- "confidence": 0.85,
3067
- "category": "mainland-term",
3068
- "reason": "台灣語法分析標準",
3069
- "match_type": "exact",
3070
- "autofix_safe": true
3071
- },
3072
3032
  "词法分析": {
3073
3033
  "taiwan": "詞法分析",
3074
3034
  "confidence": 0.9,
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "metadata": {
3
3
  "name": "user-interface",
4
- "version": "1.2.2",
5
- "entries": 106
4
+ "version": "1.3.0",
5
+ "entries": 97
6
6
  },
7
7
  "lookup": {
8
8
  "窗口": {
@@ -373,38 +373,6 @@
373
373
  "match_type": "exact",
374
374
  "autofix_safe": true
375
375
  },
376
- "标签页": {
377
- "taiwan": "分頁",
378
- "confidence": 0.9,
379
- "category": "mainland-term",
380
- "reason": "台灣介面元件標準",
381
- "match_type": "exact",
382
- "autofix_safe": true
383
- },
384
- "标签页_tab": {
385
- "taiwan": "分頁",
386
- "confidence": 0.9,
387
- "category": "mainland-term",
388
- "reason": "台灣介面元件標準",
389
- "match_type": "exact",
390
- "autofix_safe": true
391
- },
392
- "標籤頁": {
393
- "taiwan": "分頁",
394
- "confidence": 0.9,
395
- "category": "mainland-term",
396
- "reason": "台灣介面元件標準",
397
- "match_type": "exact",
398
- "autofix_safe": true
399
- },
400
- "標籤頁_tab": {
401
- "taiwan": "分頁",
402
- "confidence": 0.9,
403
- "category": "mainland-term",
404
- "reason": "台灣介面元件標準",
405
- "match_type": "exact",
406
- "autofix_safe": true
407
- },
408
376
  "控件": {
409
377
  "taiwan": "控制項",
410
378
  "confidence": 0.9,
@@ -821,38 +789,6 @@
821
789
  "match_type": "exact",
822
790
  "autofix_safe": true
823
791
  },
824
- "主页": {
825
- "taiwan": "首頁",
826
- "confidence": 0.9,
827
- "category": "mainland-term",
828
- "reason": "台灣網頁標準術語",
829
- "match_type": "exact",
830
- "autofix_safe": true
831
- },
832
- "主页_home_page": {
833
- "taiwan": "首頁",
834
- "confidence": 0.9,
835
- "category": "mainland-term",
836
- "reason": "台灣網頁標準術語",
837
- "match_type": "exact",
838
- "autofix_safe": true
839
- },
840
- "主頁": {
841
- "taiwan": "首頁",
842
- "confidence": 0.9,
843
- "category": "mainland-term",
844
- "reason": "台灣網頁標準術語",
845
- "match_type": "exact",
846
- "autofix_safe": true
847
- },
848
- "主頁_home_page": {
849
- "taiwan": "首頁",
850
- "confidence": 0.9,
851
- "category": "mainland-term",
852
- "reason": "台灣網頁標準術語",
853
- "match_type": "exact",
854
- "autofix_safe": true
855
- },
856
792
  "收藏夹": {
857
793
  "taiwan": "書籤",
858
794
  "confidence": 0.9,
@@ -885,54 +821,6 @@
885
821
  "match_type": "exact",
886
822
  "autofix_safe": true
887
823
  },
888
- "收藏": {
889
- "taiwan": "我的最愛",
890
- "confidence": 0.9,
891
- "category": "mainland-term",
892
- "reason": "台灣瀏覽器功能",
893
- "match_type": "exact",
894
- "autofix_safe": true
895
- },
896
- "收藏_favorites": {
897
- "taiwan": "我的最愛",
898
- "confidence": 0.9,
899
- "category": "mainland-term",
900
- "reason": "台灣瀏覽器功能",
901
- "match_type": "exact",
902
- "autofix_safe": true
903
- },
904
- "历史记录": {
905
- "taiwan": "歷程記錄",
906
- "confidence": 0.85,
907
- "category": "mainland-term",
908
- "reason": "台灣瀏覽器功能",
909
- "match_type": "exact",
910
- "autofix_safe": true
911
- },
912
- "历史记录_history": {
913
- "taiwan": "歷程記錄",
914
- "confidence": 0.85,
915
- "category": "mainland-term",
916
- "reason": "台灣瀏覽器功能",
917
- "match_type": "exact",
918
- "autofix_safe": true
919
- },
920
- "歷史記錄": {
921
- "taiwan": "歷程記錄",
922
- "confidence": 0.85,
923
- "category": "mainland-term",
924
- "reason": "台灣瀏覽器功能",
925
- "match_type": "exact",
926
- "autofix_safe": true
927
- },
928
- "歷史記錄_history": {
929
- "taiwan": "歷程記錄",
930
- "confidence": 0.85,
931
- "category": "mainland-term",
932
- "reason": "台灣瀏覽器功能",
933
- "match_type": "exact",
934
- "autofix_safe": true
935
- },
936
824
  "浏览器扩展": {
937
825
  "taiwan": "擴充套件",
938
826
  "confidence": 0.9,
@@ -1141,38 +1029,6 @@
1141
1029
  "match_type": "exact",
1142
1030
  "autofix_safe": true
1143
1031
  },
1144
- "预设": {
1145
- "taiwan": "預設集",
1146
- "confidence": 0.85,
1147
- "category": "mainland-term",
1148
- "reason": "台灣系統設定術語",
1149
- "match_type": "exact",
1150
- "autofix_safe": true
1151
- },
1152
- "预设_preset": {
1153
- "taiwan": "預設集",
1154
- "confidence": 0.85,
1155
- "category": "mainland-term",
1156
- "reason": "台灣系統設定術語",
1157
- "match_type": "exact",
1158
- "autofix_safe": true
1159
- },
1160
- "預設": {
1161
- "taiwan": "預設集",
1162
- "confidence": 0.85,
1163
- "category": "mainland-term",
1164
- "reason": "台灣系統設定術語",
1165
- "match_type": "exact",
1166
- "autofix_safe": true
1167
- },
1168
- "預設_preset": {
1169
- "taiwan": "預設集",
1170
- "confidence": 0.85,
1171
- "category": "mainland-term",
1172
- "reason": "台灣系統設定術語",
1173
- "match_type": "exact",
1174
- "autofix_safe": true
1175
- },
1176
1032
  "首选项": {
1177
1033
  "taiwan": "偏好設定",
1178
1034
  "confidence": 0.9,
@@ -1701,38 +1557,6 @@
1701
1557
  "match_type": "exact",
1702
1558
  "autofix_safe": true
1703
1559
  },
1704
- "字体": {
1705
- "taiwan": "字型",
1706
- "confidence": 0.9,
1707
- "category": "mainland-term",
1708
- "reason": "台灣文字顯示術語",
1709
- "match_type": "exact",
1710
- "autofix_safe": true
1711
- },
1712
- "字体_font": {
1713
- "taiwan": "字型",
1714
- "confidence": 0.9,
1715
- "category": "mainland-term",
1716
- "reason": "台灣文字顯示術語",
1717
- "match_type": "exact",
1718
- "autofix_safe": true
1719
- },
1720
- "字體": {
1721
- "taiwan": "字型",
1722
- "confidence": 0.9,
1723
- "category": "mainland-term",
1724
- "reason": "台灣文字顯示術語",
1725
- "match_type": "exact",
1726
- "autofix_safe": true
1727
- },
1728
- "字體_font": {
1729
- "taiwan": "字型",
1730
- "confidence": 0.9,
1731
- "category": "mainland-term",
1732
- "reason": "台灣文字顯示術語",
1733
- "match_type": "exact",
1734
- "autofix_safe": true
1735
- },
1736
1560
  "字号": {
1737
1561
  "taiwan": "字型大小",
1738
1562
  "confidence": 0.9,
@@ -2021,38 +1845,6 @@
2021
1845
  "match_type": "exact",
2022
1846
  "autofix_safe": true
2023
1847
  },
2024
- "页脚": {
2025
- "taiwan": "頁尾",
2026
- "confidence": 0.9,
2027
- "category": "mainland-term",
2028
- "reason": "台灣文件結構術語",
2029
- "match_type": "exact",
2030
- "autofix_safe": true
2031
- },
2032
- "页脚_footer_text": {
2033
- "taiwan": "頁尾",
2034
- "confidence": 0.9,
2035
- "category": "mainland-term",
2036
- "reason": "台灣文件結構術語",
2037
- "match_type": "exact",
2038
- "autofix_safe": true
2039
- },
2040
- "頁腳": {
2041
- "taiwan": "頁尾",
2042
- "confidence": 0.9,
2043
- "category": "mainland-term",
2044
- "reason": "台灣文件結構術語",
2045
- "match_type": "exact",
2046
- "autofix_safe": true
2047
- },
2048
- "頁腳_footer_text": {
2049
- "taiwan": "頁尾",
2050
- "confidence": 0.9,
2051
- "category": "mainland-term",
2052
- "reason": "台灣文件結構術語",
2053
- "match_type": "exact",
2054
- "autofix_safe": true
2055
- },
2056
1848
  "页码": {
2057
1849
  "taiwan": "頁碼",
2058
1850
  "confidence": 0.85,
@@ -2149,22 +1941,6 @@
2149
1941
  "match_type": "exact",
2150
1942
  "autofix_safe": true
2151
1943
  },
2152
- "警告": {
2153
- "taiwan": "警示",
2154
- "confidence": 0.85,
2155
- "category": "mainland-term",
2156
- "reason": "台灣系統訊息術語",
2157
- "match_type": "exact",
2158
- "autofix_safe": true
2159
- },
2160
- "警告_alert": {
2161
- "taiwan": "警示",
2162
- "confidence": 0.85,
2163
- "category": "mainland-term",
2164
- "reason": "台灣系統訊息術語",
2165
- "match_type": "exact",
2166
- "autofix_safe": true
2167
- },
2168
1944
  "确认": {
2169
1945
  "taiwan": "確認",
2170
1946
  "confidence": 0.85,
@@ -2869,38 +2645,6 @@
2869
2645
  "match_type": "exact",
2870
2646
  "autofix_safe": true
2871
2647
  },
2872
- "皮肤": {
2873
- "taiwan": "外觀",
2874
- "confidence": 0.85,
2875
- "category": "mainland-term",
2876
- "reason": "台灣介面美化術語",
2877
- "match_type": "exact",
2878
- "autofix_safe": true
2879
- },
2880
- "皮肤_skin": {
2881
- "taiwan": "外觀",
2882
- "confidence": 0.85,
2883
- "category": "mainland-term",
2884
- "reason": "台灣介面美化術語",
2885
- "match_type": "exact",
2886
- "autofix_safe": true
2887
- },
2888
- "皮膚": {
2889
- "taiwan": "外觀",
2890
- "confidence": 0.85,
2891
- "category": "mainland-term",
2892
- "reason": "台灣介面美化術語",
2893
- "match_type": "exact",
2894
- "autofix_safe": true
2895
- },
2896
- "皮膚_skin": {
2897
- "taiwan": "外觀",
2898
- "confidence": 0.85,
2899
- "category": "mainland-term",
2900
- "reason": "台灣介面美化術語",
2901
- "match_type": "exact",
2902
- "autofix_safe": true
2903
- },
2904
2648
  "布局": {
2905
2649
  "taiwan": "版面配置",
2906
2650
  "confidence": 0.85,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@termdock/twlint",
3
- "version": "1.2.2",
3
+ "version": "1.3.0",
4
4
  "description": "A CLI tool for detecting simplified Chinese terms and suggesting Taiwan traditional alternatives",
5
5
  "main": "dist/cli.js",
6
6
  "type": "module",