mirror of
https://github.com/hanzoai/insights.git
synced 2026-10-30 16:15:31 +00:00
A version written into a manifest is written into every manifest that wants the package, and the copies drift. The catalog moves the number out of the manifest: a manifest names the package, the workspace names the version. Only names that already resolve to exactly one version move, so nothing installs differently -- 1424 resolutions are unchanged. Three kinds stay where they are: a name used at two specifiers, because the catalog would pick a winner; a name an override already decides, because pnpm records the overridden specifier; and a name whose one specifier resolved to two versions, because one entry would unify them.
206 lines
9.7 KiB
JSON
206 lines
9.7 KiB
JSON
{
|
|
"name": "@hanzo/nodejs",
|
|
"version": "1.10.5",
|
|
"description": "Insights Node.js services",
|
|
"license": "MIT",
|
|
"author": "Insights <[email protected]>",
|
|
"repository": "https://github.com/hanzoai/insights",
|
|
"main": "dist/index.js",
|
|
"types": "dist/index.d.ts",
|
|
"scripts": {
|
|
"test": "SHARD_IDX=${SHARD_INDEX:-1}; SHARD_TOTAL=${SHARD_COUNT:-1}; echo $SHARD_IDX/$SHARD_TOTAL; jest --runInBand --forceExit --shard=$SHARD_IDX/$SHARD_TOTAL --testPathIgnorePatterns='postgres-parity|service-e2e|<rootDir>/(src|tests)(/.*)?/dev/'",
|
|
"test:rust-ingestion-e2e": "jest --runInBand --forceExit --testPathPatterns='service-e2e/rust-ingestion-consumer.test.ts'",
|
|
"test:postgres-parity": "jest --runInBand --forceExit --testPathPatterns='postgres-parity'",
|
|
"start": "pnpm start:dev",
|
|
"start:dist": "node dist/index.js",
|
|
"start:dev": "NODE_ENV=dev tsx watch src/index.ts",
|
|
"start:devNoWatch": "NODE_ENV=dev tsx src/index.ts",
|
|
"prestart:dev": "pnpm build:cyclotron:dev",
|
|
"prestart:devNoWatch": "pnpm build:cyclotron:dev",
|
|
"build": "pnpm clean && pnpm typescript:compile && pnpm typescript:compile-cleanup",
|
|
"clean": "rm -rf dist/*",
|
|
"typescript:compile": "tsc -b && tsc-alias",
|
|
"typescript:compile-cleanup": "[ -d dist/src ] && mv dist/src/* dist/ || true",
|
|
"typescript:check": "tsc --noEmit -p .",
|
|
"typescript:check:tsgo": "tsgo --noEmit -p .",
|
|
"lint": "eslint .",
|
|
"lint:fix": "eslint --fix .",
|
|
"check:boundaries": "node bin/check-ingestion-boundaries.mjs",
|
|
"check:boundaries:write": "node bin/check-ingestion-boundaries.mjs --write",
|
|
"format": "prettier --write .",
|
|
"format:check": "prettier --check .",
|
|
"prepublishOnly": "pnpm build",
|
|
"setup:dev:datastore": "cd .. && DEBUG=1 python manage.py migrate_datastore",
|
|
"setup:test": "cd .. && TEST=1 python manage.py setup_test_environment && cd nodejs && pnpm run setup:test:rust",
|
|
"test:full": "docker compose -f ../docker-compose.dev.yml up -d && pnpm setup:test && pnpm test && pnpm test:postgres-parity && pnpm test:rust-ingestion-e2e",
|
|
"setup:test:rust": "CYCLOTRON_DATABASE_NAME=test_cyclotron CYCLOTRON_NODE_DATABASE_NAME=test_cyclotron_node PERSONS_DATABASE_NAME=test_persons BEHAVIORAL_COHORTS_DATABASE_NAME=test_behavioral_cohorts ../rust/bin/migrate-entry all --fresh",
|
|
"setup:test:persons-parity": "PERSONS_DATABASE_NAME=test_persons_parity ../rust/bin/migrate-entry persons --fresh",
|
|
"migrate:persons": "../rust/bin/migrate-persons",
|
|
"migrate:cyclotron": "../rust/bin/migrate-cyclotron",
|
|
"migrate:cyclotron-node": "../rust/bin/migrate-cyclotron-node",
|
|
"migrate:behavioral-cohorts": "../rust/bin/migrate-behavioral-cohorts",
|
|
"migrate:rust": "../rust/bin/migrate-entry all",
|
|
"services:start": "cd .. && docker compose -f docker-compose.dev.yml up",
|
|
"services:stop": "cd .. && docker compose -f docker-compose.dev.yml down",
|
|
"services:clean": "cd .. && docker compose -f docker-compose.dev.yml rm -v",
|
|
"services": "pnpm services:stop && pnpm services:clean && pnpm services:start",
|
|
"build:cyclotron": "pnpm --filter=@hanzo/cyclotron package",
|
|
"build:cyclotron:dev": "pnpm --filter=@hanzo/cyclotron run build:dev",
|
|
"build:replay-anonymizer": "pnpm --filter=@hanzo/replay-anonymizer package",
|
|
"build:replay-anonymizer:dev": "pnpm --filter=@hanzo/replay-anonymizer run build:dev",
|
|
"generate:personinsights-proto": "cd ../proto && buf generate --template ../nodejs/buf.gen.yaml --path personinsights/service --path personinsights/types .",
|
|
"update-ai-costs": "ts-node src/ingestion/pipelines/ai/costs/scripts/update-ai-costs.ts",
|
|
"gen:ingestion-warning-types": "ts-node src/ingestion/common/scripts/generate-ingestion-warning-types.ts",
|
|
"sync-segment-icons": "DATABASE_URL=something ts-node src/cdp/segment/sync-segment-icons.ts",
|
|
"start:recording-rasterizer": "node dist/session-replay/recording-rasterizer/index.js"
|
|
},
|
|
"dependencies": {
|
|
"@amplitude/ua-parser-js": "catalog:",
|
|
"@aws-sdk/client-dynamodb": "catalog:",
|
|
"@aws-sdk/client-kms": "catalog:",
|
|
"@aws-sdk/client-s3": "catalog:",
|
|
"@aws-sdk/client-sesv2": "catalog:",
|
|
"@aws-sdk/client-sts": "catalog:",
|
|
"@aws-sdk/credential-provider-node": "catalog:",
|
|
"@aws-sdk/lib-storage": "catalog:",
|
|
"@babel/core": "catalog:",
|
|
"@babel/plugin-transform-react-jsx": "catalog:",
|
|
"@babel/preset-env": "catalog:",
|
|
"@babel/preset-typescript": "catalog:",
|
|
"@babel/standalone": "catalog:",
|
|
"@bufbuild/protobuf": "catalog:",
|
|
"@datastore/client": "^1.12.0",
|
|
"@connectrpc/connect": "catalog:",
|
|
"@connectrpc/connect-node": "catalog:",
|
|
"@dsnp/parquetjs": "catalog:",
|
|
"@google-cloud/pubsub": "catalog:",
|
|
"@google-cloud/storage": "catalog:",
|
|
"@maxmind/geoip2-node": "catalog:",
|
|
"@mongodb-js/zstd": "catalog:",
|
|
"@opentelemetry/api": "catalog:",
|
|
"@opentelemetry/auto-instrumentations-node": "catalog:",
|
|
"@opentelemetry/exporter-metrics-otlp-http": "catalog:",
|
|
"@opentelemetry/exporter-trace-otlp-grpc": "catalog:",
|
|
"@opentelemetry/exporter-trace-otlp-http": "catalog:",
|
|
"@opentelemetry/instrumentation-pg": "catalog:",
|
|
"@opentelemetry/resources": "catalog:",
|
|
"@opentelemetry/sdk-metrics": "catalog:",
|
|
"@opentelemetry/sdk-node": "catalog:",
|
|
"@opentelemetry/sdk-trace-node": "catalog:",
|
|
"@opentelemetry/semantic-conventions": "catalog:",
|
|
"@hanzo/cyclotron": "workspace:*",
|
|
"@hanzo/scriptvm": "workspace:*",
|
|
"@hanzo/replay-anonymizer": "workspace:*",
|
|
"@hanzo/replay-headless": "workspace:*",
|
|
"@hanzo/siphash": "1.1.1",
|
|
"@pyroscope/nodejs": "catalog:",
|
|
"@segment/action-destinations": "catalog:",
|
|
"@smithy/node-http-handler": "4.4.9",
|
|
"@temporalio/activity": "catalog:",
|
|
"@temporalio/client": "catalog:",
|
|
"@temporalio/common": "catalog:",
|
|
"@temporalio/proto": "catalog:",
|
|
"@temporalio/worker": "catalog:",
|
|
"@temporalio/workflow": "catalog:",
|
|
"@types/node": "catalog:",
|
|
"@types/tail": "catalog:",
|
|
"avsc": "catalog:",
|
|
"aws-sdk": "catalog:",
|
|
"cors": "catalog:",
|
|
"detect-browser": "catalog:",
|
|
"escape-string-regexp": "catalog:",
|
|
"fast-equals": "catalog:",
|
|
"fastpriorityqueue": "catalog:",
|
|
"fernet-nodejs": "catalog:",
|
|
"generic-pool": "catalog:",
|
|
"https-proxy-agent": "catalog:",
|
|
"husky": "catalog:",
|
|
"ioredis": "^4.27.6",
|
|
"ipaddr.js": "catalog:",
|
|
"js-big-decimal": "catalog:",
|
|
"jsonwebtoken": "catalog:",
|
|
"libsodium-wrappers": "catalog:",
|
|
"liquidjs": "catalog:",
|
|
"lodash": "catalog:",
|
|
"lru-cache": "catalog:",
|
|
"luxon": "^3.4.4",
|
|
"lz4": "catalog:",
|
|
"node-fetch": "catalog:",
|
|
"node-rdkafka": "catalog:",
|
|
"node-schedule": "catalog:",
|
|
"nodemailer": "catalog:",
|
|
"p-limit": "catalog:",
|
|
"pg": "catalog:",
|
|
"pino": "catalog:",
|
|
"insights-node": "5.25.0",
|
|
"pretty-bytes": "catalog:",
|
|
"prom-client": "catalog:",
|
|
"puppeteer": "^24.3.0",
|
|
"puppeteer-capture": "catalog:",
|
|
"re2": "^1.22.1",
|
|
"snappy": "catalog:",
|
|
"tail": "catalog:",
|
|
"tldts": "catalog:",
|
|
"typescript": "catalog:",
|
|
"ultimate-express": "catalog:",
|
|
"undici": "^7.24.0",
|
|
"undici-types": "7.3.0",
|
|
"uuid": "catalog:",
|
|
"uWebSockets.js": "https://codeload.github.com/uNetworking/uWebSockets.js/tar.gz/cfc9a40d8132a34881813cec3d5f8e3a185b3ce3",
|
|
"xml-js": "catalog:",
|
|
"zod": "^4.3.6"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/cli": "catalog:",
|
|
"@babel/types": "catalog:",
|
|
"@bufbuild/protoc-gen-es": "catalog:",
|
|
"@eslint-community/eslint-plugin-eslint-comments": "catalog:",
|
|
"@segment/actions-core": "catalog:",
|
|
"@trivago/prettier-plugin-sort-imports": "catalog:",
|
|
"@types/adm-zip": "catalog:",
|
|
"@types/babel__core": "catalog:",
|
|
"@types/babel__standalone": "^7.1.4",
|
|
"@types/chance": "catalog:",
|
|
"@types/cors": "catalog:",
|
|
"@types/faker": "catalog:",
|
|
"@types/ioredis": "catalog:",
|
|
"@types/jest": "^30.0.0",
|
|
"@types/jsonwebtoken": "catalog:",
|
|
"@types/libsodium-wrappers": "catalog:",
|
|
"@types/lodash": "catalog:",
|
|
"@types/long": "catalog:",
|
|
"@types/luxon": "catalog:",
|
|
"@types/node-fetch": "catalog:",
|
|
"@types/node-schedule": "catalog:",
|
|
"@types/nodemailer": "catalog:",
|
|
"@types/pg": "catalog:",
|
|
"@types/redlock": "catalog:",
|
|
"@types/snowflake-sdk": "catalog:",
|
|
"@types/supertest": "catalog:",
|
|
"@typescript-eslint/eslint-plugin": "catalog:",
|
|
"@typescript-eslint/parser": "catalog:",
|
|
"chance": "catalog:",
|
|
"eslint": "^8.57.0",
|
|
"eslint-config-prettier": "catalog:",
|
|
"eslint-plugin-no-only-tests": "catalog:",
|
|
"jest": "^30.0.0",
|
|
"jest-environment-node": "catalog:",
|
|
"jest-junit": "^16.0.0",
|
|
"pino-pretty": "catalog:",
|
|
"prettier": "catalog:",
|
|
"supertest": "catalog:",
|
|
"ts-jest": "catalog:",
|
|
"ts-node": "catalog:",
|
|
"tsc-alias": "catalog:",
|
|
"tsconfig-paths": "catalog:",
|
|
"tsx": "^4.7.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=24 <25"
|
|
},
|
|
"cyclotron": {
|
|
"//This is a short term workaround to ensure that cyclotron changes trigger a rebuild": true,
|
|
"version": "0.1.12"
|
|
}
|
|
}
|