This commit is contained in:
熊潇 2025-06-06 17:00:30 +08:00
commit 55ddd8fca8
10 changed files with 3003 additions and 0 deletions

13
.cnb.yml Normal file
View File

@ -0,0 +1,13 @@
# .cnb.yml
$:
vscode:
- docker:
image: docker.cnb.cool/kevisual/dev-env:latest
services:
- vscode
- docker
imports: https://cnb.cool/kevisual/env/-/blob/main/env.yml
# 开发环境启动后会执行的任务
stages:
- name: pnpm install
script: pnpm install

68
.gitignore vendored Normal file
View File

@ -0,0 +1,68 @@
node_modules
# mac
.DS_Store
.env*
!.env*example
dist
build
logs
.turbo
pack-dist
# astro
.astro
# next
.next
# nuxt
.nuxt
# vercel
.vercel
# vuepress
.vuepress/dist
# coverage
coverage/
# typescript
*.tsbuildinfo
# debug logs
*.log
*.tmp
# vscode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
# idea
.idea
# system
Thumbs.db
ehthumbs.db
Desktop.ini
# temp files
*.tmp
*.temp
# local development
*.local
public/r
.pnpm-store
storage/

3
.npmrc Normal file
View File

@ -0,0 +1,3 @@
//npm.xiongxiao.me/:_authToken=${ME_NPM_TOKEN}
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
ignore-workspace-root-check=true

24
bun.config.mjs Normal file
View File

@ -0,0 +1,24 @@
// @ts-check
import { resolvePath } from '@kevisual/use-config/env';
import { execSync } from 'node:child_process';
const entry = 'src/index.ts';
const naming = 'app';
/**
* @type {import('bun').BuildConfig}
*/
await Bun.build({
target: 'node',
format: 'esm',
entrypoints: [resolvePath(entry, { meta: import.meta })],
outdir: resolvePath('./dist', { meta: import.meta }),
naming: {
entry: `${naming}.js`,
},
external: [],
env: 'KEVISUAL_*',
});
// const cmd = `dts -i src/index.ts -o app.d.ts`;
const cmd = `dts -i ${entry} -o ${naming}.d.ts`;
execSync(cmd, { stdio: 'inherit' });

28
kevisual.json Normal file
View File

@ -0,0 +1,28 @@
{
"sync": {
".gitignore": {
"type": "download",
"url": "https://kevisual.xiongxiao.me/root/ai/code/config/gitignore/node.txt"
},
".npmrc": {
"type": "download",
"url": "https://kevisual.xiongxiao.me/root/ai/code/config/npm/.npmrc"
},
"tsconfig.json": {
"type": "download",
"url": "https://kevisual.xiongxiao.me/root/ai/code/config/ts/backend.json"
},
"bun.config.mjs": {
"type": "download",
"url": "https://kevisual.xiongxiao.me/root/ai/code/config/bun/bun.config.mjs"
},
".cnb.yml": {
"type": "download",
"url": "https://kevisual.xiongxiao.me/root/ai/code/config/cnb/dev.yml"
},
"package.json": {
"type": "download",
"url": "https://kevisual.xiongxiao.me/root/ai/code/config/npm/back-01-base/package.json"
}
}
}

66
package.json Normal file
View File

@ -0,0 +1,66 @@
{
"name": "demo-app",
"version": "0.0.1",
"description": "",
"main": "index.js",
"basename": "/root/demo-app",
"app": {
"key": "demo-app",
"entry": "dist/app.js",
"type": "system-app",
"files": [
"dist"
]
},
"scripts": {
"dev": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 bun --watch src/dev.ts ",
"build": "rimraf dist && bun run bun.config.mjs",
"test": "tsx test/**/*.ts",
"clean": "rm -rf dist",
"pub": "npm run build && envision pack -p -u",
"cmd": "tsx cmd/index.ts "
},
"keywords": [],
"author": "abearxiong <xiongxiao@xiongxiao.me>",
"license": "MIT",
"type": "module",
"types": "types/index.d.ts",
"files": [
"dist",
"src"
],
"publishConfig": {
"access": "public"
},
"dependencies": {
"@kevisual/code-center-module": "0.0.20",
"@kevisual/router": "0.0.22",
"@kevisual/use-config": "^1.0.17",
"cookie": "^1.0.2",
"dayjs": "^1.11.13",
"formidable": "^3.5.4",
"lodash-es": "^4.17.21"
},
"devDependencies": {
"@kevisual/types": "^0.0.10",
"@kevisual/use-config": "^1.0.17",
"@types/bun": "^1.2.15",
"@types/crypto-js": "^4.2.2",
"@types/formidable": "^3.4.5",
"@types/lodash-es": "^4.17.12",
"@types/node": "^22.15.30",
"commander": "^14.0.0",
"concurrently": "^9.1.2",
"cross-env": "^7.0.3",
"inquire": "^0.4.8",
"ioredis": "^5.6.1",
"minio": "^8.0.5",
"nodemon": "^3.1.10",
"pg": "^8.16.0",
"rimraf": "^6.0.1",
"sequelize": "^6.37.7",
"tape": "^5.9.0",
"typescript": "^5.8.3"
},
"packageManager": "pnpm@10.11.1"
}

2760
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

0
readme.md Normal file
View File

23
src/minio-listen/minio.ts Normal file
View File

@ -0,0 +1,23 @@
import { Client } from 'minio';
const minioClient = new Client({
endPoint: 'localhost',
port: 9000,
useSSL: false,
accessKey: 'admin',
secretKey: 'admin123',
});
// 监听事件
const listen = async () => {
const res = minioClient.listenBucketNotification('mark', 'common', '.md', [
's3:ObjectCreated:*', // 监听所有对象创建事件
// delete
's3:ObjectRemoved:*',
]);
res.on('notification', (event) => {
console.log(event);
});
// const res = await minioClient.getBucketNotification('mark');
// console.log(res);
};
listen();

18
tsconfig.json Normal file
View File

@ -0,0 +1,18 @@
{
"extends": "@kevisual/types/json/backend.json",
"compilerOptions": {
"baseUrl": ".",
"typeRoots": [
"./node_modules/@types",
"./node_modules/@kevisual"
],
"paths": {
"@/*": [
"src/*"
]
},
},
"include": [
"src/**/*",
],
}