@termdock/twlint 1.0.1 → 1.0.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/bin/twlint CHANGED
@@ -1,6 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import('../dist/cli.js').catch(err => {
4
- console.error('Failed to load TWLint:', err.message);
3
+ import('../dist/cli.js').then(module => {
4
+ return module.main();
5
+ }).catch(err => {
6
+ console.error('Failed to run TWLint:', err.message);
5
7
  process.exit(1);
6
8
  });
package/dist/cli.d.ts CHANGED
@@ -7,4 +7,6 @@ export interface CLIOptions {
7
7
  config?: string;
8
8
  verbose?: boolean;
9
9
  }
10
+ declare function main(): Promise<void>;
11
+ export { main };
10
12
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAYA,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAYA,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AA2ID,iBAAe,IAAI,kBA4DlB;AAGD,OAAO,EAAE,IAAI,EAAE,CAAA"}
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from 'commander';
3
3
  import chalk from 'chalk';
4
- import { writeFile, access } from 'fs/promises';
4
+ import { writeFile, access, readFile } from 'fs/promises';
5
5
  import { TWLinter } from './core/linter.js';
6
6
  import { loadConfig } from './core/config-loader.js';
7
7
  import { createSampleConfig } from './core/config-schema.js';
@@ -114,12 +114,22 @@ async function performInit(force) {
114
114
  console.log(chalk.dim('2. Run: twlint check **/*.md'));
115
115
  console.log(chalk.dim('3. Use --fix to automatically fix issues'));
116
116
  }
117
+ async function getVersion() {
118
+ try {
119
+ const packageJsonPath = new URL('../package.json', import.meta.url).pathname;
120
+ const packageJson = JSON.parse(await readFile(packageJsonPath, 'utf-8'));
121
+ return packageJson.version;
122
+ }
123
+ catch {
124
+ return '1.0.0'; // fallback
125
+ }
126
+ }
117
127
  async function main() {
118
128
  const program = new Command();
119
129
  program
120
130
  .name('twlint')
121
131
  .description('A CLI tool for detecting simplified Chinese terms and suggesting Taiwan traditional alternatives')
122
- .version('1.0.0');
132
+ .version(await getVersion());
123
133
  program
124
134
  .command('check')
125
135
  .description('Check files for Chinese term issues')
@@ -170,6 +180,8 @@ async function main() {
170
180
  });
171
181
  await program.parseAsync();
172
182
  }
183
+ // 導出 main 函數供 bin script 使用
184
+ export { main };
173
185
  // 當作為主模組執行時啟動 CLI
174
186
  if (import.meta.url === `file://${process.argv[1]}` ||
175
187
  process.argv[1]?.endsWith('cli.js')) {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mainland-terms.d.ts","sourceRoot":"","sources":["../../../src/core/rules/mainland-terms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAIjE,qBAAa,iBAAkB,YAAW,IAAI;IAC5C,QAAQ,CAAC,IAAI,oBAAmB;IAChC,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,SAAS,CAA8B;gBAEnC,WAAW,EAAE,iBAAiB;IAKpC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAYxD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA2BrC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBxC,OAAO,CAAC,WAAW;CAOpB"}
1
+ {"version":3,"file":"mainland-terms.d.ts","sourceRoot":"","sources":["../../../src/core/rules/mainland-terms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAIjE,qBAAa,iBAAkB,YAAW,IAAI;IAC5C,QAAQ,CAAC,IAAI,oBAAmB;IAChC,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,SAAS,CAA8B;gBAEnC,WAAW,EAAE,iBAAiB;IAKpC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAYxD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAgCrC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBxC,OAAO,CAAC,WAAW;CAOpB"}
@@ -22,6 +22,10 @@ export class MainlandTermsRule {
22
22
  const issues = [];
23
23
  const matches = this.dictManager.findMatches(text);
24
24
  for (const match of matches) {
25
+ // 過濾假陽性:如果建議詞和原詞相同,跳過
26
+ if (match.term === match.replacement) {
27
+ continue;
28
+ }
25
29
  const lineInfo = this.getLineInfo(text, match.start);
26
30
  // 根據 autofix_safe 決定訊息和可修復性
27
31
  const isContextSensitive = match.rule.includes('context_sensitive');
@@ -43,8 +47,8 @@ export class MainlandTermsRule {
43
47
  async fix(text) {
44
48
  let fixedText = text;
45
49
  const matches = this.dictManager.findMatches(text);
46
- // 只修正標記為安全的詞彙
47
- const safeMatches = matches.filter(match => match.autofix_safe);
50
+ // 只修正標記為安全的詞彙,並過濾假陽性(term === replacement)
51
+ const safeMatches = matches.filter(match => match.autofix_safe && match.term !== match.replacement);
48
52
  // Sort by position (from end to start) to avoid offset issues
49
53
  const sortedMatches = safeMatches.sort((a, b) => b.start - a.start);
50
54
  for (const match of sortedMatches) {
@@ -1 +1 @@
1
- {"version":3,"file":"mainland-terms.js","sourceRoot":"","sources":["../../../src/core/rules/mainland-terms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mainland-terms.js","sourceRoot":"","sources":["../../../src/core/rules/mainland-terms.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  "metadata": {
3
3
  "name": "ai-emerging-tech",
4
4
  "version": "1.0.0",
5
- "entries": 108
5
+ "entries": 106
6
6
  },
7
7
  "lookup": {
8
8
  "人工智能": {
@@ -2725,22 +2725,6 @@
2725
2725
  "match_type": "exact",
2726
2726
  "autofix_safe": true
2727
2727
  },
2728
- "碳中和": {
2729
- "taiwan": "碳中和",
2730
- "confidence": 0.85,
2731
- "category": "mainland-term",
2732
- "reason": "台灣環保目標術語",
2733
- "match_type": "exact",
2734
- "autofix_safe": true
2735
- },
2736
- "碳中和_carbon_neutral": {
2737
- "taiwan": "碳中和",
2738
- "confidence": 0.85,
2739
- "category": "mainland-term",
2740
- "reason": "台灣環保目標術語",
2741
- "match_type": "exact",
2742
- "autofix_safe": true
2743
- },
2744
2728
  "净零": {
2745
2729
  "taiwan": "淨零",
2746
2730
  "confidence": 0.85,
@@ -2901,22 +2885,6 @@
2901
2885
  "match_type": "exact",
2902
2886
  "autofix_safe": true
2903
2887
  },
2904
- "智慧城市": {
2905
- "taiwan": "智慧城市",
2906
- "confidence": 0.85,
2907
- "category": "mainland-term",
2908
- "reason": "台灣都市發展概念",
2909
- "match_type": "exact",
2910
- "autofix_safe": true
2911
- },
2912
- "智慧城市_smart_city": {
2913
- "taiwan": "智慧城市",
2914
- "confidence": 0.85,
2915
- "category": "mainland-term",
2916
- "reason": "台灣都市發展概念",
2917
- "match_type": "exact",
2918
- "autofix_safe": true
2919
- },
2920
2888
  "数字孪生": {
2921
2889
  "taiwan": "數位雙胞胎",
2922
2890
  "confidence": 0.9,
@@ -2,7 +2,7 @@
2
2
  "metadata": {
3
3
  "name": "business-finance",
4
4
  "version": "1.0.0",
5
- "entries": 123
5
+ "entries": 111
6
6
  },
7
7
  "lookup": {
8
8
  "项目经理": {
@@ -101,22 +101,6 @@
101
101
  "match_type": "exact",
102
102
  "autofix_safe": true
103
103
  },
104
- "里程碑": {
105
- "taiwan": "里程碑",
106
- "confidence": 0.85,
107
- "category": "mainland-term",
108
- "reason": "台灣專案管理術語",
109
- "match_type": "exact",
110
- "autofix_safe": true
111
- },
112
- "里程碑_milestone": {
113
- "taiwan": "里程碑",
114
- "confidence": 0.85,
115
- "category": "mainland-term",
116
- "reason": "台灣專案管理術語",
117
- "match_type": "exact",
118
- "autofix_safe": true
119
- },
120
104
  "可交付成果": {
121
105
  "taiwan": "交付項目",
122
106
  "confidence": 0.85,
@@ -357,22 +341,6 @@
357
341
  "match_type": "exact",
358
342
  "autofix_safe": true
359
343
  },
360
- "股票": {
361
- "taiwan": "股票",
362
- "confidence": 0.8,
363
- "category": "mainland-term",
364
- "reason": "台灣證券術語標準",
365
- "match_type": "exact",
366
- "autofix_safe": true
367
- },
368
- "股票_stock": {
369
- "taiwan": "股票",
370
- "confidence": 0.8,
371
- "category": "mainland-term",
372
- "reason": "台灣證券術語標準",
373
- "match_type": "exact",
374
- "autofix_safe": true
375
- },
376
344
  "债券": {
377
345
  "taiwan": "債券",
378
346
  "confidence": 0.85,
@@ -997,22 +965,6 @@
997
965
  "match_type": "exact",
998
966
  "autofix_safe": true
999
967
  },
1000
- "折扣": {
1001
- "taiwan": "折扣",
1002
- "confidence": 0.8,
1003
- "category": "mainland-term",
1004
- "reason": "台灣行銷術語標準",
1005
- "match_type": "exact",
1006
- "autofix_safe": true
1007
- },
1008
- "折扣_discount": {
1009
- "taiwan": "折扣",
1010
- "confidence": 0.8,
1011
- "category": "mainland-term",
1012
- "reason": "台灣行銷術語標準",
1013
- "match_type": "exact",
1014
- "autofix_safe": true
1015
- },
1016
968
  "促销": {
1017
969
  "taiwan": "促銷",
1018
970
  "confidence": 0.85,
@@ -1109,22 +1061,6 @@
1109
1061
  "match_type": "exact",
1110
1062
  "autofix_safe": true
1111
1063
  },
1112
- "品牌": {
1113
- "taiwan": "品牌",
1114
- "confidence": 0.8,
1115
- "category": "mainland-term",
1116
- "reason": "台灣行銷管理術語",
1117
- "match_type": "exact",
1118
- "autofix_safe": true
1119
- },
1120
- "品牌_brand": {
1121
- "taiwan": "品牌",
1122
- "confidence": 0.8,
1123
- "category": "mainland-term",
1124
- "reason": "台灣行銷管理術語",
1125
- "match_type": "exact",
1126
- "autofix_safe": true
1127
- },
1128
1064
  "客户": {
1129
1065
  "taiwan": "客戶",
1130
1066
  "confidence": 0.85,
@@ -1301,22 +1237,6 @@
1301
1237
  "match_type": "exact",
1302
1238
  "autofix_safe": true
1303
1239
  },
1304
- "物流": {
1305
- "taiwan": "物流",
1306
- "confidence": 0.8,
1307
- "category": "mainland-term",
1308
- "reason": "台灣供應鏈術語",
1309
- "match_type": "exact",
1310
- "autofix_safe": true
1311
- },
1312
- "物流_logistics": {
1313
- "taiwan": "物流",
1314
- "confidence": 0.8,
1315
- "category": "mainland-term",
1316
- "reason": "台灣供應鏈術語",
1317
- "match_type": "exact",
1318
- "autofix_safe": true
1319
- },
1320
1240
  "仓库": {
1321
1241
  "taiwan": "倉庫",
1322
1242
  "confidence": 0.85,
@@ -1381,22 +1301,6 @@
1381
1301
  "match_type": "exact",
1382
1302
  "autofix_safe": true
1383
1303
  },
1384
- "零售": {
1385
- "taiwan": "零售",
1386
- "confidence": 0.8,
1387
- "category": "mainland-term",
1388
- "reason": "台灣商業模式術語",
1389
- "match_type": "exact",
1390
- "autofix_safe": true
1391
- },
1392
- "零售_retail": {
1393
- "taiwan": "零售",
1394
- "confidence": 0.8,
1395
- "category": "mainland-term",
1396
- "reason": "台灣商業模式術語",
1397
- "match_type": "exact",
1398
- "autofix_safe": true
1399
- },
1400
1304
  "批发": {
1401
1305
  "taiwan": "批發",
1402
1306
  "confidence": 0.85,
@@ -1637,22 +1541,6 @@
1637
1541
  "match_type": "exact",
1638
1542
  "autofix_safe": true
1639
1543
  },
1640
- "上市": {
1641
- "taiwan": "上市",
1642
- "confidence": 0.8,
1643
- "category": "mainland-term",
1644
- "reason": "台灣證券市場術語",
1645
- "match_type": "exact",
1646
- "autofix_safe": true
1647
- },
1648
- "上市_listing": {
1649
- "taiwan": "上市",
1650
- "confidence": 0.8,
1651
- "category": "mainland-term",
1652
- "reason": "台灣證券市場術語",
1653
- "match_type": "exact",
1654
- "autofix_safe": true
1655
- },
1656
1544
  "退市": {
1657
1545
  "taiwan": "下市",
1658
1546
  "confidence": 0.9,
@@ -1973,38 +1861,6 @@
1973
1861
  "match_type": "exact",
1974
1862
  "autofix_safe": true
1975
1863
  },
1976
- "薪酬": {
1977
- "taiwan": "薪酬",
1978
- "confidence": 0.8,
1979
- "category": "mainland-term",
1980
- "reason": "台灣人資管理術語",
1981
- "match_type": "exact",
1982
- "autofix_safe": true
1983
- },
1984
- "薪酬_compensation": {
1985
- "taiwan": "薪酬",
1986
- "confidence": 0.8,
1987
- "category": "mainland-term",
1988
- "reason": "台灣人資管理術語",
1989
- "match_type": "exact",
1990
- "autofix_safe": true
1991
- },
1992
- "福利": {
1993
- "taiwan": "福利",
1994
- "confidence": 0.8,
1995
- "category": "mainland-term",
1996
- "reason": "台灣人資管理術語",
1997
- "match_type": "exact",
1998
- "autofix_safe": true
1999
- },
2000
- "福利_benefit": {
2001
- "taiwan": "福利",
2002
- "confidence": 0.8,
2003
- "category": "mainland-term",
2004
- "reason": "台灣人資管理術語",
2005
- "match_type": "exact",
2006
- "autofix_safe": true
2007
- },
2008
1864
  "奖金": {
2009
1865
  "taiwan": "獎金",
2010
1866
  "confidence": 0.85,
@@ -2069,22 +1925,6 @@
2069
1925
  "match_type": "exact",
2070
1926
  "autofix_safe": true
2071
1927
  },
2072
- "加班": {
2073
- "taiwan": "加班",
2074
- "confidence": 0.8,
2075
- "category": "mainland-term",
2076
- "reason": "台灣勞動條件術語",
2077
- "match_type": "exact",
2078
- "autofix_safe": true
2079
- },
2080
- "加班_overtime": {
2081
- "taiwan": "加班",
2082
- "confidence": 0.8,
2083
- "category": "mainland-term",
2084
- "reason": "台灣勞動條件術語",
2085
- "match_type": "exact",
2086
- "autofix_safe": true
2087
- },
2088
1928
  "请假": {
2089
1929
  "taiwan": "請假",
2090
1930
  "confidence": 0.85,
@@ -2165,22 +2005,6 @@
2165
2005
  "match_type": "exact",
2166
2006
  "autofix_safe": true
2167
2007
  },
2168
- "退休": {
2169
- "taiwan": "退休",
2170
- "confidence": 0.8,
2171
- "category": "mainland-term",
2172
- "reason": "台灣人事異動術語",
2173
- "match_type": "exact",
2174
- "autofix_safe": true
2175
- },
2176
- "退休_retirement": {
2177
- "taiwan": "退休",
2178
- "confidence": 0.8,
2179
- "category": "mainland-term",
2180
- "reason": "台灣人事異動術語",
2181
- "match_type": "exact",
2182
- "autofix_safe": true
2183
- },
2184
2008
  "养老金": {
2185
2009
  "taiwan": "退休金",
2186
2010
  "confidence": 0.9,
@@ -2501,22 +2325,6 @@
2501
2325
  "match_type": "exact",
2502
2326
  "autofix_safe": true
2503
2327
  },
2504
- "衰退": {
2505
- "taiwan": "衰退",
2506
- "confidence": 0.8,
2507
- "category": "mainland-term",
2508
- "reason": "台灣經濟週期術語",
2509
- "match_type": "exact",
2510
- "autofix_safe": true
2511
- },
2512
- "衰退_recession": {
2513
- "taiwan": "衰退",
2514
- "confidence": 0.8,
2515
- "category": "mainland-term",
2516
- "reason": "台灣經濟週期術語",
2517
- "match_type": "exact",
2518
- "autofix_safe": true
2519
- },
2520
2328
  "复苏": {
2521
2329
  "taiwan": "復甦",
2522
2330
  "confidence": 0.85,