@longzai-intelligence-changelog/core 0.0.1
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/index.d.ts +223 -0
- package/dist/index.js +15 -0
- package/dist/rolldown-runtime-BqT_7tdF.js +1 -0
- package/package.json +39 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import "./rolldown-runtime-BqT_7tdF.js";
|
|
2
|
+
import { PackageManifest } from "@longzai-intelligence-release/core";
|
|
3
|
+
//#region src/commands/log.command.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* log 命令实现(changelog 版本盖章)
|
|
6
|
+
*
|
|
7
|
+
* 自 dev-tools apps/cli 的 commands/release/log.usecase.ts 迁入(ADR 0095),
|
|
8
|
+
* 盖章/同步条目/自动发现行为与输出逐行保持;配置读取改为与 publishCommand
|
|
9
|
+
* 同源的 release 配置链(@longzai-intelligence-release/config):
|
|
10
|
+
* lzi-release.config.ts(> lzi.config.ts#release)> lzi-dev.config.ts#publish 兼容回退。
|
|
11
|
+
*
|
|
12
|
+
* 为所有包生成 changelog 版本条目;无实质变更的包自动填充同步版本条目。
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* log 命令选项
|
|
16
|
+
*/
|
|
17
|
+
type LogOptions = {
|
|
18
|
+
/**
|
|
19
|
+
* 仅预览,不实际修改
|
|
20
|
+
*/
|
|
21
|
+
dryRun?: boolean;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* 替换未发布段落为指定版本
|
|
25
|
+
* 如果文件中没有未发布段落,则在首个 ## 标题前插入新版本条目
|
|
26
|
+
*
|
|
27
|
+
* @param content - changelog 文件内容
|
|
28
|
+
* @param version - 目标版本号
|
|
29
|
+
* @param date - 日期字符串
|
|
30
|
+
* @returns 修改后的内容
|
|
31
|
+
*/
|
|
32
|
+
declare const stampVersion: (content: string, version: string, date: string) => string;
|
|
33
|
+
/**
|
|
34
|
+
* 生成无实质变更包的 changelog 条目
|
|
35
|
+
*
|
|
36
|
+
* @param packageName - 包名称
|
|
37
|
+
* @param version - 版本号
|
|
38
|
+
* @returns changelog 内容
|
|
39
|
+
*/
|
|
40
|
+
declare const generateSyncEntry: (packageName: string, version: string) => string;
|
|
41
|
+
/**
|
|
42
|
+
* 检查 changelog 是否有未发布的变更
|
|
43
|
+
*
|
|
44
|
+
* @param content - changelog 内容
|
|
45
|
+
* @returns 是否有未发布段落
|
|
46
|
+
*/
|
|
47
|
+
declare const hasUnreleasedChanges: (content: string) => boolean;
|
|
48
|
+
/**
|
|
49
|
+
* 在已有 changelog 内容中插入同步条目
|
|
50
|
+
* 插入位置:描述段落之后、首个 ## 标题之前
|
|
51
|
+
* 不存在 ## 标题时,在文件末尾追加
|
|
52
|
+
*
|
|
53
|
+
* @param content - 原 changelog 内容
|
|
54
|
+
* @param syncEntry - 同步条目文本
|
|
55
|
+
* @returns 插入后的内容
|
|
56
|
+
*/
|
|
57
|
+
declare const insertSyncEntry: (content: string, syncEntry: string) => string;
|
|
58
|
+
/**
|
|
59
|
+
* 执行 log 命令
|
|
60
|
+
*
|
|
61
|
+
* @param version - 目标版本号
|
|
62
|
+
* @param options - log 命令选项
|
|
63
|
+
*/
|
|
64
|
+
declare const logCommand: (version: string, options?: LogOptions) => Promise<void>;
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/utils/cli-output.utils.d.ts
|
|
67
|
+
/**
|
|
68
|
+
* CLI 输出工具
|
|
69
|
+
*
|
|
70
|
+
* 按 ADR 0038,禁止 console.*;所有 CLI 用户输出统一通过 process.stdout.write / process.stderr.write。
|
|
71
|
+
* 保留原 console.log/error 的多参数拼接语义,便于调用点最小改动。
|
|
72
|
+
*
|
|
73
|
+
* 自 dev-tools apps/cli 的 utils/cli-output.utils.ts 迁入(ADR 0095)。
|
|
74
|
+
*/
|
|
75
|
+
/**
|
|
76
|
+
* 输出 ANSI 颜色常量
|
|
77
|
+
*/
|
|
78
|
+
declare const COLORS: {
|
|
79
|
+
readonly RED: '[0;31m';
|
|
80
|
+
readonly GREEN: '[0;32m';
|
|
81
|
+
readonly YELLOW: '[1;33m';
|
|
82
|
+
readonly BLUE: '[0;34m';
|
|
83
|
+
readonly RESET: '[0m';
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* 输出到标准输出(等价 console.log,自动追加换行)
|
|
87
|
+
*
|
|
88
|
+
* @param args - 任意参数列表
|
|
89
|
+
*/
|
|
90
|
+
declare function stdout(...args: readonly unknown[]): void;
|
|
91
|
+
/**
|
|
92
|
+
* 输出到标准错误流(等价 console.error,自动追加换行)
|
|
93
|
+
*
|
|
94
|
+
* @param args - 任意参数列表
|
|
95
|
+
*/
|
|
96
|
+
declare function stderr(...args: readonly unknown[]): void;
|
|
97
|
+
//#endregion
|
|
98
|
+
//#region src/utils/rust-crate.utils.d.ts
|
|
99
|
+
/**
|
|
100
|
+
* [package] 段解析结果:name 与 version(均可能为 null)
|
|
101
|
+
*/
|
|
102
|
+
type CargoPackageInfo = {
|
|
103
|
+
/**
|
|
104
|
+
* crate 名
|
|
105
|
+
*/
|
|
106
|
+
name: string | null;
|
|
107
|
+
/**
|
|
108
|
+
* 版本号
|
|
109
|
+
*/
|
|
110
|
+
version: string | null;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* 读取 [package] 段的 name 与 version
|
|
114
|
+
*
|
|
115
|
+
* workspace 虚拟根(无 [package])返回 null。
|
|
116
|
+
* 自 dev-tools version-rust.utils.ts 迁入(readCargoPackage,ADR 0095)。
|
|
117
|
+
*
|
|
118
|
+
* @param text - Cargo.toml 全文
|
|
119
|
+
* @returns name 与 version,未声明字段为 null;无 [package] 段返回 null
|
|
120
|
+
*/
|
|
121
|
+
declare const readCargoPackage: (text: string) => CargoPackageInfo | null;
|
|
122
|
+
/**
|
|
123
|
+
* 扫描仓库内全部具体 Rust crate(crate 锚点扫描核心)
|
|
124
|
+
*
|
|
125
|
+
* 全层级扫描 Cargo.toml,凡含 [package] 段(readCargoPackage 非 null)即视为一个
|
|
126
|
+
* 具体 crate:散落 crate 与 Cargo workspace 成员 crate 一视同仁(CHANGELOG 按 crate
|
|
127
|
+
* 维度记录,成员不排除——与 version sync 的成员排除语义刻意相反,见模块注释);
|
|
128
|
+
* 纯 workspace 虚拟根(无 [package])不是 crate,不纳入。
|
|
129
|
+
* 结果按路径排序,保证候选列表与输出的确定性。
|
|
130
|
+
*
|
|
131
|
+
* @param rootDir - 仓库根绝对路径
|
|
132
|
+
* @param ignore - 忽略的 glob 列表
|
|
133
|
+
* @returns crate 清单(name 取 Cargo [package] name,缺失时回退目录相对路径——
|
|
134
|
+
* 与 log.ts 下沉前的 scanRustChangelogPackages 口径一致)
|
|
135
|
+
*/
|
|
136
|
+
declare const scanCargoCrates: (rootDir: string, ignore?: string[]) => Promise<PackageManifest[]>;
|
|
137
|
+
/**
|
|
138
|
+
* 扫描拥有 CHANGELOG.md 的 Rust crate(changelog 盖章专用发现)
|
|
139
|
+
*
|
|
140
|
+
* 自 dev-tools release/log.ts 下沉链路迁入(issue 0001 修复引入),实现为
|
|
141
|
+
* scanCargoCrates + CHANGELOG 存在性过滤:以 Cargo.toml 为 crate 锚点,
|
|
142
|
+
* 仅保留目录内存在 CHANGELOG.md 的 crate。
|
|
143
|
+
*
|
|
144
|
+
* @param rootDir - 仓库根绝对路径
|
|
145
|
+
* @param ignore - 忽略的 glob 列表
|
|
146
|
+
* @returns 拥有 CHANGELOG.md 的 crate 清单
|
|
147
|
+
*/
|
|
148
|
+
declare const scanRustChangelogPackages: (rootDir: string, ignore?: string[]) => Promise<PackageManifest[]>;
|
|
149
|
+
//#endregion
|
|
150
|
+
//#region src/utils/version-harmony.utils.d.ts
|
|
151
|
+
/**
|
|
152
|
+
* 鸿蒙(HarmonyOS / OpenHarmony)app 包发现(changelog 盖章发现专用)
|
|
153
|
+
*
|
|
154
|
+
* 自 dev-tools apps/cli 的 utils/version-harmony.utils.ts 迁入裁剪
|
|
155
|
+
* (ADR 0095):仅保留 release log 盖章发现所需的 app 聚合扫描,返回类型
|
|
156
|
+
* 裁剪为 changelog 所需面(name + rootDir);version sync 专用的
|
|
157
|
+
* syncHarmonyPackage(根/entry/AppScope 三处联动写)仍属 dev-tools。
|
|
158
|
+
*
|
|
159
|
+
* 以含顶层 name + version 的根 oh-package.json5 为锚点记为一个逻辑包;
|
|
160
|
+
* entry/oh-package.json5(通常 name="entry")会被排除,避免重复——
|
|
161
|
+
* CHANGELOG 记在 app 根目录,与版本同步的聚合口径一致。
|
|
162
|
+
*
|
|
163
|
+
* 全程正则读取(.json5 含注释,无法用 JSON.parse),零新依赖。
|
|
164
|
+
*/
|
|
165
|
+
/**
|
|
166
|
+
* 鸿蒙 app 逻辑包(changelog 发现视角)
|
|
167
|
+
*/
|
|
168
|
+
type HarmonyPackage = {
|
|
169
|
+
/**
|
|
170
|
+
* 包名称(oh-package name),用于汇总输出
|
|
171
|
+
*/
|
|
172
|
+
name: string;
|
|
173
|
+
/**
|
|
174
|
+
* app 根目录绝对路径(CHANGELOG.md 所在目录)
|
|
175
|
+
*/
|
|
176
|
+
rootDir: string;
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* 扫描仓库内的鸿蒙 app 逻辑包
|
|
180
|
+
*
|
|
181
|
+
* 以含顶层 name + version 的根 oh-package.json5 为锚点记为一个逻辑包;
|
|
182
|
+
* entry/oh-package.json5(通常 name="entry")会被排除,避免重复——
|
|
183
|
+
* 它由所属根 app 聚合处理。
|
|
184
|
+
*
|
|
185
|
+
* 判定是否为 entry 子包:文件路径形如 .../entry/oh-package.json5,跳过。
|
|
186
|
+
*
|
|
187
|
+
* @param rootDir - 仓库根绝对路径
|
|
188
|
+
* @param ignore - 忽略的 glob 列表
|
|
189
|
+
* @returns 鸿蒙 app 逻辑包清单
|
|
190
|
+
*/
|
|
191
|
+
declare const scanHarmonyPackages: (rootDir: string, ignore?: string[]) => Promise<HarmonyPackage[]>;
|
|
192
|
+
//#endregion
|
|
193
|
+
//#region src/utils/ignore-paths.utils.d.ts
|
|
194
|
+
/**
|
|
195
|
+
* changelog 扫描的忽略路径解析
|
|
196
|
+
*
|
|
197
|
+
* 自 dev-tools apps/cli 的 utils/version-manifest.utils.ts 迁入裁剪
|
|
198
|
+
* (ADR 0095)——仅保留 changelog 盖章发现所需的默认忽略集与合并逻辑;
|
|
199
|
+
* version sync 专用类型(VersionedManifest / FileChange 等)仍留 dev-tools。
|
|
200
|
+
*/
|
|
201
|
+
/**
|
|
202
|
+
* 默认忽略的路径 glob(相对仓库根)
|
|
203
|
+
*
|
|
204
|
+
* 覆盖各生态的依赖目录与构建产物目录:
|
|
205
|
+
*
|
|
206
|
+
* - node_modules / oh_modules:npm 与鸿蒙依赖
|
|
207
|
+
* - target:rust 构建产物
|
|
208
|
+
* - dist / build / .turbo:通用构建产物与缓存
|
|
209
|
+
*/
|
|
210
|
+
declare const DEFAULT_IGNORE_PATHS: string[];
|
|
211
|
+
/**
|
|
212
|
+
* 合并默认忽略路径与配置追加的忽略路径
|
|
213
|
+
*
|
|
214
|
+
* 配置缺省时仅使用默认列表,保证纯 npm 仓库行为不变。
|
|
215
|
+
* 配置来源:legacy 回退命中 lzi-dev.config.ts 时取其 versionSync.ignorePaths
|
|
216
|
+
* (与迁移前行为一致,version 域与 changelog 扫描共用同一份配置)。
|
|
217
|
+
*
|
|
218
|
+
* @param configIgnore - 配置中追加的忽略路径(可选)
|
|
219
|
+
* @returns 合并后的忽略路径列表
|
|
220
|
+
*/
|
|
221
|
+
declare const resolveIgnorePaths: (configIgnore?: string[]) => string[];
|
|
222
|
+
//#endregion
|
|
223
|
+
export { COLORS, DEFAULT_IGNORE_PATHS, type HarmonyPackage, type LogOptions, generateSyncEntry, hasUnreleasedChanges, insertSyncEntry, logCommand, readCargoPackage, resolveIgnorePaths, scanCargoCrates, scanHarmonyPackages, scanRustChangelogPackages, stampVersion, stderr, stdout };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import"./rolldown-runtime-BqT_7tdF.js";import{loadReleaseConfig as e}from"@longzai-intelligence-release/config";import{normalizePublishTracks as t,readPackageJson as n,resolvePackageManifest as r,scanAllPackages as i}from"@longzai-intelligence-release/core";import{loadUnifiedConfig as a}from"@longzai-intelligence-shared-config/core";import{join as o,resolve as s}from"node:path";import{glob as c}from"tinyglobby";const l={RED:`\x1B[0;31m`,GREEN:`\x1B[0;32m`,YELLOW:`\x1B[1;33m`,BLUE:`\x1B[0;34m`,RESET:`\x1B[0m`};function u(e){return e.map(e=>{if(typeof e==`string`)return e;if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}).join(` `)}function d(...e){process.stdout.write(`${u(e)}\n`)}function f(...e){process.stderr.write(`${u(e)}\n`)}const p=[`**/node_modules/**`,`**/oh_modules/**`,`**/target/**`,`**/dist/**`,`**/build/**`,`**/.turbo/**`],m=e=>!e||e.length===0?p:[...p,...e],h=/^[ \t]*\[([^\]]+)\][ \t]*$/gm,g=/^[ \t]*version[ \t]*=[ \t]*"([^"]+)"/m,_=/^[ \t]*name[ \t]*=[ \t]*"([^"]+)"/m,v=(e,t)=>{let n=[],r=h.exec(e);for(;r!==null;)n.push({start:r.index,end:r.index+r[0].length,name:r[1]??``}),h.lastIndex=r.index+r[0].length,r=h.exec(e);let i=n.findIndex(e=>e.name===t);if(i===-1)return null;let a=n[i];if(!a)return null;let o=a.end;for(;o<e.length&&(e[o]===`
|
|
2
|
+
`||e[o]===`\r`);)o++;let s=n[i+1],c=s?s.start:e.length;return[o,c]},y=(e,t)=>{let n=v(e,t);if(!n)return null;let r=g.exec(e.slice(n[0],n[1]));return r?r[1]??null:null},b=(e,t)=>{let n=v(e,t);if(!n)return null;let r=_.exec(e.slice(n[0],n[1]));return r?r[1]??null:null},x=e=>v(e,`package`)?{name:b(e,`package`),version:y(e,`package`)}:null,S=async(e,t=[])=>{let n=await c(`**/Cargo.toml`,{cwd:e,ignore:t,onlyFiles:!0,dot:!1}),r=[];for(let t of[...n].sort()){let n=o(e,t),i=await Bun.file(n).text(),a=x(i);if(!a)continue;let c=t.replace(/Cargo\.toml$/,``);r.push({name:a.name??c.replace(/\/$/,``),path:s(o(e,c)),workspaceDeps:[]})}return r},C=async(e,t=[])=>{let n=await S(e,t),r=[];for(let e of n)await Bun.file(o(e.path,`CHANGELOG.md`)).exists()&&r.push(e);return r},w=e=>RegExp(`"${e}"[ \\t]*:[ \\t]*"([^"]*)"`),T=(e,t)=>{let n=w(t).exec(e);return n?n[1]??null:null},E=async(e,t=[])=>{let n=[],r=await c(`**/oh-package.json5`,{cwd:e,ignore:t,onlyFiles:!0,dot:!1});for(let t of r){if(`/${t}`.endsWith(`/entry/oh-package.json5`))continue;let r=`${e}/${t}`,i=await Bun.file(r).text(),a=T(i,`name`),o=T(i,`version`);a&&o&&n.push({name:a,rootDir:r.replace(/\/oh-package\.json5$/,``)})}return n},D=/^[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.]+)?$/,O=()=>{let e=/* @__PURE__ */ new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`},k=/^## (?:\[(?:Unreleased|未发布)\]|Unreleased|未发布)[ \t]*$/m,A=(e,t,n)=>{let r=k.exec(e),i;if(r)i=e.replace(r[0],`## [${t}] - ${n}`);else{let r=/^## /m.exec(e);if(r){let a=r.index,o=`## [${t}] - ${n}\n\n`;i=e.slice(0,a)+o+e.slice(a)}else i=e+`\n\n## [${t}] - ${n}\n`}return i.replace(/\n*$/,`
|
|
3
|
+
`)},j=(e,t)=>`## [${t}] - ${O()}\n\n### 变更\n\n- 升级 ${e} 至 ${t}\n`,M=async e=>{let t=o(e,`CHANGELOG.md`);return await Bun.file(t).exists()?t:null},N=e=>k.test(e),P=(e,t)=>{let n=/^## /m.exec(e);if(n){let r=n.index;return e.slice(0,r)+t+`
|
|
4
|
+
`+e.slice(r)}return e+`
|
|
5
|
+
`+t},F=async(c,l)=>{D.test(c)||(f(`错误: 无效的版本号格式 '${c}'`),f(`版本号格式应为: X.Y.Z 或 X.Y.Z-prerelease`),process.exit(1));let u=await e();u||(f(`错误: 未找到配置文件 lzi-release.config.ts 或 lzi-dev.config.ts`),process.exit(1));let p=s(u.configPath,`..`),h;if(u.source===`legacy-dev-tools`){d(`提示: 盖章声明集读取自 lzi-dev.config.ts 的 publish 字段(兼容回退;该字段仍被 version 域消费,请勿删除)。如需统一声明位可另建 lzi-release.config.ts,两处声明需保持一致(ADR 0095)`);let e=await a({standaloneFile:`lzi-dev.config.ts`,unifiedField:`devTools`});h=m(e.success?e.config.versionSync?.ignorePaths:void 0)}else h=m();let g=l?.dryRun??!1,_=O(),v=await i(p),y=[],b=t(u.config.publish?.packages);for(let e of[...b.npm,...b.local]){let t=await r(e,p,v);t||(f(`错误: 未找到包 '${e}'`),process.exit(1)),y.push(t)}let x=new Set(y.map(e=>e.path)),S=[];for(let[e,t]of v)x.has(t)||await M(t)&&S.push({name:e,path:t,workspaceDeps:[]});let w=await C(p,h);for(let e of w)x.has(e.path)||S.push(e);let T=await E(p,h);for(let e of T)x.has(e.rootDir)||await M(e.rootDir)&&S.push({name:e.name,path:e.rootDir,workspaceDeps:[]});if(!x.has(p)&&await M(p)){let e=`root`;try{let t=(await n(p)).name;typeof t==`string`&&(e=t)}catch{}S.push({name:e,path:p,workspaceDeps:[]})}if(S.length>0){d(`\n发现 ${S.length} 个拥有 CHANGELOG.md 但未在配置列表中的包:`);for(let e of S)d(` - ${e.name}`)}let k=[...y,...S];g&&d(`
|
|
6
|
+
[dry-run] 预览模式,不会实际修改文件`),d(`\n正在为 ${k.length} 个包生成 changelog...`);let F=0,I=0,L=0;for(let e of k){let t=await M(e.path);if(t){let n=await Bun.file(t).text();if(N(n)){let r=A(n,c,_);g||await Bun.write(t,r),d(` ${e.name}: 标记为 [${c}] - ${_}`),F++}else if(n.includes(`## [${c}]`))d(` ${e.name}: 已存在 [${c}] 条目,跳过`),L++;else{if(d(` ${e.name}: 无未发布变更,将生成同步条目`),!g){let r=j(e.name,c),i=P(n,r);await Bun.write(t,i)}I++}}else{let t=`# 更新日志
|
|
7
|
+
|
|
8
|
+
本项目的所有重要更改都将记录在此文件中。
|
|
9
|
+
|
|
10
|
+
格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),
|
|
11
|
+
本项目遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
|
|
12
|
+
|
|
13
|
+
`+j(e.name,c);if(!g){let n=o(e.path,`CHANGELOG.md`);await Bun.write(n,t)}d(` ${e.name}: 创建 CHANGELOG.md`),I++}}d(`
|
|
14
|
+
Changelog 生成完成`),d(`- 版本标记: ${F} 个包`),d(`- 同步条目: ${I} 个包`),L>0&&d(`- 已跳过: ${L} 个包`),S.length>0&&d(`- 自动发现: ${S.length} 个包(拥有 CHANGELOG.md 但未在配置列表中)`),l?.dryRun||(d(`
|
|
15
|
+
下一步:发布`),d(` bun release:publish`),d(`\nrelease: 更新版本至 v${c}`))};export{l as COLORS,p as DEFAULT_IGNORE_PATHS,j as generateSyncEntry,N as hasUnreleasedChanges,P as insertSyncEntry,F as logCommand,x as readCargoPackage,m as resolveIgnorePaths,S as scanCargoCrates,E as scanHarmonyPackages,C as scanRustChangelogPackages,A as stampVersion,f as stderr,d as stdout};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"node:module";export{};
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@longzai-intelligence-changelog/core",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Longzai Intelligence 变更日志业务核心实现(changelog 版本盖章、多生态包发现)",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist"
|
|
8
|
+
],
|
|
9
|
+
"type": "module",
|
|
10
|
+
"main": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"import": "./dist/index.js"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "lzi-builder",
|
|
20
|
+
"build:prod": "NODE_ENV=production bun run build",
|
|
21
|
+
"prepublishOnly": "bun run build:prod",
|
|
22
|
+
"typecheck": "bun run typecheck:app && bun run typecheck:node && bun run typecheck:test",
|
|
23
|
+
"typecheck:app": "lzi-tsgo typecheck tsconfig/app.json",
|
|
24
|
+
"typecheck:node": "lzi-tsgo typecheck tsconfig/node.json",
|
|
25
|
+
"typecheck:test": "lzi-tsgo typecheck tsconfig/test.json",
|
|
26
|
+
"lint": "oxlint && oxfmt --check",
|
|
27
|
+
"lint:fix": "oxlint --fix && oxfmt",
|
|
28
|
+
"test": "bun test",
|
|
29
|
+
"test:watch": "bun test --watch",
|
|
30
|
+
"test:coverage": "bun test --coverage",
|
|
31
|
+
"clean": "lzi-dev-cli clean"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@longzai-intelligence-release/config": "^0.0.2",
|
|
35
|
+
"@longzai-intelligence-release/core": "^0.0.2",
|
|
36
|
+
"@longzai-intelligence-shared-config/core": "^0.0.5",
|
|
37
|
+
"tinyglobby": "^0.2.17"
|
|
38
|
+
}
|
|
39
|
+
}
|