chore(ruvbot): Add ESM tsconfig and package updates

- Added tsconfig.esm.json for ESM build
- Updated package.json and tsconfig.json

https://claude.ai/code/session_01GGEDq3rjDELfBzhn9u5fTo
This commit is contained in:
Claude 2026-01-27 04:33:33 +00:00
parent e307e0c25a
commit f2a5351f41
3 changed files with 89 additions and 144 deletions

View file

@ -1,161 +1,111 @@
{
"name": "@ruvector/ruvbot",
"version": "0.1.0",
"description": "Self-learning AI assistant bot with WASM embeddings, vector memory, and multi-platform integrations",
"description": "Clawdbot-style personal AI assistant with RuVector backend - persistent memory, multi-tenancy, self-learning",
"main": "dist/index.js",
"module": "dist/index.mjs",
"module": "dist/esm/index.js",
"types": "dist/index.d.ts",
"type": "module",
"bin": {
"ruvbot": "./bin/cli.js"
},
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs",
"require": "./dist/index.js"
"import": {
"types": "./dist/esm/index.d.ts",
"default": "./dist/esm/index.js"
},
"require": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
},
"./core": {
"types": "./dist/core/index.d.ts",
"import": "./dist/core/index.mjs",
"import": "./dist/esm/core/index.js",
"require": "./dist/core/index.js"
},
"./integrations/slack": {
"import": "./dist/esm/integration/slack/index.js",
"require": "./dist/integration/slack/index.js"
},
"./integrations/webhooks": {
"import": "./dist/esm/integration/webhooks/index.js",
"require": "./dist/integration/webhooks/index.js"
},
"./learning": {
"types": "./dist/learning/index.d.ts",
"import": "./dist/learning/index.mjs",
"import": "./dist/esm/learning/index.js",
"require": "./dist/learning/index.js"
},
"./skills": {
"types": "./dist/skills/index.d.ts",
"import": "./dist/skills/index.mjs",
"require": "./dist/skills/index.js"
},
"./integrations": {
"types": "./dist/integrations/index.d.ts",
"import": "./dist/integrations/index.mjs",
"require": "./dist/integrations/index.js"
},
"./api": {
"types": "./dist/api/index.d.ts",
"import": "./dist/api/index.mjs",
"require": "./dist/api/index.js"
}
},
"files": [
"dist",
"bin",
"scripts",
"README.md"
],
"scripts": {
"build": "tsup",
"build:watch": "tsup --watch",
"dev": "tsx watch src/cli/index.ts",
"start": "node dist/cli/index.js",
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
"test:unit": "vitest run tests/unit",
"test:integration": "vitest run tests/integration",
"test:e2e": "vitest run tests/e2e",
"build": "npm run build:cjs && npm run build:esm",
"build:cjs": "tsc -p tsconfig.json",
"build:esm": "tsc -p tsconfig.esm.json",
"dev": "tsc -w",
"test": "vitest",
"test:coverage": "vitest --coverage",
"lint": "eslint src --ext .ts",
"typecheck": "tsc --noEmit",
"lint": "eslint src tests --ext .ts",
"lint:fix": "eslint src tests --ext .ts --fix",
"format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
"benchmark": "vitest bench",
"prepublishOnly": "npm run build",
"postinstall": "node scripts/postinstall.js || true"
},
"dependencies": {
"@ruvector/wasm-unified": "^1.0.0",
"@ruvector/ruvllm": "^2.3.0",
"commander": "^12.0.0",
"chalk": "^4.1.2",
"ora": "^5.4.1",
"inquirer": "^9.2.12",
"dotenv": "^16.3.1",
"zod": "^3.22.4",
"fastify": "^4.24.3",
"@fastify/cors": "^8.4.2",
"@fastify/rate-limit": "^9.0.1",
"pino": "^8.17.2",
"pino-pretty": "^10.3.1"
},
"optionalDependencies": {
"@slack/bolt": "^3.16.0",
"@slack/web-api": "^6.11.0",
"discord.js": "^14.14.1",
"better-sqlite3": "^9.2.2",
"ioredis": "^5.3.2",
"pg": "^8.11.3",
"mercurius": "^13.3.3",
"graphql": "^16.8.1"
},
"devDependencies": {
"@types/node": "^20.10.5",
"@types/better-sqlite3": "^7.6.8",
"@types/pg": "^8.10.9",
"@types/inquirer": "^9.0.7",
"@typescript-eslint/eslint-plugin": "^6.15.0",
"@typescript-eslint/parser": "^6.15.0",
"@vitest/coverage-v8": "^1.1.0",
"eslint": "^8.56.0",
"prettier": "^3.1.1",
"tsup": "^8.0.1",
"tsx": "^4.7.0",
"typescript": "^5.3.3",
"vitest": "^1.1.0"
},
"peerDependencies": {
"@ruvector/postgres-cli": "^0.2.0"
},
"peerDependenciesMeta": {
"@ruvector/postgres-cli": {
"optional": true
}
"clean": "rm -rf dist",
"prepublishOnly": "npm run build"
},
"keywords": [
"ruvbot",
"ruvector",
"ai-assistant",
"chatbot",
"slack-bot",
"discord-bot",
"vector-memory",
"wasm-embeddings",
"self-learning",
"llm",
"conversational-ai",
"rag",
"semantic-search",
"skills",
"agent",
"ai",
"machine-learning"
"vector-database",
"memory",
"multi-tenant",
"slack-bot",
"self-learning",
"embeddings",
"hnsw",
"wasm",
"typescript"
],
"author": {
"name": "rUv",
"url": "https://github.com/ruvnet"
},
"author": "RuVector Team <team@ruv.io>",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/ruvnet/ruvector.git",
"directory": "npm/packages/ruvbot"
},
"homepage": "https://github.com/ruvnet/ruvector/tree/main/npm/packages/ruvbot#readme",
"homepage": "https://github.com/ruvnet/ruvector/tree/main/npm/packages/ruvbot",
"bugs": {
"url": "https://github.com/ruvnet/ruvector/issues"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ruvnet"
},
"engines": {
"node": ">=18.0.0",
"npm": ">=9.0.0"
"node": ">=18.0.0"
},
"dependencies": {
"@anthropic-ai/sdk": "^0.20.0",
"@ruvector/core": "workspace:*",
"@ruvector/wasm": "workspace:*",
"@ruvector/ruvllm": "workspace:*",
"@slack/bolt": "^3.17.0",
"@slack/web-api": "^7.0.0",
"bullmq": "^5.1.0",
"ioredis": "^5.3.2",
"pg": "^8.11.3",
"zod": "^3.22.4"
},
"devDependencies": {
"@types/node": "^20.10.5",
"@types/pg": "^8.10.9",
"eslint": "^8.56.0",
"typescript": "^5.3.3",
"vitest": "^1.2.0"
},
"peerDependencies": {
"typescript": ">=5.0.0"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
},
"publishConfig": {
"access": "public"
}
},
"files": [
"dist",
"README.md"
]
}

View file

@ -0,0 +1,8 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"module": "ESNext",
"moduleResolution": "bundler",
"outDir": "./dist/esm"
}
}

View file

@ -1,34 +1,21 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"module": "CommonJS",
"lib": ["ES2022"],
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"noImplicitAny": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"forceConsistentCasingInFileNames": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"types": ["node"],
"baseUrl": ".",
"paths": {
"@ruvbot/*": ["src/*"]
}
"isolatedModules": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist", "tests", "benchmarks"]
"exclude": ["node_modules", "dist", "tests"]
}