chore: initialize bun project with dependencies

This commit is contained in:
Developer 2026-02-12 07:54:17 +00:00
parent b4e16d6515
commit ac7248ec07
6 changed files with 99 additions and 5 deletions

5
.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
node_modules/
dist/
.env
*.log
.DS_Store

20
TODO.md Normal file
View File

@ -0,0 +1,20 @@
# Receipt Printer 实施进度
## 任务列表
- [ ] Task 1: 项目初始化
- [ ] Task 2: 模板类型定义
- [ ] Task 3: YAML 模板解析器
- [ ] Task 4: Schema 提取器
- [ ] Task 5: ESC/POS 生成器
- [ ] Task 6: 打印机连接器
- [ ] Task 7: Hono HTTP 服务搭建
- [ ] Task 8: Web 界面基础
- [ ] Task 9: 加载示例模板
- [ ] Task 10: 启动脚本和 README
## 当前任务
Task 1: 项目初始化
## 已完成
(暂无)

46
bun.lock Normal file
View File

@ -0,0 +1,46 @@
{
"lockfileVersion": 1,
"configVersion": 1,
"workspaces": {
"": {
"name": "receipt-printer",
"dependencies": {
"hono": "^4.11.9",
"js-yaml": "^4.1.1",
"mustache": "^4.2.0",
},
"devDependencies": {
"@types/bun": "latest",
"@types/js-yaml": "^4.0.9",
"@types/mustache": "^4.2.6",
"bun-types": "^1.3.9",
},
"peerDependencies": {
"typescript": "^5",
},
},
},
"packages": {
"@types/bun": ["@types/bun@1.3.9", "", { "dependencies": { "bun-types": "1.3.9" } }, "sha512-KQ571yULOdWJiMH+RIWIOZ7B2RXQGpL1YQrBtLIV3FqDcCu6FsbFUBwhdKUlCKUpS3PJDsHlJ1QKlpxoVR+xtw=="],
"@types/js-yaml": ["@types/js-yaml@4.0.9", "", {}, "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg=="],
"@types/mustache": ["@types/mustache@4.2.6", "", {}, "sha512-t+8/QWTAhOFlrF1IVZqKnMRJi84EgkIK5Kh0p2JV4OLywUvCwJPFxbJAl7XAow7DVIHsF+xW9f1MVzg0L6Szjw=="],
"@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="],
"argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="],
"bun-types": ["bun-types@1.3.9", "", { "dependencies": { "@types/node": "*" } }, "sha512-+UBWWOakIP4Tswh0Bt0QD0alpTY8cb5hvgiYeWCMet9YukHbzuruIEeXC2D7nMJPB12kbh8C7XJykSexEqGKJg=="],
"hono": ["hono@4.11.9", "", {}, "sha512-Eaw2YTGM6WOxA6CXbckaEvslr2Ne4NFsKrvc0v97JD5awbmeBLO5w9Ho9L9kmKonrwF9RJlW6BxT1PVv/agBHQ=="],
"js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="],
"mustache": ["mustache@4.2.0", "", { "bin": { "mustache": "bin/mustache" } }, "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ=="],
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
"undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
}
}

View File

@ -10,14 +10,15 @@
"test": "bun test"
},
"dependencies": {
"hono": "^4.0.0",
"js-yaml": "^4.1.0",
"hono": "^4.11.9",
"js-yaml": "^4.1.1",
"mustache": "^4.2.0"
},
"devDependencies": {
"@types/bun": "latest",
"@types/js-yaml": "^4.0.9",
"@types/mustache": "^4.2.5",
"bun-types": "latest"
"@types/mustache": "^4.2.6",
"bun-types": "^1.3.9"
},
"keywords": [
"receipt",
@ -26,5 +27,9 @@
"thermal-printer",
"80mm"
],
"license": "MIT"
"license": "MIT",
"private": true,
"peerDependencies": {
"typescript": "^5"
}
}

1
src/server.ts Normal file
View File

@ -0,0 +1 @@
console.log("Hello via Bun!");

17
tsconfig.json Normal file
View File

@ -0,0 +1,17 @@
{
"compilerOptions": {
"lib": ["ESNext"],
"module": "esnext",
"target": "esnext",
"moduleResolution": "bundler",
"strict": true,
"declaration": true,
"outDir": "./dist",
"rootDir": "./src",
"esModuleInterop": true,
"skipLibCheck": true,
"allowSyntheticDefaultImports": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}