markdown-ai-rewriter 0.3.1 → 0.3.2
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/dist/core/providers/anthropic.js +1 -1
- package/dist/core/providers/anthropic.js.map +1 -1
- package/dist/core/providers/base.d.ts +4 -0
- package/dist/core/providers/base.d.ts.map +1 -1
- package/dist/core/providers/base.js +25 -1
- package/dist/core/providers/base.js.map +1 -1
- package/dist/core/providers/openai-compatible.js +1 -1
- package/dist/core/providers/openai-compatible.js.map +1 -1
- package/package.json +2 -2
|
@@ -63,7 +63,7 @@ class AnthropicProvider extends base_1.BaseProvider {
|
|
|
63
63
|
],
|
|
64
64
|
});
|
|
65
65
|
const content = response.content[0];
|
|
66
|
-
return content.type === 'text' ? content.text.trim() : text;
|
|
66
|
+
return this.cleanupThinkingContent(content.type === 'text' ? content.text.trim() : text);
|
|
67
67
|
}
|
|
68
68
|
catch (error) {
|
|
69
69
|
if (error.code === 'MODULE_NOT_FOUND') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/core/providers/anthropic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAsC;AAKtC,MAAa,iBAAkB,SAAQ,mBAAY;IAMjD,YAAY,MAAc,EAAE,QAAgB,4BAA4B;QACtE,KAAK,EAAE,CAAC;QANV,SAAI,GAAG,WAAW,CAAC;QAGX,WAAM,GAA2B,IAAI,CAAC;QAI5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,kDAAO,mBAAmB,IAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAoB,CAAC;QAC1E,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAuB;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAEtC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC5C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;gBACrC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;gBACvC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;gBACrC,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;iBACpD;aACF,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACpC,OAAO,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/core/providers/anthropic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAsC;AAKtC,MAAa,iBAAkB,SAAQ,mBAAY;IAMjD,YAAY,MAAc,EAAE,QAAgB,4BAA4B;QACtE,KAAK,EAAE,CAAC;QANV,SAAI,GAAG,WAAW,CAAC;QAGX,WAAM,GAA2B,IAAI,CAAC;QAI5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,kDAAO,mBAAmB,IAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAoB,CAAC;QAC1E,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAuB;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAEtC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC5C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;gBACrC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;gBACvC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;gBACrC,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;iBACpD;aACF,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3F,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;CACF;AA3CD,8CA2CC"}
|
|
@@ -3,6 +3,10 @@ export declare abstract class BaseProvider implements AIProvider {
|
|
|
3
3
|
abstract name: string;
|
|
4
4
|
protected getSystemPrompt(options: RewriteOptions): string;
|
|
5
5
|
protected getUserPrompt(text: string): string;
|
|
6
|
+
/**
|
|
7
|
+
* 清理 AI 思考过程标签和内容
|
|
8
|
+
*/
|
|
9
|
+
protected cleanupThinkingContent(content: string): string;
|
|
6
10
|
abstract rewrite(text: string, options: RewriteOptions): Promise<string>;
|
|
7
11
|
}
|
|
8
12
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/core/providers/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEzD,8BAAsB,YAAa,YAAW,UAAU;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/core/providers/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEzD,8BAAsB,YAAa,YAAW,UAAU;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM;IAwB1D,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI7C;;OAEG;IACH,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAmBzD,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;CACzE"}
|
|
@@ -17,12 +17,36 @@ class BaseProvider {
|
|
|
17
17
|
4. ${stylePrompts[options.style || 'custom']}
|
|
18
18
|
${options.preserveLength ? '5. 保持与原文相近的长度' : ''}
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
重要约束:
|
|
21
|
+
- 只返回重写后的内容,不要添加任何解释、前言或后缀
|
|
22
|
+
- 禁止输出 AI 思考过程、推理过程、内心独白或任何以 <reasoning>、</reasoning>、<think>、</thinking>、<thinking> 开头的标签或内容
|
|
23
|
+
- 如果模型生成了上述思考内容,必须完全删除,只保留干净的文本`;
|
|
21
24
|
return basePrompt;
|
|
22
25
|
}
|
|
23
26
|
getUserPrompt(text) {
|
|
24
27
|
return `请重写以下内容:\n\n${text}`;
|
|
25
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* 清理 AI 思考过程标签和内容
|
|
31
|
+
*/
|
|
32
|
+
cleanupThinkingContent(content) {
|
|
33
|
+
return content
|
|
34
|
+
// 移除 <thinking>...</thinking> 块
|
|
35
|
+
.replace(/<thinking>[\s\S]*?<\/thinking>/gi, '')
|
|
36
|
+
// 移除 <reasoning>...</reasoning> 块
|
|
37
|
+
.replace(/<reasoning>[\s\S]*?<\/reasoning>/gi, '')
|
|
38
|
+
// 移除独立存在的 <thinking> 标签(无闭合)
|
|
39
|
+
.replace(/<thinking>\s*/gi, '')
|
|
40
|
+
// 移除独立存在的 </thinking> 标签
|
|
41
|
+
.replace(/\s*<\/thinking>/gi, '')
|
|
42
|
+
// 移除独立存在的 <reasoning> 标签
|
|
43
|
+
.replace(/<reasoning>\s*/gi, '')
|
|
44
|
+
// 移除独立存在的 </reasoning> 标签
|
|
45
|
+
.replace(/\s*<\/reasoning>/gi, '')
|
|
46
|
+
// 清理多余空行
|
|
47
|
+
.replace(/\n{3,}/g, '\n\n')
|
|
48
|
+
.trim();
|
|
49
|
+
}
|
|
26
50
|
}
|
|
27
51
|
exports.BaseProvider = BaseProvider;
|
|
28
52
|
//# sourceMappingURL=base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/core/providers/base.ts"],"names":[],"mappings":";;;AAEA,MAAsB,YAAY;IAGtB,eAAe,CAAC,OAAuB;QAC/C,MAAM,YAAY,GAAG;YACnB,MAAM,EAAE,yBAAyB;YACjC,MAAM,EAAE,wBAAwB;YAChC,SAAS,EAAE,sBAAsB;YACjC,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,qBAAqB;SAChD,CAAC;QAEF,MAAM,UAAU,GAAG;;;;KAIlB,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;EAC1C,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/core/providers/base.ts"],"names":[],"mappings":";;;AAEA,MAAsB,YAAY;IAGtB,eAAe,CAAC,OAAuB;QAC/C,MAAM,YAAY,GAAG;YACnB,MAAM,EAAE,yBAAyB;YACjC,MAAM,EAAE,wBAAwB;YAChC,SAAS,EAAE,sBAAsB;YACjC,QAAQ,EAAE,wBAAwB;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,qBAAqB;SAChD,CAAC;QAEF,MAAM,UAAU,GAAG;;;;KAIlB,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;EAC1C,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;;;;gCAKf,CAAC;QAE7B,OAAO,UAAU,CAAC;IACpB,CAAC;IAES,aAAa,CAAC,IAAY;QAClC,OAAO,eAAe,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACO,sBAAsB,CAAC,OAAe;QAC9C,OAAO,OAAO;YACZ,gCAAgC;aAC/B,OAAO,CAAC,kCAAkC,EAAE,EAAE,CAAC;YAChD,kCAAkC;aACjC,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;YAClD,6BAA6B;aAC5B,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC/B,yBAAyB;aACxB,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;YACjC,yBAAyB;aACxB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAChC,0BAA0B;aACzB,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAClC,SAAS;aACR,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;aAC1B,IAAI,EAAE,CAAC;IACZ,CAAC;CAGF;AAtDD,oCAsDC"}
|
|
@@ -67,7 +67,7 @@ class OpenAICompatibleProvider extends base_1.BaseProvider {
|
|
|
67
67
|
temperature: options.temperature ?? 0.7,
|
|
68
68
|
max_tokens: options.maxTokens ?? 2000,
|
|
69
69
|
});
|
|
70
|
-
return response.choices[0]?.message?.content?.trim() || text;
|
|
70
|
+
return this.cleanupThinkingContent(response.choices[0]?.message?.content?.trim() || text);
|
|
71
71
|
}
|
|
72
72
|
catch (error) {
|
|
73
73
|
if (error.code === 'MODULE_NOT_FOUND') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-compatible.js","sourceRoot":"","sources":["../../../src/core/providers/openai-compatible.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAsC;AAKtC,MAAa,wBAAyB,SAAQ,mBAAY;IAQxD,YACE,YAAoB,EACpB,MAAc,EACd,KAAa,EACb,OAAe,EACf,iBAAyB,uBAAuB;QAEhD,KAAK,EAAE,CAAC;QATF,WAAM,GAAwB,IAAI,CAAC;QAUzC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,MAAM,kDAAO,QAAQ,IAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAiB,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAuB;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAEtC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACpD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;oBAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;iBACpD;gBACD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;gBACvC,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;aACtC,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"openai-compatible.js","sourceRoot":"","sources":["../../../src/core/providers/openai-compatible.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAsC;AAKtC,MAAa,wBAAyB,SAAQ,mBAAY;IAQxD,YACE,YAAoB,EACpB,MAAc,EACd,KAAa,EACb,OAAe,EACf,iBAAyB,uBAAuB;QAEhD,KAAK,EAAE,CAAC;QATF,WAAM,GAAwB,IAAI,CAAC;QAUzC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,MAAM,kDAAO,QAAQ,IAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAiB,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAuB;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAEtC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACpD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;oBAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;iBACpD;gBACD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;gBACvC,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;aACtC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;QAC5F,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,cAAc,2BAA2B,CAAC,CAAC;YAC/F,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,eAAe,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF;AAxDD,4DAwDC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "markdown-ai-rewriter",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "AI-powered Markdown content rewriter that preserves document structure",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
],
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "tsc",
|
|
18
|
-
"prepublishOnly": "
|
|
18
|
+
"prepublishOnly": "echo 'Already built - skipping build'",
|
|
19
19
|
"dev": "tsc --watch",
|
|
20
20
|
"test": "jest --passWithNoTests",
|
|
21
21
|
"example": "ts-node examples/basic.ts"
|