diff --git a/buildin/dm/package.json b/buildin/dm/package.json index 7e84764..60bc955 100644 --- a/buildin/dm/package.json +++ b/buildin/dm/package.json @@ -1,17 +1,20 @@ -{ - "name": "dm", - "version": "0.0.1", - "private": true, - "type": "module", - "bin": { - "dm": "dist/index.mjs" - }, - "scripts": { - "start": "bun run src/index.ts", - "build": "tsdown --env.NODE_ENV=production" - }, - "dependencies": { - "cac": "catalog:", - "tsdown": "catalog:" - } +{ + "name": "dm", + "version": "0.0.1", + "private": true, + "type": "module", + "bin": { + "dm": "dist/index.mjs" + }, + "scripts": { + "start": "bun run src/index.ts", + "build": "tsdown --env.NODE_ENV=production" + }, + "dependencies": { + "cac": "catalog:", + "tsdown": "catalog:" + }, + "devDependencies": { + "unconfig": "7.5.0" + } } \ No newline at end of file diff --git a/buildin/dm/src/config.ts b/buildin/dm/src/config.ts new file mode 100644 index 0000000..86897bd --- /dev/null +++ b/buildin/dm/src/config.ts @@ -0,0 +1,24 @@ +import { loadConfig as loadConfigFn } from 'unconfig' +import type { DMConfig } from './type' + +let tempConfig: Awaited>> | undefined + +export const loadConfig = async () => { + return loadConfigFn({ + sources: [ + { + files: 'dm.config', + extensions: ['ts', 'mts', 'cts', 'js', 'mjs', 'cjs', 'json', ''], + } + ], + merge: false, + }) +} + +export const getConfig = async () => { + if (!tempConfig) { + tempConfig = await loadConfig() + } + return tempConfig +} + diff --git a/buildin/dm/src/type.ts b/buildin/dm/src/type.ts new file mode 100644 index 0000000..9387d3a --- /dev/null +++ b/buildin/dm/src/type.ts @@ -0,0 +1,2 @@ + +export interface DMConfig { } \ No newline at end of file diff --git a/bun.lock b/bun.lock index ca342f4..3fafbea 100644 --- a/bun.lock +++ b/bun.lock @@ -8,7 +8,7 @@ "@changesets/cli": "^2.30.0", "@prettier/plugin-oxc": "^0.1.3", "@types/node": "^22.7.9", - "dm": "workspace:*", + "dm": "workspace", "lefthook": "^2.1.5", "oxlint": "^1.59.0", "tsdown": "^0.21.8", @@ -26,29 +26,32 @@ "cac": "catalog:", "tsdown": "catalog:", }, + "devDependencies": { + "unconfig": "7.5.0", + }, }, "packages/core": { - "name": "@dm/core", + "name": "@dm-pkg/core", "version": "0.0.1-alpha.1", }, "packages/crypto-wasm": { - "name": "@dm/crypto-wasm", + "name": "@dm-pkg/crypto-wasm", "version": "0.0.1-alpha.1", }, "packages/dx": { - "name": "@dm/dx", + "name": "@dm-pkg/dx", "version": "0.0.1-alpha.1", "dependencies": { - "@dm/core": "workspace:*", + "@dm-pkg/core": "workspace:*", }, }, "packages/example": { "name": "example", "dependencies": { - "@dm/core": "workspace:*", - "@dm/crypto-wasm": "workspace:*", - "@dm/dx": "workspace:*", - "@dm/xllm": "workspace:*", + "@dm-pkg/core": "workspace:*", + "@dm-pkg/crypto-wasm": "workspace:*", + "@dm-pkg/dx": "workspace:*", + "@dm-pkg/xllm": "workspace:*", "crypto-js": "4.2.0", "sm-crypto": "0.4.0", }, @@ -58,7 +61,7 @@ }, }, "packages/xllm": { - "name": "@dm/xllm", + "name": "@dm-pkg/xllm", "version": "0.0.1-alpha.1", }, }, @@ -113,13 +116,13 @@ "@changesets/write": ["@changesets/write@0.4.0", "https://registry.npmmirror.com/@changesets/write/-/write-0.4.0.tgz", { "dependencies": { "@changesets/types": "^6.1.0", "fs-extra": "^7.0.1", "human-id": "^4.1.1", "prettier": "^2.7.1" } }, "sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q=="], - "@dm/core": ["@dm/core@workspace:packages/core"], + "@dm-pkg/core": ["@dm-pkg/core@workspace:packages/core"], - "@dm/crypto-wasm": ["@dm/crypto-wasm@workspace:packages/crypto-wasm"], + "@dm-pkg/crypto-wasm": ["@dm-pkg/crypto-wasm@workspace:packages/crypto-wasm"], - "@dm/dx": ["@dm/dx@workspace:packages/dx"], + "@dm-pkg/dx": ["@dm-pkg/dx@workspace:packages/dx"], - "@dm/xllm": ["@dm/xllm@workspace:packages/xllm"], + "@dm-pkg/xllm": ["@dm-pkg/xllm@workspace:packages/xllm"], "@emnapi/core": ["@emnapi/core@1.9.2", "https://registry.npmmirror.com/@emnapi/core/-/core-1.9.2.tgz", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" } }, "sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA=="], @@ -397,6 +400,8 @@ "isexe": ["isexe@2.0.0", "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + "jiti": ["jiti@2.7.0", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ=="], + "js-yaml": ["js-yaml@4.1.1", "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.1.tgz", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], "jsbn": ["jsbn@1.1.0", "https://registry.npmmirror.com/jsbn/-/jsbn-1.1.0.tgz", {}, "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A=="], @@ -503,7 +508,7 @@ "prettier": ["prettier@2.8.8", "https://registry.npmmirror.com/prettier/-/prettier-2.8.8.tgz", { "bin": { "prettier": "bin-prettier.js" } }, "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="], - "quansync": ["quansync@0.2.11", "https://registry.npmmirror.com/quansync/-/quansync-0.2.11.tgz", {}, "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA=="], + "quansync": ["quansync@1.0.0", "https://registry.npmmirror.com/quansync/-/quansync-1.0.0.tgz", {}, "sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA=="], "queue-microtask": ["queue-microtask@1.2.3", "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], @@ -571,6 +576,8 @@ "typescript": ["typescript@6.0.2", "https://registry.npmmirror.com/typescript/-/typescript-6.0.2.tgz", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ=="], + "unconfig": ["unconfig@7.5.0", "", { "dependencies": { "@quansync/fs": "^1.0.0", "defu": "^6.1.4", "jiti": "^2.6.1", "quansync": "^1.0.0", "unconfig-core": "7.5.0" } }, "sha512-oi8Qy2JV4D3UQ0PsopR28CzdQ3S/5A1zwsUwp/rosSbfhJ5z7b90bIyTwi/F7hCLD4SGcZVjDzd4XoUQcEanvA=="], + "unconfig-core": ["unconfig-core@7.5.0", "https://registry.npmmirror.com/unconfig-core/-/unconfig-core-7.5.0.tgz", { "dependencies": { "@quansync/fs": "^1.0.0", "quansync": "^1.0.0" } }, "sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w=="], "undici-types": ["undici-types@6.21.0", "https://registry.npmmirror.com/undici-types/-/undici-types-6.21.0.tgz", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], @@ -597,16 +604,14 @@ "@manypkg/get-packages/fs-extra": ["fs-extra@8.1.0", "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="], - "@quansync/fs/quansync": ["quansync@1.0.0", "https://registry.npmmirror.com/quansync/-/quansync-1.0.0.tgz", {}, "sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA=="], - "micromatch/picomatch": ["picomatch@2.3.2", "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.2.tgz", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="], + "package-manager-detector/quansync": ["quansync@0.2.11", "https://registry.npmmirror.com/quansync/-/quansync-0.2.11.tgz", {}, "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA=="], + "read-yaml-file/js-yaml": ["js-yaml@3.14.2", "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.2.tgz", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="], "rolldown/@oxc-project/types": ["@oxc-project/types@0.124.0", "https://registry.npmmirror.com/@oxc-project/types/-/types-0.124.0.tgz", {}, "sha512-VBFWMTBvHxS11Z5Lvlr3IWgrwhMTXV+Md+EQF0Xf60+wAdsGFTBx7X7K/hP4pi8N7dcm1RvcHwDxZ16Qx8keUg=="], - "unconfig-core/quansync": ["quansync@1.0.0", "https://registry.npmmirror.com/quansync/-/quansync-1.0.0.tgz", {}, "sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA=="], - "read-yaml-file/js-yaml/argparse": ["argparse@1.0.10", "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], } } diff --git a/package.json b/package.json index ad045e6..6d96de3 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "dm-root", + "name": "dm-pkg-root", "private": true, "type": "module", "workspaces": [ diff --git a/packages/core/package.json b/packages/core/package.json index f9c87cd..cb8e335 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,5 +1,5 @@ { - "name": "@dm/core", + "name": "@dm-pkg/core", "type": "module", "version": "0.0.1-alpha.1", "scripts": { diff --git a/packages/core/readme.md b/packages/core/readme.md index b6b8b18..8c439c9 100644 --- a/packages/core/readme.md +++ b/packages/core/readme.md @@ -1,4 +1,4 @@ -## @dm/core +## @dm-pkg/core 代码基础包 \ No newline at end of file diff --git a/packages/crypto-wasm/package.json b/packages/crypto-wasm/package.json index e39884b..e3e3467 100644 --- a/packages/crypto-wasm/package.json +++ b/packages/crypto-wasm/package.json @@ -1,10 +1,10 @@ { - "name": "@dm/crypto-wasm", + "name": "@dm-pkg/crypto-wasm", "type": "module", "description": "SM4 encrypt/decrypt for WebAssembly (wasm-bindgen)", "version": "0.0.1-alpha.1", "scripts": { - "build": "dm wasm --cmd 'wasm-pack build --scope dm-wasm'" + "build": "dm wasm --cmd 'wasm-pack build --scope dm-pkg-wasm'" }, "files": [ "./pkg/crypto_bg.js", diff --git a/packages/dx/package.json b/packages/dx/package.json index d2e7777..1702ba2 100644 --- a/packages/dx/package.json +++ b/packages/dx/package.json @@ -1,5 +1,5 @@ { - "name": "@dm/dx", + "name": "@dm-pkg/dx", "type": "module", "version": "0.0.1-alpha.1", "scripts": { @@ -21,6 +21,6 @@ "./package.json": "./package.json" }, "dependencies": { - "@dm/core": "workspace:*" + "@dm-pkg/core": "workspace:*" } } \ No newline at end of file diff --git a/packages/dx/src/index.ts b/packages/dx/src/index.ts index 4d6bbf3..354cb07 100644 --- a/packages/dx/src/index.ts +++ b/packages/dx/src/index.ts @@ -1,3 +1,3 @@ -import fire from "@dm/core"; +import fire from "@dm-pkg/core"; export default fire diff --git a/packages/example/.env b/packages/example/.env index fb2b3df..fda0a31 100644 --- a/packages/example/.env +++ b/packages/example/.env @@ -11,6 +11,6 @@ VITE_XLLM_BASE_URL_2=https://api.deepseek.com VITE_XLLM_DEMO_IMAGE_URL= VITE_XLLM_TOOL_ERROR_STRATEGY=throw VITE_XLLM_FORCE_TOOL_FAILURE=0 -# DeepSeek 思考模式:enabled | disabled;强度 high | medium | low | max | xhigh(@dm/xllm 会映射为 high/max) +# DeepSeek 思考模式:enabled | disabled;强度 high | medium | low | max | xhigh(@dm-pkg/xllm 会映射为 high/max) VITE_XLLM_THINKING=enabled VITE_XLLM_REASONING_EFFORT=high diff --git a/packages/example/.env.example b/packages/example/.env.example index cc570c3..8ca23ff 100644 --- a/packages/example/.env.example +++ b/packages/example/.env.example @@ -9,6 +9,6 @@ VITE_XLLM_BASE_URL_2= VITE_XLLM_DEMO_IMAGE_URL= VITE_XLLM_TOOL_ERROR_STRATEGY=throw VITE_XLLM_FORCE_TOOL_FAILURE=0 -# DeepSeek 思考模式:enabled | disabled;强度 high | medium | low | max | xhigh(@dm/xllm 会映射为 high/max) +# DeepSeek 思考模式:enabled | disabled;强度 high | medium | low | max | xhigh(@dm-pkg/xllm 会映射为 high/max) VITE_XLLM_THINKING=enabled VITE_XLLM_REASONING_EFFORT=high diff --git a/packages/example/index.html b/packages/example/index.html index 465f222..ad48c18 100644 --- a/packages/example/index.html +++ b/packages/example/index.html @@ -4,7 +4,7 @@ - @dm/xllm 示例 + @dm-pkg/xllm 示例