node-karin 1.4.4 → 1.4.6
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 +20 -0
- package/dist/index.js +82 -27
- package/dist/web/assets/accordion-WcIxaDrl.js.gz +0 -0
- package/dist/web/assets/adapter-DzU6Wpx4.js.gz +0 -0
- package/dist/web/assets/chunk-RRTOIK23-fsTTpjyI.js.gz +0 -0
- package/dist/web/assets/config-B2KZ9O07.js.gz +0 -0
- package/dist/web/assets/cssMode-ChGt83N8.js.gz +0 -0
- package/dist/web/assets/env-c4IZKIKV.js.gz +0 -0
- package/dist/web/assets/freemarker2-BNBpU3O_.js.gz +0 -0
- package/dist/web/assets/group-BaYheir2.js.gz +0 -0
- package/dist/web/assets/handlebars-Bv2olmjh.js.gz +0 -0
- package/dist/web/assets/html-DjLQ648n.js.gz +0 -0
- package/dist/web/assets/htmlMode-Byp7JxLp.js.gz +0 -0
- package/dist/web/assets/index-6g1t6wsY.js.gz +0 -0
- package/dist/web/assets/index-BNXr-pbF.js +1 -0
- package/dist/web/assets/index-DWfBbs41.css.gz +0 -0
- package/dist/web/assets/index-D_n2vAEv.js +1 -0
- package/dist/web/assets/inputGroup-C_Bk3Tb7.js.gz +0 -0
- package/dist/web/assets/javascript-DIcV_b8v.js.gz +0 -0
- package/dist/web/assets/jsonMode-BnaGNeov.js.gz +0 -0
- package/dist/web/assets/liquid-DRJzYgUL.js.gz +0 -0
- package/dist/web/assets/mdx-CEbFzt-5.js.gz +0 -0
- package/dist/web/assets/pm2-BzxD3Siq.js.gz +0 -0
- package/dist/web/assets/private-Di4GsKD4.js.gz +0 -0
- package/dist/web/assets/python-D8pPp5aY.js.gz +0 -0
- package/dist/web/assets/razor-BJvqJmeL.js.gz +0 -0
- package/dist/web/assets/redis-XfDSlPuL.js.gz +0 -0
- package/dist/web/assets/render-DbwgxT-M.js.gz +0 -0
- package/dist/web/assets/{save-Dx1lPS63.js → save-C0_Ql9-S.js} +1 -1
- package/dist/web/assets/ts.worker-Bd4z-OY3.js.gz +0 -0
- package/dist/web/assets/tsMode-BuTe04cn.js.gz +0 -0
- package/dist/web/assets/typescript-DOPOfZDy.js.gz +0 -0
- package/dist/web/assets/xml-Da3poBCM.js.gz +0 -0
- package/dist/web/assets/yaml-BFBel0xv.js.gz +0 -0
- package/dist/web/index.html +2 -2
- package/package.json +3 -2
- package/README.md +0 -32
- package/dist/web/assets/accordion-BhBCtiZR.js.gz +0 -0
- package/dist/web/assets/adapter-CGtD5Tw3.js.gz +0 -0
- package/dist/web/assets/chunk-DYRPAKRC-DeuHBw_f.js.gz +0 -0
- package/dist/web/assets/config-CkQRScTZ.js.gz +0 -0
- package/dist/web/assets/cssMode-8ts6dBRV.js.gz +0 -0
- package/dist/web/assets/env-wZ2sKmlY.js.gz +0 -0
- package/dist/web/assets/freemarker2-gNUqpXqC.js.gz +0 -0
- package/dist/web/assets/group-DRPfQFtH.js.gz +0 -0
- package/dist/web/assets/handlebars-DX_B0Cku.js.gz +0 -0
- package/dist/web/assets/html-BJKwo2zJ.js.gz +0 -0
- package/dist/web/assets/htmlMode-C0077gvn.js.gz +0 -0
- package/dist/web/assets/index-BUa4ALoK.js.gz +0 -0
- package/dist/web/assets/index-C6tAGsOw.css.gz +0 -0
- package/dist/web/assets/index-Ce8lPojj.js +0 -1
- package/dist/web/assets/index-DPfmHo7T.js +0 -1
- package/dist/web/assets/inputGroup-Bg_rsnGa.js.gz +0 -0
- package/dist/web/assets/javascript-DfqaLX24.js.gz +0 -0
- package/dist/web/assets/jsonMode-CZa3Stm-.js.gz +0 -0
- package/dist/web/assets/liquid-BvlhGgS3.js.gz +0 -0
- package/dist/web/assets/mdx-BezXvOGD.js.gz +0 -0
- package/dist/web/assets/pm2-K5Gvweym.js.gz +0 -0
- package/dist/web/assets/private-X2NQ2SQq.js.gz +0 -0
- package/dist/web/assets/python-C-U9boZt.js.gz +0 -0
- package/dist/web/assets/razor-DYM9qZgB.js.gz +0 -0
- package/dist/web/assets/redis-UY8njLdm.js.gz +0 -0
- package/dist/web/assets/render-DwJewMCZ.js.gz +0 -0
- package/dist/web/assets/ts.worker-B_RpyLgm.js.gz +0 -0
- package/dist/web/assets/tsMode-DFufUyPt.js.gz +0 -0
- package/dist/web/assets/typescript-8R4Hu1U0.js.gz +0 -0
- package/dist/web/assets/xml-CkFBdr9x.js.gz +0 -0
- package/dist/web/assets/yaml--YMJHn2d.js.gz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# 更新日志
|
|
2
2
|
|
|
3
|
+
## [1.4.6](https://github.com/KarinJS/Karin/compare/core-v1.4.5...core-v1.4.6) (2025-03-05)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### 🐛 Bug Fixes
|
|
7
|
+
|
|
8
|
+
* 修复插件页面跳转 修复web在夜间模式下某些样式问题 ([aa8734e](https://github.com/KarinJS/Karin/commit/aa8734e74d064a86b88256c53768dfaae9bdf70a))
|
|
9
|
+
* 实时日志 ([d3512b2](https://github.com/KarinJS/Karin/commit/d3512b20ea08e348390f7fbfde0046e133595a14))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### 💄 Styles
|
|
13
|
+
|
|
14
|
+
* tabs ([9369507](https://github.com/KarinJS/Karin/commit/9369507dc16a561fa69eafd95af07c62bfc6dce9))
|
|
15
|
+
|
|
16
|
+
## [1.4.5](https://github.com/KarinJS/Karin/compare/core-v1.4.4...core-v1.4.5) (2025-03-04)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### 🐛 Bug Fixes
|
|
20
|
+
|
|
21
|
+
* pub error ([0bfc6dc](https://github.com/KarinJS/Karin/commit/0bfc6dcb4603f4002b1b90400a6e8fd2e68f34ba))
|
|
22
|
+
|
|
3
23
|
## [1.4.4](https://github.com/KarinJS/Karin/compare/core-v1.4.3...core-v1.4.4) (2025-03-04)
|
|
4
24
|
|
|
5
25
|
|
package/dist/index.js
CHANGED
|
@@ -14,9 +14,9 @@ var __export = (target, all) => {
|
|
|
14
14
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
-
// ../../node_modules/.pnpm/tsup@8.
|
|
17
|
+
// ../../node_modules/.pnpm/tsup@8.4.0_tsx@4.19.3_typescript@5.7.3/node_modules/tsup/assets/esm_shims.js
|
|
18
18
|
var init_esm_shims = __esm({
|
|
19
|
-
"../../node_modules/.pnpm/tsup@8.
|
|
19
|
+
"../../node_modules/.pnpm/tsup@8.4.0_tsx@4.19.3_typescript@5.7.3/node_modules/tsup/assets/esm_shims.js"() {
|
|
20
20
|
"use strict";
|
|
21
21
|
}
|
|
22
22
|
});
|
|
@@ -2213,20 +2213,26 @@ var init_env2 = __esm({
|
|
|
2213
2213
|
obj[index4] = line;
|
|
2214
2214
|
});
|
|
2215
2215
|
lines.forEach((line, index4) => {
|
|
2216
|
+
var _a;
|
|
2216
2217
|
if (!line.includes("=")) return;
|
|
2217
2218
|
let comment2 = "";
|
|
2218
2219
|
let [key, value] = line.split("=").map((item) => item.trim());
|
|
2219
2220
|
if (value.includes("#")) {
|
|
2220
|
-
const
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
comment2 =
|
|
2221
|
+
const data = value.match(/^".*"$/);
|
|
2222
|
+
if (data) {
|
|
2223
|
+
value = data[0];
|
|
2224
|
+
comment2 = value.replace(value, "") || "";
|
|
2225
|
+
} else {
|
|
2226
|
+
const arr = value.split("#").map((item) => item.trim());
|
|
2227
|
+
comment2 = arr.length > 1 ? `# ${arr[1]}` : "";
|
|
2228
|
+
value = arr[0];
|
|
2227
2229
|
}
|
|
2228
|
-
value = value.replace(/^"|"$/g, "");
|
|
2229
2230
|
}
|
|
2231
|
+
if (!comment2) {
|
|
2232
|
+
const data = (_a = obj[index4 - 1]) == null ? void 0 : _a.trim();
|
|
2233
|
+
if (data == null ? void 0 : data.startsWith("#")) comment2 = data;
|
|
2234
|
+
}
|
|
2235
|
+
value = (value == null ? void 0 : value.replace(/^"|"$/g, "")) || "";
|
|
2230
2236
|
list2.push({ key, value, comment: comment2.replace(/\\r|\\n/g, "").trim() });
|
|
2231
2237
|
});
|
|
2232
2238
|
const result = {};
|
|
@@ -2298,28 +2304,30 @@ ${key}="${value.value}"`).join("\n");
|
|
|
2298
2304
|
});
|
|
2299
2305
|
return env3;
|
|
2300
2306
|
};
|
|
2301
|
-
writeEnv = (data, cwd
|
|
2307
|
+
writeEnv = (data, cwd, isCover = false) => {
|
|
2308
|
+
if (!cwd) cwd = path7.join(process.cwd(), ".env");
|
|
2302
2309
|
const env3 = getEnv(cwd);
|
|
2310
|
+
const result = { ...env3 };
|
|
2303
2311
|
if (!Array.isArray(data)) data = [data];
|
|
2304
2312
|
data.forEach((item) => {
|
|
2305
2313
|
var _a;
|
|
2306
2314
|
const { key, value, comment: comment2 } = item;
|
|
2307
|
-
if (!key || typeof key !== "string"
|
|
2315
|
+
if (!key || typeof key !== "string") {
|
|
2308
2316
|
logger.error("[writeEnv]", "key \u5FC5\u987B\u4E3A\u5B57\u7B26\u4E32");
|
|
2309
2317
|
return;
|
|
2310
2318
|
}
|
|
2311
|
-
if (
|
|
2319
|
+
if (result[key]) {
|
|
2312
2320
|
if (!isCover) {
|
|
2313
2321
|
logger.debug(`[writeEnv] key: ${key} \u5DF2\u5B58\u5728 \u8DF3\u8FC7`);
|
|
2314
2322
|
return;
|
|
2315
2323
|
}
|
|
2316
2324
|
}
|
|
2317
|
-
|
|
2325
|
+
result[key] = {
|
|
2318
2326
|
value,
|
|
2319
|
-
comment: comment2 || ((_a =
|
|
2327
|
+
comment: comment2 || ((_a = result == null ? void 0 : result[key]) == null ? void 0 : _a.comment) || ""
|
|
2320
2328
|
};
|
|
2321
2329
|
});
|
|
2322
|
-
const content = Object.entries(
|
|
2330
|
+
const content = Object.entries(result).map(([key, value]) => {
|
|
2323
2331
|
const val = /^".*"$/.test(value.value) ? value.value : `"${value.value}"`;
|
|
2324
2332
|
if (value.comment) {
|
|
2325
2333
|
const comment2 = /^#/.test(value.comment) ? value.comment : `# ${value.comment}`;
|
|
@@ -3603,7 +3611,12 @@ var init_list = __esm({
|
|
|
3603
3611
|
await getNpmInfo(info, file, name, isForce, env3);
|
|
3604
3612
|
}
|
|
3605
3613
|
}));
|
|
3606
|
-
env3 &&
|
|
3614
|
+
if (env3 && env3.length) {
|
|
3615
|
+
logger.debug("[getPluginsInfo] \u5904\u7406\u73AF\u5883\u53D8\u91CF \u540C\u6B65\u5199\u5165", JSON.stringify(env3, null, 2));
|
|
3616
|
+
writeEnv(env3);
|
|
3617
|
+
} else {
|
|
3618
|
+
logger.debug("[getPluginsInfo] \u5904\u7406\u73AF\u5883\u53D8\u91CF \u672A\u6536\u96C6\u5230\u73AF\u5883\u53D8\u91CF \u8DF3\u8FC7\u5199\u5165");
|
|
3619
|
+
}
|
|
3607
3620
|
return info;
|
|
3608
3621
|
};
|
|
3609
3622
|
createPkg = (type, name, dir2, apps, allApps, isForce) => {
|
|
@@ -5780,7 +5793,7 @@ var init_config3 = __esm({
|
|
|
5780
5793
|
value: value.value,
|
|
5781
5794
|
comment: value.comment
|
|
5782
5795
|
}));
|
|
5783
|
-
writeEnv(result);
|
|
5796
|
+
writeEnv(result, void 0, true);
|
|
5784
5797
|
return true;
|
|
5785
5798
|
}
|
|
5786
5799
|
if (list2.includes(type)) {
|
|
@@ -5891,7 +5904,7 @@ var init_manage = __esm({
|
|
|
5891
5904
|
import fs18 from "node:fs";
|
|
5892
5905
|
import moment from "moment";
|
|
5893
5906
|
import path13 from "node:path";
|
|
5894
|
-
var logRouter, activeConnections, getLogRouter;
|
|
5907
|
+
var isStandardDate, logRouter, activeConnections, getLogRouter, getLogFileListRouter, getLogFileRouter;
|
|
5895
5908
|
var init_log = __esm({
|
|
5896
5909
|
"src/server/api/system/log.ts"() {
|
|
5897
5910
|
"use strict";
|
|
@@ -5900,6 +5913,9 @@ var init_log = __esm({
|
|
|
5900
5913
|
init_router();
|
|
5901
5914
|
init_config2();
|
|
5902
5915
|
init_response();
|
|
5916
|
+
isStandardDate = (date) => {
|
|
5917
|
+
return typeof date === "string" && /^\d{4}-\d{2}-\d{2}$/.test(date);
|
|
5918
|
+
};
|
|
5903
5919
|
logRouter = async (req, res) => {
|
|
5904
5920
|
var _a;
|
|
5905
5921
|
const level2 = (_a = req.body) == null ? void 0 : _a.level;
|
|
@@ -5908,7 +5924,7 @@ var init_log = __esm({
|
|
|
5908
5924
|
return createBadRequestResponse(res, "\u53C2\u6570\u9519\u8BEF");
|
|
5909
5925
|
}
|
|
5910
5926
|
updateLevel(level2);
|
|
5911
|
-
createSuccessResponse(res, null, "\u6210\u529F");
|
|
5927
|
+
createSuccessResponse(res, null, "\u4FEE\u6539\u6210\u529F");
|
|
5912
5928
|
};
|
|
5913
5929
|
activeConnections = 0;
|
|
5914
5930
|
getLogRouter = async (req, res) => {
|
|
@@ -5917,19 +5933,22 @@ var init_log = __esm({
|
|
|
5917
5933
|
return createBadRequestResponse(res, "\u5F53\u524D\u8FDE\u63A5\u6570\u5DF2\u8FBE\u5230\u4E0A\u9650\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5");
|
|
5918
5934
|
}
|
|
5919
5935
|
activeConnections++;
|
|
5920
|
-
const date =
|
|
5936
|
+
const date = moment();
|
|
5921
5937
|
if (!date.isValid()) {
|
|
5922
5938
|
return createBadRequestResponse(res, "\u65E5\u671F\u683C\u5F0F\u9519\u8BEF");
|
|
5923
5939
|
}
|
|
5924
5940
|
const file = path13.join(logsPath, `logger.${date.format("YYYY-MM-DD")}.log`);
|
|
5925
|
-
|
|
5926
|
-
return createBadRequestResponse(res, "\u65E5\u5FD7\u6587\u4EF6\u4E0D\u5B58\u5728");
|
|
5927
|
-
}
|
|
5928
|
-
res.setHeader("Content-Type", "text/plain; charset=utf-8");
|
|
5941
|
+
res.setHeader("Content-Type", "text/event-stream; charset=utf-8");
|
|
5929
5942
|
res.setHeader("Cache-Control", "no-cache");
|
|
5930
5943
|
res.setHeader("Connection", "keep-alive");
|
|
5931
5944
|
res.setHeader("X-Accel-Buffering", "no");
|
|
5932
5945
|
let position = 0;
|
|
5946
|
+
const isEventSource = req.headers.accept === "text/event-stream";
|
|
5947
|
+
const heartbeat = setInterval(() => {
|
|
5948
|
+
if (isEventSource) {
|
|
5949
|
+
res.write(":heartbeat\n\n");
|
|
5950
|
+
}
|
|
5951
|
+
}, 3e4);
|
|
5933
5952
|
const tailFile = () => {
|
|
5934
5953
|
fs18.stat(file, (err, stats) => {
|
|
5935
5954
|
if (err) {
|
|
@@ -5941,7 +5960,19 @@ var init_log = __esm({
|
|
|
5941
5960
|
}
|
|
5942
5961
|
if (position < stats.size) {
|
|
5943
5962
|
const stream3 = fs18.createReadStream(file, { start: position, encoding: "utf-8" });
|
|
5944
|
-
stream3.on("data", (data) =>
|
|
5963
|
+
stream3.on("data", (data) => {
|
|
5964
|
+
const lines = data.toString().split("\n");
|
|
5965
|
+
for (const line of lines) {
|
|
5966
|
+
if (isEventSource) {
|
|
5967
|
+
res.write(`data: ${line}
|
|
5968
|
+
|
|
5969
|
+
`);
|
|
5970
|
+
} else {
|
|
5971
|
+
res.write(`${line}
|
|
5972
|
+
`);
|
|
5973
|
+
}
|
|
5974
|
+
}
|
|
5975
|
+
});
|
|
5945
5976
|
stream3.on("end", () => {
|
|
5946
5977
|
position = stats.size;
|
|
5947
5978
|
});
|
|
@@ -5955,11 +5986,31 @@ var init_log = __esm({
|
|
|
5955
5986
|
const interval = setInterval(tailFile, 1e3);
|
|
5956
5987
|
req.on("close", () => {
|
|
5957
5988
|
clearInterval(interval);
|
|
5989
|
+
clearInterval(heartbeat);
|
|
5958
5990
|
activeConnections--;
|
|
5959
5991
|
});
|
|
5960
5992
|
};
|
|
5993
|
+
getLogFileListRouter = async (req, res) => {
|
|
5994
|
+
const files = fs18.readdirSync(logsPath);
|
|
5995
|
+
const logFiles = files.filter((file) => file.startsWith("logger.") && file.endsWith(".log")).map((file) => file.replace("logger.", "").replace(".log", ""));
|
|
5996
|
+
createSuccessResponse(res, logFiles, "\u6210\u529F");
|
|
5997
|
+
};
|
|
5998
|
+
getLogFileRouter = async (req, res) => {
|
|
5999
|
+
const file = req.query.file;
|
|
6000
|
+
if (!isStandardDate(file)) {
|
|
6001
|
+
return createBadRequestResponse(res, "\u65E5\u671F\u683C\u5F0F\u9519\u8BEF");
|
|
6002
|
+
}
|
|
6003
|
+
const filePath = path13.join(logsPath, `logger.${file}.log`);
|
|
6004
|
+
if (!fs18.existsSync(filePath)) {
|
|
6005
|
+
return createBadRequestResponse(res, "\u65E5\u5FD7\u6587\u4EF6\u4E0D\u5B58\u5728");
|
|
6006
|
+
}
|
|
6007
|
+
const content = fs18.readFileSync(filePath, "utf-8");
|
|
6008
|
+
createSuccessResponse(res, content, "\u6210\u529F");
|
|
6009
|
+
};
|
|
5961
6010
|
router.get("/log", getLogRouter);
|
|
5962
|
-
router.
|
|
6011
|
+
router.get("/logs/level", logRouter);
|
|
6012
|
+
router.get("/logs/list", getLogFileListRouter);
|
|
6013
|
+
router.get("/logs/file", getLogFileRouter);
|
|
5963
6014
|
}
|
|
5964
6015
|
});
|
|
5965
6016
|
|
|
@@ -10834,6 +10885,10 @@ var init_config4 = __esm({
|
|
|
10834
10885
|
init_response();
|
|
10835
10886
|
getWebConfigPathFromPkg = (pkg2, baseDir) => {
|
|
10836
10887
|
if (!pkg2.karin) return null;
|
|
10888
|
+
if (baseDir.includes("node_modules")) {
|
|
10889
|
+
if (pkg2.karin.web) return path16.join(baseDir, pkg2.karin.web);
|
|
10890
|
+
return null;
|
|
10891
|
+
}
|
|
10837
10892
|
if (isTsx() && pkg2.karin["ts-web"]) {
|
|
10838
10893
|
return path16.join(baseDir, pkg2.karin["ts-web"]);
|
|
10839
10894
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{aZ as a}from"./index-6g1t6wsY.js";var t=a;export{t as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{aZ as a}from"./index-6g1t6wsY.js";var r=a;export{r as default};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{aY as t,V as r}from"./index-6g1t6wsY.js";const n=async(e,o)=>{try{const s=await t.serverPost("/api/v1/config/new/save",{type:e,data:o});r.success(s)}catch(s){const a=s instanceof Error?s.message:"未知错误";r.error(a),console.error("保存配置出错:",s)}};export{n as s};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/web/index.html
CHANGED
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
content="viewport-fit=cover, width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"
|
|
15
15
|
name="viewport" />
|
|
16
16
|
<link href="/web/assets/favicon-BoqZd694.ico" rel="icon" />
|
|
17
|
-
<script type="module" crossorigin src="/web/assets/index-
|
|
18
|
-
<link rel="stylesheet" crossorigin href="/web/assets/index-
|
|
17
|
+
<script type="module" crossorigin src="/web/assets/index-6g1t6wsY.js"></script>
|
|
18
|
+
<link rel="stylesheet" crossorigin href="/web/assets/index-DWfBbs41.css">
|
|
19
19
|
</head>
|
|
20
20
|
|
|
21
21
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-karin",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.6",
|
|
4
4
|
"description": "Lightweight, efficient, concise, and stable robot framework.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"node",
|
|
@@ -65,6 +65,7 @@
|
|
|
65
65
|
"sort": "sort-package-json && sort-json tsconfig.json"
|
|
66
66
|
},
|
|
67
67
|
"dependencies": {
|
|
68
|
+
"@karinjs/plugin-basic": "^1.0.4",
|
|
68
69
|
"@types/express": "^4.17.21",
|
|
69
70
|
"@types/lodash": "^4.17.10",
|
|
70
71
|
"@types/node-schedule": "^2.1.7",
|
|
@@ -96,7 +97,7 @@
|
|
|
96
97
|
"access": "public",
|
|
97
98
|
"registry": "https://registry.npmjs.org"
|
|
98
99
|
},
|
|
99
|
-
"time": "2025-
|
|
100
|
+
"time": "2025-03-05",
|
|
100
101
|
"exports": {
|
|
101
102
|
".": {
|
|
102
103
|
"import": "./dist/index.js",
|
package/README.md
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-

|
|
2
|
-
|
|
3
|
-
## 项目介绍
|
|
4
|
-
|
|
5
|
-
`karin` 中译为「卡琳」,这个名字由[fuqiuluo](https://github.com/fuqiuluo)提供~
|
|
6
|
-
|
|
7
|
-
## 快速开始
|
|
8
|
-
|
|
9
|
-
[点击跳转文档](https://karin.fun/)
|
|
10
|
-
|
|
11
|
-
当前文档可能存在滞后性,正在努力更新中。
|
|
12
|
-
|
|
13
|
-
有其他问题请加群讨论: 967068507
|
|
14
|
-
|
|
15
|
-
## 温馨提示
|
|
16
|
-
|
|
17
|
-
当前`1.0.0`仍处于测试阶段,欢迎大家提出宝贵意见,我们会尽快修复。
|
|
18
|
-
|
|
19
|
-
## 鸣谢
|
|
20
|
-
|
|
21
|
-
- webui: [bietiaop](https://github.com/bietiaop)
|
|
22
|
-
- docs: [ikenxuan](https://github.com/ikenxuan)
|
|
23
|
-
|
|
24
|
-
> ps: 感谢两位大佬~
|
|
25
|
-
|
|
26
|
-
### 贡献者
|
|
27
|
-
|
|
28
|
-
> 🌟 星光闪烁,你们的智慧如同璀璨的夜空。感谢所有为**Karin**做出贡献的人!
|
|
29
|
-
|
|
30
|
-
[](https://github.com/KarinJS/Karin/graphs/contributors)
|
|
31
|
-
|
|
32
|
-

|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{aX as a}from"./index-BUa4ALoK.js";var r=a;export{r as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{aX as a}from"./index-BUa4ALoK.js";var t=a;export{t as default};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|