@longzai-intelligence-pendings-markdown/config 0.0.0-stage → 0.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/README.md CHANGED
@@ -1,3 +1,10 @@
1
- # Temporary Holding Version
1
+ # @longzai-intelligence-pendings-markdown/config
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ 投影工具配置真源。
4
+
5
+ ## 职责
6
+
7
+ - 结构 schema 即 `PendingsMarkdownConfigSchema`,单字段 `dataRoot`,strict 校验拒绝多余键
8
+ - `defineConfig` 工厂,缺省零参调用即 `dataRoot` 点号就地自指
9
+ - 加载器即自当前目录向上发现 `lzi-pendings-markdown.config.ts`,动态导入后经 zod 校验并按配置文件所在目录绝对化相对路径,配置文件必备
10
+ - 骨架生成即 `scaffoldConfigText`,供 `config init` 落盘 defineConfig 工厂零参标准形态
@@ -0,0 +1,67 @@
1
+ import * as z from "zod";
2
+ import { ConfigLoadErr, ConfigLoadError, ConfigLoadOk, ConfigLoadResult, ConfigLoadResult as ConfigLoadResult$1 } from "@longzai-intelligence-shared-config/core";
3
+ /**
4
+ * 配置结构即 `lzi-pendings-markdown.config.ts` 默认导出形态
5
+ */
6
+ declare const PendingsMarkdownConfigSchema: z.ZodObject<{
7
+ dataRoot: z.ZodString;
8
+ }, z.core.$strict>;
9
+ /**
10
+ * 配置类型由 schema 推断
11
+ */
12
+ type PendingsMarkdownConfig = z.infer<typeof PendingsMarkdownConfigSchema>;
13
+ /**
14
+ * 配置工厂收口类型并便于推导
15
+ *
16
+ * @remarks
17
+ * 缺省零参调用即就地自指 `dataRoot` 点号,家族统一 `defineConfig` 零参标准
18
+ * 形态见全局 ADR 0097,配置文件不放数据根时显式传参覆盖
19
+ * @param config - 配置对象,缺省为就地自指形态
20
+ * @returns 原样返回的配置
21
+ */
22
+ declare function defineConfig(config?: PendingsMarkdownConfig): PendingsMarkdownConfig;
23
+ /**
24
+ * 配置文件约定名,就地配置一律以工具命名见全局 ADR 0090
25
+ */
26
+ declare const CONFIG_FILENAME = "lzi-pendings-markdown.config.ts";
27
+ /**
28
+ * 自当前目录向上查找配置文件,显式路径存在则直接采用
29
+ *
30
+ * @param explicitPath - 显式指定的配置文件路径,可空
31
+ * @returns 命中的绝对路径,未命中为空
32
+ */
33
+ declare function discoverConfigPath(explicitPath?: string): string | undefined;
34
+ /**
35
+ * 加载并校验配置,相对路径以配置文件所在目录为基准绝对化
36
+ *
37
+ * @param explicitPath - 显式指定的配置文件路径,可空,缺省走向上发现
38
+ * @returns 成功为绝对路径形态配置与文件路径,失败为可读错误
39
+ */
40
+ declare function loadPendingsMarkdownConfig(explicitPath?: string): Promise<ConfigLoadResult$1<PendingsMarkdownConfig>>;
41
+ /**
42
+ * 配置骨架生成器即 `config init` 落盘模板
43
+ *
44
+ * @remarks
45
+ * defineConfig 工厂导出形态见全局 ADR 0097 决策 2,零参调用为标准形态即
46
+ * `dataRoot` 点号就地自指。骨架依赖目标目录已安装本 config 包,未安装处
47
+ * 生成文件不可加载属依赖就绪门已知状态沿仓族先例。源台账 data-home 属
48
+ * 跨项目路径走环境变量不入配置文件。define 工厂包装属域形态,本模块自持
49
+ * 文本生成
50
+ */
51
+ /**
52
+ * 骨架入参
53
+ */
54
+ type ScaffoldParams = {
55
+ /**
56
+ * 数据根,缺省点号即零参标准形态,显式覆盖仅用于配置文件不放数据根的场景
57
+ */
58
+ readonly dataRoot?: string;
59
+ };
60
+ /**
61
+ * 生成配置骨架文本即 defineConfig 工厂零参标准形态导出
62
+ *
63
+ * @param params - 骨架入参,`dataRoot` 可选覆盖,缺省即零参形态
64
+ * @returns `lzi-pendings-markdown.config.ts` 全文
65
+ */
66
+ declare function scaffoldConfigText(params?: ScaffoldParams): string;
67
+ export { CONFIG_FILENAME, type ConfigLoadErr, type ConfigLoadError, type ConfigLoadOk, type ConfigLoadResult, PendingsMarkdownConfig, PendingsMarkdownConfigSchema, ScaffoldParams, defineConfig, discoverConfigPath, loadPendingsMarkdownConfig, scaffoldConfigText };
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ import*as e from"zod";import{createDomainConfigLoader as t}from"@longzai-intelligence-shared-config/core";import{resolve as n}from"node:path";const r=e.strictObject({dataRoot:e.string().min(1)});function i(e={dataRoot:`.`}){return e}const a=`lzi-pendings-markdown.config.ts`,o=t({configFilename:a,schema:r,shapeHint:`dataRoot 单字段,源台账 data-home 属跨项目路径改走环境变量 LZI_PENDINGS_DATA_HOME,结构不符时可删除本文件后执行 config init 重新生成`,absolutize:(e,t)=>({...e,dataRoot:n(t,e.dataRoot)}),notFoundMessage:`配置文件必备,全局 ADR 0097 决策 9:未找到 ${a},自当前目录向上查找至文件系统根,或经 --config 显式指定,环境变量不作整体替代,环境变量仅承载源台账路径 LZI_PENDINGS_DATA_HOME`});function s(e){return o.discoverConfigPath(e)}async function c(e){return o.loadConfig(e)}function l(e={}){return[`// lzi-pendings-markdown 就地配置(以工具命名,全局 ADR 0090;defineConfig 工厂收口,全局 ADR 0097 决策 2)。`,`// 相对路径以本文件所在目录为基准——放在数据根时工厂默认 dataRoot "."(零参调用即可)。`,`// 源台账 data-home 走 LZI_PENDINGS_DATA_HOME(跨项目路径零进入库配置,全局 ADR 0097 决策 5)。`,`import { defineConfig } from '@longzai-intelligence-pendings-markdown/config';`,``,e.dataRoot===void 0||e.dataRoot===`.`?`export default defineConfig();`:`export default defineConfig({ dataRoot: '${e.dataRoot}' });`,``].join(`
2
+ `)}export{a as CONFIG_FILENAME,r as PendingsMarkdownConfigSchema,i as defineConfig,s as discoverConfigPath,c as loadPendingsMarkdownConfig,l as scaffoldConfigText};
package/package.json CHANGED
@@ -1,6 +1,42 @@
1
1
  {
2
2
  "name": "@longzai-intelligence-pendings-markdown/config",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.0.2",
4
+ "description": "Longzai Intelligence pendings markdown config - 投影工具配置真源,结构 schema 与向上发现加载器",
5
+ "keywords": [
6
+ "config",
7
+ "longzai-intelligence",
8
+ "pendings-markdown"
9
+ ],
10
+ "license": "UNLICENSED",
11
+ "files": [
12
+ "dist"
13
+ ],
14
+ "type": "module",
15
+ "main": "./dist/index.js",
16
+ "types": "./dist/index.d.ts",
17
+ "exports": {
18
+ ".": {
19
+ "types": "./dist/index.d.ts",
20
+ "import": "./dist/index.js"
21
+ }
22
+ },
23
+ "scripts": {
24
+ "build": "lzi-builder",
25
+ "build:prod": "NODE_ENV=production lzi-builder",
26
+ "prepublishOnly": "bun run build:prod",
27
+ "typecheck": "bun run typecheck:app && bun run typecheck:node && bun run typecheck:test",
28
+ "typecheck:app": "lzi-tsgo typecheck tsconfig/app.json",
29
+ "typecheck:node": "lzi-tsgo typecheck tsconfig/node.json",
30
+ "typecheck:test": "lzi-tsgo typecheck tsconfig/test.json",
31
+ "lint": "oxlint && oxfmt --check",
32
+ "lint:fix": "oxlint --fix && oxfmt",
33
+ "test": "lzi-bun test",
34
+ "test:watch": "lzi-bun test --watch",
35
+ "test:coverage": "lzi-bun test --coverage",
36
+ "clean": "lzi-dev-tools clean"
37
+ },
38
+ "dependencies": {
39
+ "@longzai-intelligence-shared-config/core": "^0.0.10",
40
+ "zod": "^4.6.5"
41
+ }
42
+ }