{"_id":"@athendrakomin/developer-toolkit-core","_rev":"3-094ca3f8822b29b193d7df75e4c66e02","name":"@athendrakomin/developer-toolkit-core","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@athendrakomin/developer-toolkit-core","version":"1.0.0","keywords":["developer-toolkit","typescript","react","nodejs","fullstack","utilities"],"author":{"name":"Developer Toolkit Team"},"license":"MIT","_id":"@athendrakomin/developer-toolkit-core@1.0.0","maintainers":[{"name":"yefeng756","email":"athendrakomin@proton.me"},{"name":"jinyang756","email":"guanyu432hz@gmail.com"}],"dist":{"shasum":"b20a5bb7ffd5b9760c9ed518add181b674573bcb","tarball":"https://registry.npmjs.org/@athendrakomin/developer-toolkit-core/-/developer-toolkit-core-1.0.0.tgz","fileCount":8,"integrity":"sha512-r10oAiP2OcH+Iri+C9Xxa0fkuQkJN9iFodnW9u7735FpJ45hcQzLqguknz+9DEwm7NBgZ66AUVXFZQAveqNmbA==","signatures":[{"sig":"MEQCIDLE7Xip8Hwb2s5fiUqjYFe2KXAzep8dcWCeuW7sl1ckAiBm0YhFdgIjH4JYBSJ4kMnD4abK7y8DLDCKZ4vXyAjDYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36424},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.14.0"},"gitHead":"4b21c6821d64ba8af615d5c6471c192424787197","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"jinyang756","email":"guanyu432hz@gmail.com"},"_npmVersion":"11.6.4","description":"Core utilities and configurations for Developer Toolkit projects","directories":{},"_nodeVersion":"20.17.0","dependencies":{"zod":"^3.22.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","eslint":"^8.56.0","typescript":"^5.3.3","@types/node":"^20.10.4"},"_npmOperationalInternal":{"tmp":"tmp/developer-toolkit-core_1.0.0_1766227831846_0.3140071126171444","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@athendrakomin/developer-toolkit-core","version":"1.0.1","keywords":["developer-toolkit","typescript","react","nodejs","fullstack","utilities"],"author":{"name":"Developer Toolkit Team"},"license":"MIT","_id":"@athendrakomin/developer-toolkit-core@1.0.1","maintainers":[{"name":"yefeng756","email":"athendrakomin@proton.me"},{"name":"jinyang756","email":"guanyu432hz@gmail.com"}],"dist":{"shasum":"fcb49c9206bb2e1342760e5334757ee54b8a32d2","tarball":"https://registry.npmjs.org/@athendrakomin/developer-toolkit-core/-/developer-toolkit-core-1.0.1.tgz","fileCount":8,"integrity":"sha512-Fazj6AQtr35p72w6dnaY53Hwgkv9G6mQNJWkWDowWpEY7juCMd8SrUHVmqKwICVghypIrXn0ogucigCZFGIhnw==","signatures":[{"sig":"MEUCIQCB7a4K22WIMT+m6xc/QVP89P/EaJxhyVO4COcE/m/N6wIgKEamtCjMePACpXdsLCsb1wAVQ2X11H7Lnslx62fSjnc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36424},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.14.0"},"gitHead":"4b21c6821d64ba8af615d5c6471c192424787197","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"jinyang756","email":"guanyu432hz@gmail.com"},"_npmVersion":"11.6.4","description":"Core utilities and configurations for Developer Toolkit projects","directories":{},"_nodeVersion":"20.17.0","dependencies":{"zod":"^3.22.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.0.1","eslint":"^8.56.0","typescript":"^5.3.3","@types/node":"^20.10.4"},"_npmOperationalInternal":{"tmp":"tmp/developer-toolkit-core_1.0.1_1766228367908_0.9815417061432283","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@athendrakomin/developer-toolkit-core","version":"1.0.2","description":"Fullstack Developer Toolkit with backend, frontend, and DevOps utilities for modern web development","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","scripts":{"build":"tsup","dev":"tsup --watch","test":"jest","lint":"eslint src/**/*.ts","prepublishOnly":"npm run build"},"keywords":["developer-toolkit","fullstack","typescript","react","nodejs","express","prisma","docker","utilities","components","hooks","middleware"],"author":{"name":"Developer Toolkit Team"},"license":"MIT","devDependencies":{"@types/bcrypt":"^5.0.2","@types/compression":"^1.7.5","@types/cors":"^2.8.17","@types/express":"^4.17.21","@types/helmet":"^4.0.0","@types/jsonwebtoken":"^9.0.10","@types/morgan":"^1.9.9","@types/node":"^20.10.4","@types/react":"^18.2.45","@types/react-dom":"^18.2.18","eslint":"^8.56.0","jest":"^29.7.0","tsup":"^8.0.1","typescript":"^5.3.3"},"dependencies":{"@prisma/client":"^5.22.0","bcrypt":"^5.1.1","compression":"^1.8.1","cors":"^2.8.5","dotenv":"^16.6.1","express":"^4.22.1","express-rate-limit":"^7.5.1","helmet":"^7.2.0","jsonwebtoken":"^9.0.3","morgan":"^1.10.1","react":"^18.3.1","react-dom":"^18.3.1","zod":"^3.22.4"},"engines":{"node":">=16.14.0"},"publishConfig":{"access":"public"},"gitHead":"e60606d49807fd6d6830def4eefaa5b5fe9c7160","_id":"@athendrakomin/developer-toolkit-core@1.0.2","_nodeVersion":"20.17.0","_npmVersion":"11.6.4","dist":{"integrity":"sha512-0d4tmdc3E+82GUdS6+ASq/febz38dI62jDHas0hiEX2u+LfD0eFIpIJRFqlZAghiw3+qVEDBp84RnD3b8wFwWA==","shasum":"a489041e893999d8ec1cfb66f70ce5d17a0027b0","tarball":"https://registry.npmjs.org/@athendrakomin/developer-toolkit-core/-/developer-toolkit-core-1.0.2.tgz","fileCount":8,"unpackedSize":132363,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEMCHzQhk7IRemZUH+YfRMGm9gb3C1p6PZREU32/qi84TB4CIFwIbg5BnbzWQMESEDEU1hOnnAxc7iZyfDINzbc7hF1u"}]},"_npmUser":{"name":"jinyang756","email":"guanyu432hz@gmail.com"},"directories":{},"maintainers":[{"name":"yefeng756","email":"athendrakomin@proton.me"},{"name":"jinyang756","email":"guanyu432hz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/developer-toolkit-core_1.0.2_1766232678600_0.18698794357166437"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-20T10:50:31.715Z","modified":"2025-12-20T12:11:18.970Z","1.0.0":"2025-12-20T10:50:32.032Z","1.0.1":"2025-12-20T10:59:28.088Z","1.0.2":"2025-12-20T12:11:18.731Z"},"author":{"name":"Developer Toolkit Team"},"license":"MIT","keywords":["developer-toolkit","fullstack","typescript","react","nodejs","express","prisma","docker","utilities","components","hooks","middleware"],"description":"Fullstack Developer Toolkit with backend, frontend, and DevOps utilities for modern web development","maintainers":[{"name":"yefeng756","email":"athendrakomin@proton.me"},{"name":"jinyang756","email":"guanyu432hz@gmail.com"}],"readme":"# @athendrakomin/developer-toolkit-core\r\n\r\nFullstack Developer Toolkit 是一个全面的全栈开发工具包，包含了现代 Web 开发中前后端所需的工具函数、配置和组件。\r\n\r\n## 🚀 特性\r\n\r\n- **验证工具**: 基于 Zod 的常用数据验证函数\r\n- **HTTP 客户端**: 简化的 HTTP 请求工具\r\n- **API 配置**: 环境感知的 API 配置管理\r\n- **类型定义**: 常用的 TypeScript 类型定义\r\n- **后端工具**: Express.js 服务器、中间件、认证和数据库工具\r\n- **前端工具**: React hooks、组件和HTTP客户端\r\n- **DevOps工具**: Docker配置、部署脚本和环境管理\r\n- **零依赖**: 除了 Zod 外无其他依赖\r\n- **Tree-shaking**: 支持按需引入\r\n\r\n## 📦 安装\r\n\r\n```bash\r\nnpm install @athendrakomin/developer-toolkit-core\r\n```\r\n\r\n## 🛠️ 使用方法\r\n\r\n### 验证工具\r\n\r\n```typescript\r\nimport { validateEmail, validatePassword } from '@athendrakomin/developer-toolkit-core';\r\n\r\nconst isValidEmail = validateEmail('user@example.com');\r\nconst isValidPassword = validatePassword('MyPassword123');\r\n```\r\n\r\n### HTTP 客户端\r\n\r\n```typescript\r\nimport { httpGet, httpPost } from '@athendrakomin/developer-toolkit-core';\r\n\r\n// GET 请求\r\nconst users = await httpGet('/api/users');\r\n\r\n// POST 请求\r\nconst newUser = await httpPost('/api/users', {\r\n  username: 'john_doe',\r\n  email: 'john@example.com'\r\n});\r\n```\r\n\r\n### API 配置\r\n\r\n```typescript\r\nimport { getCurrentApiConfig } from '@athendrakomin/developer-toolkit-core';\r\n\r\nconst config = getCurrentApiConfig();\r\nconsole.log(config.baseUrl); // 根据环境返回相应的 base URL\r\n```\r\n\r\n### 类型定义\r\n\r\n```typescript\r\nimport type { User, ApiResponse } from '@athendrakomin/developer-toolkit-core';\r\n\r\nconst user: User = {\r\n  id: '1',\r\n  username: 'john_doe',\r\n  email: 'john@example.com',\r\n  createdAt: '2023-01-01T00:00:00Z',\r\n  updatedAt: '2023-01-01T00:00:00Z'\r\n};\r\n```\r\n\r\n### 后端服务器\r\n\r\n```typescript\r\nimport { createServer } from '@athendrakomin/developer-toolkit-core';\r\n\r\nconst { app, start } = createServer({\r\n  port: 3000,\r\n  enableHelmet: true,\r\n  enableCompression: true\r\n});\r\n\r\napp.get('/api/hello', (req, res) => {\r\n  res.json({ message: 'Hello World!' });\r\n});\r\n\r\nstart();\r\n```\r\n\r\n### 前端React组件\r\n\r\n```tsx\r\nimport { Button, Card } from '@athendrakomin/developer-toolkit-core';\r\n\r\nfunction App() {\r\n  return (\r\n    <Card title=\"Welcome\">\r\n      <p>This is a sample card component</p>\r\n      <Button variant=\"primary\">Click me</Button>\r\n    </Card>\r\n  );\r\n}\r\n```\r\n\r\n### DevOps工具\r\n\r\n```typescript\r\nimport { generateDockerCompose } from '@athendrakomin/developer-toolkit-core';\r\n\r\nconst composeConfig = generateDockerCompose({\r\n  web: {\r\n    image: 'myapp:latest',\r\n    ports: ['3000:3000'],\r\n    environment: {\r\n      NODE_ENV: 'production'\r\n    }\r\n  }\r\n});\r\n\r\nconsole.log(JSON.stringify(composeConfig, null, 2));\r\n```\r\n\r\n## 📁 包含的模块\r\n\r\n1. **验证工具** (`utils/validation`)\r\n   - 邮箱、密码、手机号、用户名、URL 验证\r\n   \r\n2. **HTTP 客户端** (`utils/http`)\r\n   - 封装的 fetch API，支持超时控制\r\n   \r\n3. **API 配置** (`config/api`)\r\n   - 环境相关的 API 配置管理\r\n   \r\n4. **类型定义** (`types`)\r\n   - 常用的 TypeScript 接口和枚举\r\n   \r\n5. **后端工具** (`backend`)\r\n   - Express.js 服务器配置\r\n   - 认证和授权中间件\r\n   - 数据库工具 (Prisma)\r\n   - 错误处理工具\r\n   \r\n6. **前端工具** (`frontend`)\r\n   - React hooks (状态管理、表单处理、API调用等)\r\n   - UI 组件 (Button, Card, Input, Alert)\r\n   - HTTP 客户端\r\n   \r\n7. **DevOps工具** (`devops`)\r\n   - Docker 配置生成器\r\n   - 部署脚本生成器\r\n   - 环境变量管理\r\n\r\n## 🚀 发布到 npm\r\n\r\n### 自动化发布\r\n\r\n项目包含了两个发布脚本，可根据您的操作系统选择：\r\n\r\n```bash\r\n# Linux/macOS\r\n./publish.sh\r\n\r\n# Windows\r\n./publish.ps1\r\n```\r\n\r\n### 手动发布步骤\r\n\r\n1. 确保已登录到 npm：\r\n   ```bash\r\n   npm login\r\n   ```\r\n\r\n2. 运行测试和构建：\r\n   ```bash\r\n   npm test\r\n   npm run build\r\n   ```\r\n\r\n3. 预发布检查：\r\n   ```bash\r\n   npm pack\r\n   ```\r\n\r\n4. 发布包：\r\n   ```bash\r\n   npm publish --access public\r\n   ```\r\n\r\n## 📄 许可证\r\n\r\nMIT","readmeFilename":"README.md"}