- Remove top-level Node.js imports that break bundlers - Use universal adapters for crypto operations - Add dynamic imports for Node.js-specific modules - Add browser field to package.json for bundler hints - Maintain full Node.js functionality while enabling browser usage This allows Brainy to be used with modern bundlers (Vite, Webpack, etc.) without requiring Node.js polyfills. Browser environments get core features while Node.js retains all capabilities including filesystem and networking.
199 lines
6.1 KiB
JSON
199 lines
6.1 KiB
JSON
{
|
||
"name": "@soulcraft/brainy",
|
||
"version": "3.6.0",
|
||
"description": "Universal Knowledge Protocol™ - World's first Triple Intelligence database unifying vector, graph, and document search in one API. 31 nouns × 40 verbs for infinite expressiveness.",
|
||
"main": "dist/index.js",
|
||
"module": "dist/index.js",
|
||
"types": "dist/index.d.ts",
|
||
"type": "module",
|
||
"bin": {
|
||
"brainy": "bin/brainy.js"
|
||
},
|
||
"sideEffects": [
|
||
"./dist/setup.js",
|
||
"./dist/utils/textEncoding.js",
|
||
"./src/setup.ts",
|
||
"./src/utils/textEncoding.ts"
|
||
],
|
||
"exports": {
|
||
".": {
|
||
"import": "./dist/index.js",
|
||
"types": "./dist/index.d.ts"
|
||
},
|
||
"./setup": {
|
||
"import": "./dist/setup.js",
|
||
"types": "./dist/setup.d.ts"
|
||
},
|
||
"./types/graphTypes": {
|
||
"import": "./dist/types/graphTypes.js",
|
||
"types": "./dist/types/graphTypes.d.ts"
|
||
},
|
||
"./types/augmentations": {
|
||
"import": "./dist/types/augmentations.js",
|
||
"types": "./dist/types/augmentations.d.ts"
|
||
},
|
||
"./utils/textEncoding": {
|
||
"import": "./dist/utils/textEncoding.js",
|
||
"types": "./dist/utils/textEncoding.d.ts"
|
||
},
|
||
"./universal": {
|
||
"import": "./dist/universal/index.js",
|
||
"types": "./dist/universal/index.d.ts"
|
||
}
|
||
},
|
||
"browser": {
|
||
"./dist/distributed": false,
|
||
"./dist/cli": false,
|
||
"./dist/scripts": false
|
||
},
|
||
"engines": {
|
||
"node": "22.x"
|
||
},
|
||
"scripts": {
|
||
"build": "npm run build:patterns:if-needed && tsc",
|
||
"build:patterns": "tsx scripts/buildEmbeddedPatterns.ts",
|
||
"build:patterns:if-needed": "node scripts/check-patterns.cjs || npm run build:patterns",
|
||
"build:patterns:force": "npm run build:patterns",
|
||
"prepare": "npm run build",
|
||
"test": "npm run test:unit",
|
||
"test:watch": "vitest --config tests/configs/vitest.unit.config.ts",
|
||
"test:coverage": "vitest run --config tests/configs/vitest.unit.config.ts --coverage",
|
||
"test:unit": "vitest run --config tests/configs/vitest.unit.config.ts",
|
||
"test:integration": "NODE_OPTIONS='--max-old-space-size=32768' vitest run --config tests/configs/vitest.integration.config.ts",
|
||
"test:s3": "vitest run tests/integration/s3-storage.test.ts",
|
||
"test:distributed": "vitest run tests/integration/distributed.test.ts",
|
||
"test:cloud": "npm run test:s3 && npm run test:distributed",
|
||
"test:all": "npm run test:unit && npm run test:integration",
|
||
"test:ci-unit": "CI=true vitest run --config tests/configs/vitest.unit.config.ts",
|
||
"test:ci-integration": "NODE_OPTIONS='--max-old-space-size=16384' CI=true vitest run --config tests/configs/vitest.integration.config.ts",
|
||
"test:ci": "npm run test:ci-unit",
|
||
"download-models": "node scripts/download-models.cjs",
|
||
"download-models:q8": "node scripts/download-models.cjs",
|
||
"models:verify": "node scripts/ensure-models.js",
|
||
"lint": "eslint --ext .ts,.js src/",
|
||
"lint:fix": "eslint --ext .ts,.js src/ --fix",
|
||
"format": "prettier --write \"src/**/*.{ts,js}\"",
|
||
"format:check": "prettier --check \"src/**/*.{ts,js}\"",
|
||
"migrate:logger": "tsx scripts/migrate-to-structured-logger.ts",
|
||
"migrate:logger:dry": "tsx scripts/migrate-to-structured-logger.ts --dry-run",
|
||
"release": "standard-version",
|
||
"release:patch": "standard-version --release-as patch",
|
||
"release:minor": "standard-version --release-as minor",
|
||
"release:major": "standard-version --release-as major",
|
||
"release:dry": "standard-version --dry-run"
|
||
},
|
||
"keywords": [
|
||
"ai-database",
|
||
"vector-database",
|
||
"graph-database",
|
||
"field-filtering",
|
||
"triple-intelligence",
|
||
"hnsw",
|
||
"embeddings",
|
||
"semantic-search",
|
||
"machine-learning",
|
||
"artificial-intelligence",
|
||
"data-storage",
|
||
"indexing",
|
||
"typescript"
|
||
],
|
||
"author": "Brainy Contributors",
|
||
"license": "MIT",
|
||
"private": false,
|
||
"publishConfig": {
|
||
"access": "public"
|
||
},
|
||
"homepage": "https://github.com/soulcraftlabs/brainy",
|
||
"bugs": {
|
||
"url": "https://github.com/soulcraftlabs/brainy/issues"
|
||
},
|
||
"repository": {
|
||
"type": "git",
|
||
"url": "git+https://github.com/soulcraftlabs/brainy.git"
|
||
},
|
||
"files": [
|
||
"dist/**/*.js",
|
||
"dist/**/*.d.ts",
|
||
"bin/",
|
||
"scripts/download-models.cjs",
|
||
"scripts/ensure-models.js",
|
||
"scripts/prepare-models.js",
|
||
"brainy.png",
|
||
"LICENSE",
|
||
"README.md",
|
||
"CHANGELOG.md"
|
||
],
|
||
"devDependencies": {
|
||
"@rollup/plugin-commonjs": "^28.0.6",
|
||
"@rollup/plugin-node-resolve": "^16.0.1",
|
||
"@rollup/plugin-replace": "^6.0.2",
|
||
"@rollup/plugin-terser": "^0.4.4",
|
||
"@testcontainers/redis": "^11.5.1",
|
||
"@types/node": "^20.11.30",
|
||
"@types/uuid": "^10.0.0",
|
||
"@types/ws": "^8.18.1",
|
||
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
||
"@typescript-eslint/parser": "^8.0.0",
|
||
"@vitest/coverage-v8": "^3.2.4",
|
||
"minio": "^8.0.5",
|
||
"standard-version": "^9.5.0",
|
||
"testcontainers": "^11.5.1",
|
||
"tsx": "^4.19.2",
|
||
"typescript": "^5.4.5",
|
||
"vitest": "^3.2.4"
|
||
},
|
||
"dependencies": {
|
||
"@aws-sdk/client-s3": "^3.540.0",
|
||
"@huggingface/transformers": "^3.7.2",
|
||
"boxen": "^8.0.1",
|
||
"chalk": "^5.3.0",
|
||
"cli-table3": "^0.6.5",
|
||
"commander": "^11.1.0",
|
||
"inquirer": "^12.9.3",
|
||
"ora": "^8.2.0",
|
||
"prompts": "^2.4.2",
|
||
"uuid": "^9.0.1",
|
||
"ws": "^8.18.3"
|
||
},
|
||
"prettier": {
|
||
"arrowParens": "always",
|
||
"bracketSameLine": true,
|
||
"bracketSpacing": true,
|
||
"htmlWhitespaceSensitivity": "css",
|
||
"printWidth": 80,
|
||
"proseWrap": "preserve",
|
||
"semi": false,
|
||
"singleQuote": true,
|
||
"tabWidth": 2,
|
||
"trailingComma": "none",
|
||
"useTabs": false
|
||
},
|
||
"eslintConfig": {
|
||
"root": true,
|
||
"extends": [
|
||
"eslint:recommended",
|
||
"plugin:@typescript-eslint/recommended"
|
||
],
|
||
"parser": "@typescript-eslint/parser",
|
||
"plugins": [
|
||
"@typescript-eslint"
|
||
],
|
||
"rules": {
|
||
"@typescript-eslint/no-explicit-any": "off",
|
||
"no-unused-vars": "off",
|
||
"@typescript-eslint/no-unused-vars": [
|
||
"warn",
|
||
{
|
||
"args": "after-used",
|
||
"argsIgnorePattern": "^_"
|
||
}
|
||
],
|
||
"semi": "off",
|
||
"@typescript-eslint/semi": [
|
||
"error",
|
||
"never"
|
||
],
|
||
"no-extra-semi": "off"
|
||
}
|
||
}
|
||
}
|