@fxri/toolkit 1.0.0 → 1.0.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/CHANGELOG.md +32 -0
- package/README.md +9 -0
- package/dist/cli.cjs +14 -10
- package/dist/cli.js +14 -10
- package/dist/index.cjs +14 -10
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +14 -10
- package/package.json +22 -13
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# @fxri/toolkit
|
|
2
|
+
|
|
3
|
+
## 1.0.2
|
|
4
|
+
> 2026-09-03 发布
|
|
5
|
+
|
|
6
|
+
### 🐛 补丁修复
|
|
7
|
+
|
|
8
|
+
- README 新增「方案落盘(任务区)」章节,明确 npx→ 全局 → 兜底输出的调用优先级,以及 toolkit tasks 校验/归档与 changelog 变更集/发版的使用流程。
|
|
9
|
+
|
|
10
|
+
## 1.0.1
|
|
11
|
+
> 2026-09-02 发布
|
|
12
|
+
|
|
13
|
+
### 🐛 补丁修复
|
|
14
|
+
|
|
15
|
+
- 修复 CHANGELOG 格式化在 CRLF 文件下失效及正文中段重复条目无法合并的问题
|
|
16
|
+
- 发布日期后缀文案随语言切换,英文 CHANGELOG 不再混入中文「发布」
|
|
17
|
+
- 新增 exports 条件导出,CJS 消费方可正常 require
|
|
18
|
+
- changesets 调用改走进程内 node 与数组参数,规避跨平台 shell 差异
|
|
19
|
+
- 修复 changelog 域不带 --lang 时首命令被误删的问题
|
|
20
|
+
- 移除公开包元数据中的私有仓库地址
|
|
21
|
+
|
|
22
|
+
## 1.0.0
|
|
23
|
+
> 2026-09-02 发布
|
|
24
|
+
|
|
25
|
+
### ✨ 新增功能
|
|
26
|
+
|
|
27
|
+
- 新增任务管理域(tasks):扫描、总览、归档 Markdown 任务文件
|
|
28
|
+
- 新增多语言 CHANGELOG 域(changelog):封装 changesets,支持中英文标题格式化
|
|
29
|
+
|
|
30
|
+
### 🐛 补丁修复
|
|
31
|
+
|
|
32
|
+
- 完善 npm 发布配置并为英文变更日志补充分类图标
|
package/README.md
CHANGED
|
@@ -54,6 +54,15 @@ npx toolkit changelog status / publish # 其余 changeset 子命令透传
|
|
|
54
54
|
}
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
+
## 📋 方案落盘(任务区)
|
|
58
|
+
|
|
59
|
+
把已确认的实施/修复方案登记为 `.tasks/` 下的任务文件,由 toolkit 统一校验与归档,配合 AI 工作流在任意语言项目落地:
|
|
60
|
+
|
|
61
|
+
- **调用优先级**:`npx toolkit`(项目本地依赖)→ `toolkit`(全局安装);两者均不可用时直接以 Markdown 输出方案,不阻塞执行
|
|
62
|
+
- **规范来源**:优先读取项目根 `SPEC.md`,缺失时读取包内 `SPEC.md`(目录结构、文件命名与 frontmatter 字段均以该规范为准)
|
|
63
|
+
- **校验与归档**:写入方案文件后执行 `toolkit tasks` 校验总览;任务完成后执行 `toolkit tasks archive` 归档
|
|
64
|
+
- **版本管理**:涉及发版时先 `toolkit changelog` 创建变更集,再 `toolkit changelog version` 发版并格式化 CHANGELOG
|
|
65
|
+
|
|
57
66
|
## 📚 库 API
|
|
58
67
|
|
|
59
68
|
```typescript
|
package/dist/cli.cjs
CHANGED
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var
|
|
3
|
-
`);let s=0;for(let
|
|
2
|
+
var G=()=>typeof document>"u"?new URL(`file:${__filename}`).href:document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?document.currentScript.src:new URL("main.js",document.baseURI).href,f=G();var O=require("module"),_=require("child_process");var j=require("fs"),y=require("path");function x(t){let n=t.match(/^---\r?\n([\s\S]*?)\r?\n---/);if(!n)return{};let e={};for(let o of n[1].split(/\r?\n/)){let s=o.indexOf(":");if(s===-1)continue;let r=o.slice(0,s).trim(),i=o.slice(s+1).trim();(i.startsWith("'")&&i.endsWith("'")||i.startsWith('"')&&i.endsWith('"'))&&(i=i.slice(1,-1)),r&&(e[r]=i)}return e}function S(t){let n=t.match(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/);return n?t.slice(n[0].length):t}var h=require("fs"),k=require("path");function T(t){if(!(0,h.existsSync)(t))return[];let n=[];for(let e of(0,h.readdirSync)(t)){let o=(0,k.join)(t,e);if((0,h.statSync)(o).isDirectory())for(let s of(0,h.readdirSync)(o))s.endsWith(".md")&&n.push((0,k.join)(o,s));else e.endsWith(".md")&&n.push(o)}return n}function L(t){let e=(0,k.basename)(t,(0,k.extname)(t)).match(/^(\d{8})/);return e?e[1]:""}function I(t=".tasks"){let n=(0,y.join)(t,"active");return T(n).map(e=>{let o=(0,j.readFileSync)(e,"utf8"),s=x(o),r=o.split(/\r?\n/).find(i=>i.startsWith("# ")&&!i.startsWith("#!"))?.replace(/^#\s*/,"")||(0,y.basename)(e,".md");return{file:e,name:(0,y.basename)(e,".md"),date:L(e),title:r,frontmatter:s,body:S(o).trim()}})}function R(t=".tasks"){let n=I(t);if(n.length===0){console.log("\u5F53\u524D\u65E0\u6D3B\u8DC3\u4EFB\u52A1");return}let e=["\u8FDB\u884C\u4E2D","\u963B\u585E","\u5F85\u529E","\u5DF2\u5B8C\u6210","\u5DF2\u653E\u5F03","\u672A\u6807\u6CE8"],o={};for(let r of n){let i=e.includes(r.frontmatter.status)?r.frontmatter.status:"\u672A\u6807\u6CE8";(o[i]||=[]).push(r)}console.log(`\u4EFB\u52A1\u603B\u89C8\uFF1A
|
|
3
|
+
`);let s=0;for(let r of e){let i=o[r]||[];if(i.length!==0){s+=i.length,console.log(`\u3010${r}\u3011${i.length} \u9879`);for(let c of i)console.log(` ${c.date} ${(c.frontmatter.owner||"\u672A\u6807\u6CE8").padEnd(8)} ${c.title}`);console.log("")}}console.log(`\u5171 ${s} \u4E2A\u4EFB\u52A1\u6587\u4EF6`)}var m=require("fs"),l=require("path");var U=["\u5DF2\u5B8C\u6210","\u5DF2\u653E\u5F03"];function q(t,n){let e=(0,l.resolve)(t),o=(0,l.resolve)(n);for(;e!==o&&e.startsWith(o+l.sep);){try{if((0,m.readdirSync)(e).length>0)break;(0,m.rmdirSync)(e)}catch{break}e=(0,l.dirname)(e)}}function z(t){let n=(0,m.readFileSync)(t,"utf8"),e=[],o=/## (.+?)\n\n> [^\n]*完成时间:([^\n]+)\n\n([\s\S]*?)(?=\n\n---\n\n## |$)/g,s;for(;s=o.exec(n);)e.push({block:s[0].trim(),completed:s[2].trim()});return e}function W(t=".tasks"){let n=(0,l.join)(t,"active"),e=(0,l.join)(t,"archive"),o=T(n);if(o.length===0)return console.log("\u5F53\u524D\u65E0\u6D3B\u8DC3\u4EFB\u52A1\uFF0C\u65E0\u9700\u5F52\u6863"),{archived:0,skipped:[]};let s=[],r=[];for(let c of o){let p=(0,m.readFileSync)(c,"utf8"),a=x(p);if(!U.includes(a.status))continue;let u=a.completed;if(!u){r.push((0,l.basename)(c,".md")),console.log(`\u8DF3\u8FC7 ${(0,l.basename)(c,".md")}\uFF1A\u7F3A\u5C11 completed \u5B8C\u6210\u65F6\u95F4`);continue}s.push({file:c,name:(0,l.basename)(c,".md"),owner:a.owner||"\u672A\u6807\u6CE8",status:a.status||"\u672A\u6807\u6CE8",scope:a.scope||"-",completed:u,body:S(p).trim()})}if(s.length===0)return console.log("\u672C\u6B21\u65E0\u53EF\u5F52\u6863\u4EFB\u52A1"),{archived:0,skipped:r};let i={};for(let c of s){let p=c.completed.replace(/-/g,"").slice(0,8);(i[p]||=[]).push(c)}for(let[c,p]of Object.entries(i)){let a=(0,l.join)(e,c.slice(0,6));(0,m.mkdirSync)(a,{recursive:!0});let u=(0,l.join)(a,`${c}.md`),F=(0,m.existsSync)(u)?z(u):[];F.push(...p.map(g=>({block:`## ${g.name}
|
|
4
4
|
|
|
5
|
-
> \u8D1F\u8D23\u4EBA\uFF1A${
|
|
5
|
+
> \u8D1F\u8D23\u4EBA\uFF1A${g.owner}\u3000\u72B6\u6001\uFF1A${g.status}\u3000\u8303\u56F4\uFF1A${g.scope}\u3000\u5B8C\u6210\u65F6\u95F4\uFF1A${g.completed}
|
|
6
6
|
|
|
7
|
-
${
|
|
7
|
+
${g.body}`,completed:g.completed}))),F.sort((g,B)=>g.completed.localeCompare(B.completed)),(0,m.writeFileSync)(u,`# ${c} \u5F52\u6863
|
|
8
8
|
|
|
9
9
|
> \u672C\u6587\u4EF6\u7531 \`toolkit tasks archive\` \u81EA\u52A8\u751F\u6210\u3002
|
|
10
10
|
|
|
11
|
-
${F.map(
|
|
11
|
+
${F.map(g=>g.block).join(`
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
`)}
|
|
16
|
-
`,"utf8");for(let
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
`);
|
|
16
|
+
`,"utf8");for(let g of p)(0,m.unlinkSync)(g.file);q((0,l.dirname)(p[0].file),t),console.log(`\u5DF2\u5F52\u6863 ${p.length} \u4E2A\u4EFB\u52A1 \u2192 ${c}.md`)}return console.log(`\u5171\u5F52\u6863 ${s.length} \u4E2A\u4EFB\u52A1`),{archived:s.length,skipped:r}}var v={zh:{replacements:{"### Major Changes":"### \u{1F6A8} \u91CD\u5927\u53D8\u66F4","### \u91CD\u5927\u53D8\u66F4":"### \u{1F6A8} \u91CD\u5927\u53D8\u66F4","### Minor Changes":"### \u2728 \u65B0\u589E\u529F\u80FD","### \u65B0\u589E\u529F\u80FD":"### \u2728 \u65B0\u589E\u529F\u80FD","### Patch Changes":"### \u{1F41B} \u8865\u4E01\u4FEE\u590D","### \u8865\u4E01\u4FEE\u590D":"### \u{1F41B} \u8865\u4E01\u4FEE\u590D","### Dependent Changes":"### \u{1F517} \u4F9D\u8D56\u53D8\u66F4","### \u4F9D\u8D56\u53D8\u66F4":"### \u{1F517} \u4F9D\u8D56\u53D8\u66F4","- Updated dependencies":"- \u66F4\u65B0\u4F9D\u8D56"},deps:"- \u66F4\u65B0\u4F9D\u8D56",released:"\u53D1\u5E03"},en:{replacements:{"### Major Changes":"### \u{1F6A8} Major Changes","### Minor Changes":"### \u2728 Minor Changes","### Patch Changes":"### \u{1F41B} Patch Changes","### Dependent Changes":"### \u{1F517} Dependent Changes"},deps:"- Updated dependencies",released:"released"}},$="zh";var C=require("fs");var E=require("fs"),b=require("path");function M(t){let n=[],e=new Set(["node_modules",".git","dist"]),o=s=>{let r;try{r=(0,E.readdirSync)(s,{withFileTypes:!0})}catch{return}for(let i of r)if(i.isDirectory()){if(e.has(i.name))continue;o((0,b.join)(s,i.name))}else i.name==="CHANGELOG.md"&&n.push((0,b.join)(s,i.name))};return o(t),n}function w(){let t=new Date,n=e=>String(e).padStart(2,"0");return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())}`}function H(t,n,e){let o=(0,C.readFileSync)(t,"utf8"),s=o.includes(`\r
|
|
17
|
+
`)?`\r
|
|
18
|
+
`:`
|
|
19
|
+
`,r=o.replace(/\r\n/g,`
|
|
20
|
+
`);for(let[a,u]of Object.entries(e.replacements))r=r.replaceAll(a,u);for(;r.includes(`${e.deps}
|
|
21
|
+
${e.deps}`);)r=r.replace(`${e.deps}
|
|
22
|
+
${e.deps}`,e.deps);for(;;){let a=r.replace(/^- (.+)\n- \1$/gm,"- $1");if(a===r)break;r=a}let i=r.split(`
|
|
23
|
+
`),c=[];for(let a=0;a<i.length;a++)c.push(i[a]),/^## \d+\.\d+\.\d+/.test(i[a])&&!i[a+1]?.startsWith("> ")&&c.push(`> ${n} ${e.released}`);let p=c.join(`
|
|
24
|
+
`);return p!==r?((0,C.writeFileSync)(t,p.replace(/\n/g,s),"utf8"),!0):!1}function A(t,n,e){let o=[];for(let s of M(t))H(s,n,e)&&o.push(s);if(o.length===0)console.log("\u65E0 CHANGELOG \u9700\u8981\u66F4\u65B0");else for(let s of o)console.log(`changelog \u5DF2\u66F4\u65B0\uFF1A${s}`);return o}var Y=(0,O.createRequire)(f),J=Y.resolve("@changesets/cli/bin.js"),D=t=>{let n=(0,_.spawnSync)(process.execPath,[J,...t],{stdio:"inherit"});n.status!==0&&process.exit(n.status??1)},P=process.argv.slice(2),N=P[0],d=P.slice(1);if(N==="tasks"){let t=d.indexOf("--dir"),n=t>=0&&d[t+1]?d[t+1]:".tasks";(d.find(o=>!o.startsWith("--")&&o!==n)||"list")==="archive"?W(n):R(n)}else if(N==="changelog"){let t=d.indexOf("--lang"),n=t>=0&&d[t+1]?d[t+1]:$,e=t>=0?d.filter((s,r)=>r!==t&&r!==t+1):d,o=e[0];o==="version"?(D(["version"]),A(".",w(),v[n]??v[$])):o==="format"?A(".",w(),v[n]??v[$]):D(o?e:[])}else console.log("\u7528\u6CD5\uFF1Atoolkit <tasks|changelog> ..."),console.log(" toolkit tasks \u4EFB\u52A1\u603B\u89C8"),console.log(" toolkit tasks archive \u5F52\u6863\u5DF2\u5B8C\u6210\u4EFB\u52A1"),console.log(" toolkit changelog \u521B\u5EFA\u53D8\u66F4\u96C6"),console.log(" toolkit changelog version \u53D1\u7248 + \u591A\u8BED\u8A00\u683C\u5F0F\u5316"),console.log(" toolkit changelog format \u7EAF\u683C\u5F0F\u5316");
|
package/dist/cli.js
CHANGED
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createRequire as
|
|
3
|
-
`);let
|
|
2
|
+
import{createRequire as at}from"module";import{spawnSync as ct}from"child_process";import{readFileSync as H}from"fs";import{join as I,basename as D}from"path";function u(t){let n=t.match(/^---\r?\n([\s\S]*?)\r?\n---/);if(!n)return{};let e={};for(let s of n[1].split(/\r?\n/)){let o=s.indexOf(":");if(o===-1)continue;let r=s.slice(0,o).trim(),i=s.slice(o+1).trim();(i.startsWith("'")&&i.endsWith("'")||i.startsWith('"')&&i.endsWith('"'))&&(i=i.slice(1,-1)),r&&(e[r]=i)}return e}function k(t){let n=t.match(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/);return n?t.slice(n[0].length):t}import{existsSync as P,readdirSync as b,statSync as U}from"fs";import{join as w,basename as q,extname as z}from"path";function y(t){if(!P(t))return[];let n=[];for(let e of b(t)){let s=w(t,e);if(U(s).isDirectory())for(let o of b(s))o.endsWith(".md")&&n.push(w(s,o));else e.endsWith(".md")&&n.push(s)}return n}function A(t){let e=q(t,z(t)).match(/^(\d{8})/);return e?e[1]:""}function Y(t=".tasks"){let n=I(t,"active");return y(n).map(e=>{let s=H(e,"utf8"),o=u(s),r=s.split(/\r?\n/).find(i=>i.startsWith("# ")&&!i.startsWith("#!"))?.replace(/^#\s*/,"")||D(e,".md");return{file:e,name:D(e,".md"),date:A(e),title:r,frontmatter:o,body:k(s).trim()}})}function L(t=".tasks"){let n=Y(t);if(n.length===0){console.log("\u5F53\u524D\u65E0\u6D3B\u8DC3\u4EFB\u52A1");return}let e=["\u8FDB\u884C\u4E2D","\u963B\u585E","\u5F85\u529E","\u5DF2\u5B8C\u6210","\u5DF2\u653E\u5F03","\u672A\u6807\u6CE8"],s={};for(let r of n){let i=e.includes(r.frontmatter.status)?r.frontmatter.status:"\u672A\u6807\u6CE8";(s[i]||=[]).push(r)}console.log(`\u4EFB\u52A1\u603B\u89C8\uFF1A
|
|
3
|
+
`);let o=0;for(let r of e){let i=s[r]||[];if(i.length!==0){o+=i.length,console.log(`\u3010${r}\u3011${i.length} \u9879`);for(let a of i)console.log(` ${a.date} ${(a.frontmatter.owner||"\u672A\u6807\u6CE8").padEnd(8)} ${a.title}`);console.log("")}}console.log(`\u5171 ${o} \u4E2A\u4EFB\u52A1\u6587\u4EF6`)}import{readFileSync as E,writeFileSync as J,mkdirSync as K,unlinkSync as Q,existsSync as V,readdirSync as X,rmdirSync as Z}from"fs";import{join as v,basename as $,dirname as M,resolve as W,sep as tt}from"path";var j=["\u5DF2\u5B8C\u6210","\u5DF2\u653E\u5F03"];function et(t,n){let e=W(t),s=W(n);for(;e!==s&&e.startsWith(s+tt);){try{if(X(e).length>0)break;Z(e)}catch{break}e=M(e)}}function nt(t){let n=E(t,"utf8"),e=[],s=/## (.+?)\n\n> [^\n]*完成时间:([^\n]+)\n\n([\s\S]*?)(?=\n\n---\n\n## |$)/g,o;for(;o=s.exec(n);)e.push({block:o[0].trim(),completed:o[2].trim()});return e}function O(t=".tasks"){let n=v(t,"active"),e=v(t,"archive"),s=y(n);if(s.length===0)return console.log("\u5F53\u524D\u65E0\u6D3B\u8DC3\u4EFB\u52A1\uFF0C\u65E0\u9700\u5F52\u6863"),{archived:0,skipped:[]};let o=[],r=[];for(let a of s){let g=E(a,"utf8"),c=u(g);if(!j.includes(c.status))continue;let p=c.completed;if(!p){r.push($(a,".md")),console.log(`\u8DF3\u8FC7 ${$(a,".md")}\uFF1A\u7F3A\u5C11 completed \u5B8C\u6210\u65F6\u95F4`);continue}o.push({file:a,name:$(a,".md"),owner:c.owner||"\u672A\u6807\u6CE8",status:c.status||"\u672A\u6807\u6CE8",scope:c.scope||"-",completed:p,body:k(g).trim()})}if(o.length===0)return console.log("\u672C\u6B21\u65E0\u53EF\u5F52\u6863\u4EFB\u52A1"),{archived:0,skipped:r};let i={};for(let a of o){let g=a.completed.replace(/-/g,"").slice(0,8);(i[g]||=[]).push(a)}for(let[a,g]of Object.entries(i)){let c=v(e,a.slice(0,6));K(c,{recursive:!0});let p=v(c,`${a}.md`),T=V(p)?nt(p):[];T.push(...g.map(l=>({block:`## ${l.name}
|
|
4
4
|
|
|
5
|
-
> \u8D1F\u8D23\u4EBA\uFF1A${
|
|
5
|
+
> \u8D1F\u8D23\u4EBA\uFF1A${l.owner}\u3000\u72B6\u6001\uFF1A${l.status}\u3000\u8303\u56F4\uFF1A${l.scope}\u3000\u5B8C\u6210\u65F6\u95F4\uFF1A${l.completed}
|
|
6
6
|
|
|
7
|
-
${
|
|
7
|
+
${l.body}`,completed:l.completed}))),T.sort((l,G)=>l.completed.localeCompare(G.completed)),J(p,`# ${a} \u5F52\u6863
|
|
8
8
|
|
|
9
9
|
> \u672C\u6587\u4EF6\u7531 \`toolkit tasks archive\` \u81EA\u52A8\u751F\u6210\u3002
|
|
10
10
|
|
|
11
|
-
${
|
|
11
|
+
${T.map(l=>l.block).join(`
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
`)}
|
|
16
|
-
`,"utf8");for(let
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
`);
|
|
16
|
+
`,"utf8");for(let l of g)Q(l.file);et(M(g[0].file),t),console.log(`\u5DF2\u5F52\u6863 ${g.length} \u4E2A\u4EFB\u52A1 \u2192 ${a}.md`)}return console.log(`\u5171\u5F52\u6863 ${o.length} \u4E2A\u4EFB\u52A1`),{archived:o.length,skipped:r}}var h={zh:{replacements:{"### Major Changes":"### \u{1F6A8} \u91CD\u5927\u53D8\u66F4","### \u91CD\u5927\u53D8\u66F4":"### \u{1F6A8} \u91CD\u5927\u53D8\u66F4","### Minor Changes":"### \u2728 \u65B0\u589E\u529F\u80FD","### \u65B0\u589E\u529F\u80FD":"### \u2728 \u65B0\u589E\u529F\u80FD","### Patch Changes":"### \u{1F41B} \u8865\u4E01\u4FEE\u590D","### \u8865\u4E01\u4FEE\u590D":"### \u{1F41B} \u8865\u4E01\u4FEE\u590D","### Dependent Changes":"### \u{1F517} \u4F9D\u8D56\u53D8\u66F4","### \u4F9D\u8D56\u53D8\u66F4":"### \u{1F517} \u4F9D\u8D56\u53D8\u66F4","- Updated dependencies":"- \u66F4\u65B0\u4F9D\u8D56"},deps:"- \u66F4\u65B0\u4F9D\u8D56",released:"\u53D1\u5E03"},en:{replacements:{"### Major Changes":"### \u{1F6A8} Major Changes","### Minor Changes":"### \u2728 Minor Changes","### Patch Changes":"### \u{1F41B} Patch Changes","### Dependent Changes":"### \u{1F517} Dependent Changes"},deps:"- Updated dependencies",released:"released"}},x="zh";import{readFileSync as ot,writeFileSync as rt}from"fs";import{readdirSync as st}from"fs";import{join as R}from"path";function N(t){let n=[],e=new Set(["node_modules",".git","dist"]),s=o=>{let r;try{r=st(o,{withFileTypes:!0})}catch{return}for(let i of r)if(i.isDirectory()){if(e.has(i.name))continue;s(R(o,i.name))}else i.name==="CHANGELOG.md"&&n.push(R(o,i.name))};return s(t),n}function S(){let t=new Date,n=e=>String(e).padStart(2,"0");return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())}`}function it(t,n,e){let s=ot(t,"utf8"),o=s.includes(`\r
|
|
17
|
+
`)?`\r
|
|
18
|
+
`:`
|
|
19
|
+
`,r=s.replace(/\r\n/g,`
|
|
20
|
+
`);for(let[c,p]of Object.entries(e.replacements))r=r.replaceAll(c,p);for(;r.includes(`${e.deps}
|
|
21
|
+
${e.deps}`);)r=r.replace(`${e.deps}
|
|
22
|
+
${e.deps}`,e.deps);for(;;){let c=r.replace(/^- (.+)\n- \1$/gm,"- $1");if(c===r)break;r=c}let i=r.split(`
|
|
23
|
+
`),a=[];for(let c=0;c<i.length;c++)a.push(i[c]),/^## \d+\.\d+\.\d+/.test(i[c])&&!i[c+1]?.startsWith("> ")&&a.push(`> ${n} ${e.released}`);let g=a.join(`
|
|
24
|
+
`);return g!==r?(rt(t,g.replace(/\n/g,o),"utf8"),!0):!1}function F(t,n,e){let s=[];for(let o of N(t))it(o,n,e)&&s.push(o);if(s.length===0)console.log("\u65E0 CHANGELOG \u9700\u8981\u66F4\u65B0");else for(let o of s)console.log(`changelog \u5DF2\u66F4\u65B0\uFF1A${o}`);return s}var lt=at(import.meta.url),gt=lt.resolve("@changesets/cli/bin.js"),C=t=>{let n=ct(process.execPath,[gt,...t],{stdio:"inherit"});n.status!==0&&process.exit(n.status??1)},B=process.argv.slice(2),_=B[0],m=B.slice(1);if(_==="tasks"){let t=m.indexOf("--dir"),n=t>=0&&m[t+1]?m[t+1]:".tasks";(m.find(s=>!s.startsWith("--")&&s!==n)||"list")==="archive"?O(n):L(n)}else if(_==="changelog"){let t=m.indexOf("--lang"),n=t>=0&&m[t+1]?m[t+1]:x,e=t>=0?m.filter((o,r)=>r!==t&&r!==t+1):m,s=e[0];s==="version"?(C(["version"]),F(".",S(),h[n]??h[x])):s==="format"?F(".",S(),h[n]??h[x]):C(s?e:[])}else console.log("\u7528\u6CD5\uFF1Atoolkit <tasks|changelog> ..."),console.log(" toolkit tasks \u4EFB\u52A1\u603B\u89C8"),console.log(" toolkit tasks archive \u5F52\u6863\u5DF2\u5B8C\u6210\u4EFB\u52A1"),console.log(" toolkit changelog \u521B\u5EFA\u53D8\u66F4\u96C6"),console.log(" toolkit changelog version \u53D1\u7248 + \u591A\u8BED\u8A00\u683C\u5F0F\u5316"),console.log(" toolkit changelog format \u7EAF\u683C\u5F0F\u5316");
|
package/dist/index.cjs
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
var
|
|
2
|
-
`);let
|
|
1
|
+
var C=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var G=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var U=(e,n)=>{for(var t in n)C(e,t,{get:n[t],enumerable:!0})},_=(e,n,t,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of G(n))!P.call(e,r)&&r!==t&&C(e,r,{get:()=>n[r],enumerable:!(s=B(n,r))||s.enumerable});return e};var z=e=>_(C({},"__esModule",{value:!0}),e);var I={};U(I,{DEFAULT_LANG:()=>q,DONE_STATUSES:()=>b,archiveTasks:()=>E,collectChangelogs:()=>$,dateFromFileName:()=>F,formatChangelog:()=>j,formatChangelogs:()=>R,languages:()=>Y,listTaskFiles:()=>x,listTasks:()=>w,localDate:()=>N,parseArchiveTasks:()=>A,parseFrontmatter:()=>k,printTasks:()=>W,stripFrontmatter:()=>y});module.exports=z(I);var b=["\u5DF2\u5B8C\u6210","\u5DF2\u653E\u5F03"];function k(e){let n=e.match(/^---\r?\n([\s\S]*?)\r?\n---/);if(!n)return{};let t={};for(let s of n[1].split(/\r?\n/)){let r=s.indexOf(":");if(r===-1)continue;let i=s.slice(0,r).trim(),o=s.slice(r+1).trim();(o.startsWith("'")&&o.endsWith("'")||o.startsWith('"')&&o.endsWith('"'))&&(o=o.slice(1,-1)),i&&(t[i]=o)}return t}function y(e){let n=e.match(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/);return n?e.slice(n[0].length):e}var h=require("fs"),u=require("path");function x(e){if(!(0,h.existsSync)(e))return[];let n=[];for(let t of(0,h.readdirSync)(e)){let s=(0,u.join)(e,t);if((0,h.statSync)(s).isDirectory())for(let r of(0,h.readdirSync)(s))r.endsWith(".md")&&n.push((0,u.join)(s,r));else t.endsWith(".md")&&n.push(s)}return n}function F(e){let t=(0,u.basename)(e,(0,u.extname)(e)).match(/^(\d{8})/);return t?t[1]:""}var L=require("fs"),T=require("path");function w(e=".tasks"){let n=(0,T.join)(e,"active");return x(n).map(t=>{let s=(0,L.readFileSync)(t,"utf8"),r=k(s),i=s.split(/\r?\n/).find(o=>o.startsWith("# ")&&!o.startsWith("#!"))?.replace(/^#\s*/,"")||(0,T.basename)(t,".md");return{file:t,name:(0,T.basename)(t,".md"),date:F(t),title:i,frontmatter:r,body:y(s).trim()}})}function W(e=".tasks"){let n=w(e);if(n.length===0){console.log("\u5F53\u524D\u65E0\u6D3B\u8DC3\u4EFB\u52A1");return}let t=["\u8FDB\u884C\u4E2D","\u963B\u585E","\u5F85\u529E","\u5DF2\u5B8C\u6210","\u5DF2\u653E\u5F03","\u672A\u6807\u6CE8"],s={};for(let i of n){let o=t.includes(i.frontmatter.status)?i.frontmatter.status:"\u672A\u6807\u6CE8";(s[o]||=[]).push(i)}console.log(`\u4EFB\u52A1\u603B\u89C8\uFF1A
|
|
2
|
+
`);let r=0;for(let i of t){let o=s[i]||[];if(o.length!==0){r+=o.length,console.log(`\u3010${i}\u3011${o.length} \u9879`);for(let a of o)console.log(` ${a.date} ${(a.frontmatter.owner||"\u672A\u6807\u6CE8").padEnd(8)} ${a.title}`);console.log("")}}console.log(`\u5171 ${r} \u4E2A\u4EFB\u52A1\u6587\u4EF6`)}var p=require("fs"),l=require("path");function H(e,n){let t=(0,l.resolve)(e),s=(0,l.resolve)(n);for(;t!==s&&t.startsWith(s+l.sep);){try{if((0,p.readdirSync)(t).length>0)break;(0,p.rmdirSync)(t)}catch{break}t=(0,l.dirname)(t)}}function A(e){let n=(0,p.readFileSync)(e,"utf8"),t=[],s=/## (.+?)\n\n> [^\n]*完成时间:([^\n]+)\n\n([\s\S]*?)(?=\n\n---\n\n## |$)/g,r;for(;r=s.exec(n);)t.push({block:r[0].trim(),completed:r[2].trim()});return t}function E(e=".tasks"){let n=(0,l.join)(e,"active"),t=(0,l.join)(e,"archive"),s=x(n);if(s.length===0)return console.log("\u5F53\u524D\u65E0\u6D3B\u8DC3\u4EFB\u52A1\uFF0C\u65E0\u9700\u5F52\u6863"),{archived:0,skipped:[]};let r=[],i=[];for(let a of s){let g=(0,p.readFileSync)(a,"utf8"),c=k(g);if(!b.includes(c.status))continue;let f=c.completed;if(!f){i.push((0,l.basename)(a,".md")),console.log(`\u8DF3\u8FC7 ${(0,l.basename)(a,".md")}\uFF1A\u7F3A\u5C11 completed \u5B8C\u6210\u65F6\u95F4`);continue}r.push({file:a,name:(0,l.basename)(a,".md"),owner:c.owner||"\u672A\u6807\u6CE8",status:c.status||"\u672A\u6807\u6CE8",scope:c.scope||"-",completed:f,body:y(g).trim()})}if(r.length===0)return console.log("\u672C\u6B21\u65E0\u53EF\u5F52\u6863\u4EFB\u52A1"),{archived:0,skipped:i};let o={};for(let a of r){let g=a.completed.replace(/-/g,"").slice(0,8);(o[g]||=[]).push(a)}for(let[a,g]of Object.entries(o)){let c=(0,l.join)(t,a.slice(0,6));(0,p.mkdirSync)(c,{recursive:!0});let f=(0,l.join)(c,`${a}.md`),S=(0,p.existsSync)(f)?A(f):[];S.push(...g.map(m=>({block:`## ${m.name}
|
|
3
3
|
|
|
4
|
-
> \u8D1F\u8D23\u4EBA\uFF1A${
|
|
4
|
+
> \u8D1F\u8D23\u4EBA\uFF1A${m.owner}\u3000\u72B6\u6001\uFF1A${m.status}\u3000\u8303\u56F4\uFF1A${m.scope}\u3000\u5B8C\u6210\u65F6\u95F4\uFF1A${m.completed}
|
|
5
5
|
|
|
6
|
-
${
|
|
6
|
+
${m.body}`,completed:m.completed}))),S.sort((m,O)=>m.completed.localeCompare(O.completed)),(0,p.writeFileSync)(f,`# ${a} \u5F52\u6863
|
|
7
7
|
|
|
8
8
|
> \u672C\u6587\u4EF6\u7531 \`toolkit tasks archive\` \u81EA\u52A8\u751F\u6210\u3002
|
|
9
9
|
|
|
10
|
-
${
|
|
10
|
+
${S.map(m=>m.block).join(`
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
`)}
|
|
15
|
-
`,"utf8");for(let
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
`);
|
|
15
|
+
`,"utf8");for(let m of g)(0,p.unlinkSync)(m.file);H((0,l.dirname)(g[0].file),e),console.log(`\u5DF2\u5F52\u6863 ${g.length} \u4E2A\u4EFB\u52A1 \u2192 ${a}.md`)}return console.log(`\u5171\u5F52\u6863 ${r.length} \u4E2A\u4EFB\u52A1`),{archived:r.length,skipped:i}}var Y={zh:{replacements:{"### Major Changes":"### \u{1F6A8} \u91CD\u5927\u53D8\u66F4","### \u91CD\u5927\u53D8\u66F4":"### \u{1F6A8} \u91CD\u5927\u53D8\u66F4","### Minor Changes":"### \u2728 \u65B0\u589E\u529F\u80FD","### \u65B0\u589E\u529F\u80FD":"### \u2728 \u65B0\u589E\u529F\u80FD","### Patch Changes":"### \u{1F41B} \u8865\u4E01\u4FEE\u590D","### \u8865\u4E01\u4FEE\u590D":"### \u{1F41B} \u8865\u4E01\u4FEE\u590D","### Dependent Changes":"### \u{1F517} \u4F9D\u8D56\u53D8\u66F4","### \u4F9D\u8D56\u53D8\u66F4":"### \u{1F517} \u4F9D\u8D56\u53D8\u66F4","- Updated dependencies":"- \u66F4\u65B0\u4F9D\u8D56"},deps:"- \u66F4\u65B0\u4F9D\u8D56",released:"\u53D1\u5E03"},en:{replacements:{"### Major Changes":"### \u{1F6A8} Major Changes","### Minor Changes":"### \u2728 Minor Changes","### Patch Changes":"### \u{1F41B} Patch Changes","### Dependent Changes":"### \u{1F517} Dependent Changes"},deps:"- Updated dependencies",released:"released"}},q="zh";var M=require("fs"),D=require("path");function $(e){let n=[],t=new Set(["node_modules",".git","dist"]),s=r=>{let i;try{i=(0,M.readdirSync)(r,{withFileTypes:!0})}catch{return}for(let o of i)if(o.isDirectory()){if(t.has(o.name))continue;s((0,D.join)(r,o.name))}else o.name==="CHANGELOG.md"&&n.push((0,D.join)(r,o.name))};return s(e),n}var v=require("fs");function N(){let e=new Date,n=t=>String(t).padStart(2,"0");return`${e.getFullYear()}-${n(e.getMonth()+1)}-${n(e.getDate())}`}function j(e,n,t){let s=(0,v.readFileSync)(e,"utf8"),r=s.includes(`\r
|
|
16
|
+
`)?`\r
|
|
17
|
+
`:`
|
|
18
|
+
`,i=s.replace(/\r\n/g,`
|
|
19
|
+
`);for(let[c,f]of Object.entries(t.replacements))i=i.replaceAll(c,f);for(;i.includes(`${t.deps}
|
|
20
|
+
${t.deps}`);)i=i.replace(`${t.deps}
|
|
21
|
+
${t.deps}`,t.deps);for(;;){let c=i.replace(/^- (.+)\n- \1$/gm,"- $1");if(c===i)break;i=c}let o=i.split(`
|
|
22
|
+
`),a=[];for(let c=0;c<o.length;c++)a.push(o[c]),/^## \d+\.\d+\.\d+/.test(o[c])&&!o[c+1]?.startsWith("> ")&&a.push(`> ${n} ${t.released}`);let g=a.join(`
|
|
23
|
+
`);return g!==i?((0,v.writeFileSync)(e,g.replace(/\n/g,r),"utf8"),!0):!1}function R(e,n,t){let s=[];for(let r of $(e))j(r,n,t)&&s.push(r);if(s.length===0)console.log("\u65E0 CHANGELOG \u9700\u8981\u66F4\u65B0");else for(let r of s)console.log(`changelog \u5DF2\u66F4\u65B0\uFF1A${r}`);return s}0&&(module.exports={DEFAULT_LANG,DONE_STATUSES,archiveTasks,collectChangelogs,dateFromFileName,formatChangelog,formatChangelogs,languages,listTaskFiles,listTasks,localDate,parseArchiveTasks,parseFrontmatter,printTasks,stripFrontmatter});
|
package/dist/index.d.cts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
var $=["\u5DF2\u5B8C\u6210","\u5DF2\u653E\u5F03"];function d(
|
|
2
|
-
`);let
|
|
1
|
+
var $=["\u5DF2\u5B8C\u6210","\u5DF2\u653E\u5F03"];function d(e){let s=e.match(/^---\r?\n([\s\S]*?)\r?\n---/);if(!s)return{};let t={};for(let n of s[1].split(/\r?\n/)){let r=n.indexOf(":");if(r===-1)continue;let i=n.slice(0,r).trim(),o=n.slice(r+1).trim();(o.startsWith("'")&&o.endsWith("'")||o.startsWith('"')&&o.endsWith('"'))&&(o=o.slice(1,-1)),i&&(t[i]=o)}return t}function h(e){let s=e.match(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/);return s?e.slice(s[0].length):e}import{existsSync as M,readdirSync as v,statSync as N}from"fs";import{join as S,basename as R,extname as O}from"path";function u(e){if(!M(e))return[];let s=[];for(let t of v(e)){let n=S(e,t);if(N(n).isDirectory())for(let r of v(n))r.endsWith(".md")&&s.push(S(n,r));else t.endsWith(".md")&&s.push(n)}return s}function x(e){let t=R(e,O(e)).match(/^(\d{8})/);return t?t[1]:""}import{readFileSync as B}from"fs";import{join as G,basename as C}from"path";function b(e=".tasks"){let s=G(e,"active");return u(s).map(t=>{let n=B(t,"utf8"),r=d(n),i=n.split(/\r?\n/).find(o=>o.startsWith("# ")&&!o.startsWith("#!"))?.replace(/^#\s*/,"")||C(t,".md");return{file:t,name:C(t,".md"),date:x(t),title:i,frontmatter:r,body:h(n).trim()}})}function P(e=".tasks"){let s=b(e);if(s.length===0){console.log("\u5F53\u524D\u65E0\u6D3B\u8DC3\u4EFB\u52A1");return}let t=["\u8FDB\u884C\u4E2D","\u963B\u585E","\u5F85\u529E","\u5DF2\u5B8C\u6210","\u5DF2\u653E\u5F03","\u672A\u6807\u6CE8"],n={};for(let i of s){let o=t.includes(i.frontmatter.status)?i.frontmatter.status:"\u672A\u6807\u6CE8";(n[o]||=[]).push(i)}console.log(`\u4EFB\u52A1\u603B\u89C8\uFF1A
|
|
2
|
+
`);let r=0;for(let i of t){let o=n[i]||[];if(o.length!==0){r+=o.length,console.log(`\u3010${i}\u3011${o.length} \u9879`);for(let a of o)console.log(` ${a.date} ${(a.frontmatter.owner||"\u672A\u6807\u6CE8").padEnd(8)} ${a.title}`);console.log("")}}console.log(`\u5171 ${r} \u4E2A\u4EFB\u52A1\u6587\u4EF6`)}import{readFileSync as A,writeFileSync as U,mkdirSync as _,unlinkSync as z,existsSync as H,readdirSync as Y,rmdirSync as q}from"fs";import{join as k,basename as T,dirname as D,resolve as w,sep as I}from"path";function J(e,s){let t=w(e),n=w(s);for(;t!==n&&t.startsWith(n+I);){try{if(Y(t).length>0)break;q(t)}catch{break}t=D(t)}}function j(e){let s=A(e,"utf8"),t=[],n=/## (.+?)\n\n> [^\n]*完成时间:([^\n]+)\n\n([\s\S]*?)(?=\n\n---\n\n## |$)/g,r;for(;r=n.exec(s);)t.push({block:r[0].trim(),completed:r[2].trim()});return t}function K(e=".tasks"){let s=k(e,"active"),t=k(e,"archive"),n=u(s);if(n.length===0)return console.log("\u5F53\u524D\u65E0\u6D3B\u8DC3\u4EFB\u52A1\uFF0C\u65E0\u9700\u5F52\u6863"),{archived:0,skipped:[]};let r=[],i=[];for(let a of n){let p=A(a,"utf8"),c=d(p);if(!$.includes(c.status))continue;let m=c.completed;if(!m){i.push(T(a,".md")),console.log(`\u8DF3\u8FC7 ${T(a,".md")}\uFF1A\u7F3A\u5C11 completed \u5B8C\u6210\u65F6\u95F4`);continue}r.push({file:a,name:T(a,".md"),owner:c.owner||"\u672A\u6807\u6CE8",status:c.status||"\u672A\u6807\u6CE8",scope:c.scope||"-",completed:m,body:h(p).trim()})}if(r.length===0)return console.log("\u672C\u6B21\u65E0\u53EF\u5F52\u6863\u4EFB\u52A1"),{archived:0,skipped:i};let o={};for(let a of r){let p=a.completed.replace(/-/g,"").slice(0,8);(o[p]||=[]).push(a)}for(let[a,p]of Object.entries(o)){let c=k(t,a.slice(0,6));_(c,{recursive:!0});let m=k(c,`${a}.md`),y=H(m)?j(m):[];y.push(...p.map(l=>({block:`## ${l.name}
|
|
3
3
|
|
|
4
|
-
> \u8D1F\u8D23\u4EBA\uFF1A${
|
|
4
|
+
> \u8D1F\u8D23\u4EBA\uFF1A${l.owner}\u3000\u72B6\u6001\uFF1A${l.status}\u3000\u8303\u56F4\uFF1A${l.scope}\u3000\u5B8C\u6210\u65F6\u95F4\uFF1A${l.completed}
|
|
5
5
|
|
|
6
|
-
${
|
|
6
|
+
${l.body}`,completed:l.completed}))),y.sort((l,E)=>l.completed.localeCompare(E.completed)),U(m,`# ${a} \u5F52\u6863
|
|
7
7
|
|
|
8
8
|
> \u672C\u6587\u4EF6\u7531 \`toolkit tasks archive\` \u81EA\u52A8\u751F\u6210\u3002
|
|
9
9
|
|
|
10
|
-
${
|
|
10
|
+
${y.map(l=>l.block).join(`
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
`)}
|
|
15
|
-
`,"utf8");for(let
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
`);
|
|
15
|
+
`,"utf8");for(let l of p)z(l.file);J(D(p[0].file),e),console.log(`\u5DF2\u5F52\u6863 ${p.length} \u4E2A\u4EFB\u52A1 \u2192 ${a}.md`)}return console.log(`\u5171\u5F52\u6863 ${r.length} \u4E2A\u4EFB\u52A1`),{archived:r.length,skipped:i}}var $t={zh:{replacements:{"### Major Changes":"### \u{1F6A8} \u91CD\u5927\u53D8\u66F4","### \u91CD\u5927\u53D8\u66F4":"### \u{1F6A8} \u91CD\u5927\u53D8\u66F4","### Minor Changes":"### \u2728 \u65B0\u589E\u529F\u80FD","### \u65B0\u589E\u529F\u80FD":"### \u2728 \u65B0\u589E\u529F\u80FD","### Patch Changes":"### \u{1F41B} \u8865\u4E01\u4FEE\u590D","### \u8865\u4E01\u4FEE\u590D":"### \u{1F41B} \u8865\u4E01\u4FEE\u590D","### Dependent Changes":"### \u{1F517} \u4F9D\u8D56\u53D8\u66F4","### \u4F9D\u8D56\u53D8\u66F4":"### \u{1F517} \u4F9D\u8D56\u53D8\u66F4","- Updated dependencies":"- \u66F4\u65B0\u4F9D\u8D56"},deps:"- \u66F4\u65B0\u4F9D\u8D56",released:"\u53D1\u5E03"},en:{replacements:{"### Major Changes":"### \u{1F6A8} Major Changes","### Minor Changes":"### \u2728 Minor Changes","### Patch Changes":"### \u{1F41B} Patch Changes","### Dependent Changes":"### \u{1F517} Dependent Changes"},deps:"- Updated dependencies",released:"released"}},vt="zh";import{readdirSync as Q}from"fs";import{join as L}from"path";function F(e){let s=[],t=new Set(["node_modules",".git","dist"]),n=r=>{let i;try{i=Q(r,{withFileTypes:!0})}catch{return}for(let o of i)if(o.isDirectory()){if(t.has(o.name))continue;n(L(r,o.name))}else o.name==="CHANGELOG.md"&&s.push(L(r,o.name))};return n(e),s}import{readFileSync as V,writeFileSync as X}from"fs";function Z(){let e=new Date,s=t=>String(t).padStart(2,"0");return`${e.getFullYear()}-${s(e.getMonth()+1)}-${s(e.getDate())}`}function W(e,s,t){let n=V(e,"utf8"),r=n.includes(`\r
|
|
16
|
+
`)?`\r
|
|
17
|
+
`:`
|
|
18
|
+
`,i=n.replace(/\r\n/g,`
|
|
19
|
+
`);for(let[c,m]of Object.entries(t.replacements))i=i.replaceAll(c,m);for(;i.includes(`${t.deps}
|
|
20
|
+
${t.deps}`);)i=i.replace(`${t.deps}
|
|
21
|
+
${t.deps}`,t.deps);for(;;){let c=i.replace(/^- (.+)\n- \1$/gm,"- $1");if(c===i)break;i=c}let o=i.split(`
|
|
22
|
+
`),a=[];for(let c=0;c<o.length;c++)a.push(o[c]),/^## \d+\.\d+\.\d+/.test(o[c])&&!o[c+1]?.startsWith("> ")&&a.push(`> ${s} ${t.released}`);let p=a.join(`
|
|
23
|
+
`);return p!==i?(X(e,p.replace(/\n/g,r),"utf8"),!0):!1}function tt(e,s,t){let n=[];for(let r of F(e))W(r,s,t)&&n.push(r);if(n.length===0)console.log("\u65E0 CHANGELOG \u9700\u8981\u66F4\u65B0");else for(let r of n)console.log(`changelog \u5DF2\u66F4\u65B0\uFF1A${r}`);return n}export{vt as DEFAULT_LANG,$ as DONE_STATUSES,K as archiveTasks,F as collectChangelogs,x as dateFromFileName,W as formatChangelog,tt as formatChangelogs,$t as languages,u as listTaskFiles,b as listTasks,Z as localDate,j as parseArchiveTasks,d as parseFrontmatter,P as printTasks,h as stripFrontmatter};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fxri/toolkit",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "开发工程化工具集:任务管理 + 多语言 CHANGELOG 发布。",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -8,12 +8,21 @@
|
|
|
8
8
|
"email": "tqy@fxri.net",
|
|
9
9
|
"url": "https://fxri.net:444/"
|
|
10
10
|
},
|
|
11
|
-
"repository": {
|
|
12
|
-
"type": "git",
|
|
13
|
-
"url": "https://git.fxy.ink:444/fxri/develop/0001.base/toolkit.git"
|
|
14
|
-
},
|
|
15
11
|
"type": "module",
|
|
16
12
|
"main": "./dist/index.js",
|
|
13
|
+
"exports": {
|
|
14
|
+
".": {
|
|
15
|
+
"import": {
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"default": "./dist/index.js"
|
|
18
|
+
},
|
|
19
|
+
"require": {
|
|
20
|
+
"types": "./dist/index.d.cts",
|
|
21
|
+
"default": "./dist/index.cjs"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"./package.json": "./package.json"
|
|
25
|
+
},
|
|
17
26
|
"bin": {
|
|
18
27
|
"toolkit": "dist/cli.js"
|
|
19
28
|
},
|
|
@@ -21,17 +30,12 @@
|
|
|
21
30
|
"dist",
|
|
22
31
|
"README.md",
|
|
23
32
|
"SPEC.md",
|
|
33
|
+
"CHANGELOG.md",
|
|
24
34
|
"LICENSE",
|
|
25
35
|
"TRADEMARK.md",
|
|
26
36
|
"NOTICE",
|
|
27
37
|
"package.json"
|
|
28
38
|
],
|
|
29
|
-
"scripts": {
|
|
30
|
-
"dev": "pnpm build:debug && node ./dist/cli.js",
|
|
31
|
-
"build": "cross-env NODE_ENV=production tsup",
|
|
32
|
-
"build:debug": "cross-env NODE_ENV=development tsup --config tsup.dev.config.ts",
|
|
33
|
-
"release": "pnpm build && pnpm publish"
|
|
34
|
-
},
|
|
35
39
|
"keywords": [
|
|
36
40
|
"toolkit",
|
|
37
41
|
"task",
|
|
@@ -48,12 +52,17 @@
|
|
|
48
52
|
"tsup": "^8.5.0",
|
|
49
53
|
"typescript": "^5.9.3"
|
|
50
54
|
},
|
|
51
|
-
"packageManager": "pnpm@10.34.4",
|
|
52
55
|
"engines": {
|
|
53
56
|
"node": ">=20"
|
|
54
57
|
},
|
|
55
58
|
"publishConfig": {
|
|
56
59
|
"registry": "https://registry.npmjs.org/",
|
|
57
60
|
"access": "public"
|
|
61
|
+
},
|
|
62
|
+
"scripts": {
|
|
63
|
+
"dev": "pnpm build:debug && node ./dist/cli.js",
|
|
64
|
+
"build": "cross-env NODE_ENV=production tsup",
|
|
65
|
+
"build:debug": "cross-env NODE_ENV=development tsup --config tsup.dev.config.ts",
|
|
66
|
+
"release": "pnpm build && pnpm publish"
|
|
58
67
|
}
|
|
59
|
-
}
|
|
68
|
+
}
|