package.json•6.25 kB
{
"name": "root",
"version": "independent",
"private": true,
"author": "Pedro Sanders <psanders@fonoster.com>",
"license": "MIT",
"description": "Then open-source alternative to Twilio",
"main": "dist/index",
"types": "dist/index",
"workspaces": [
"mods/apiserver",
"mods/authz",
"mods/autopilot",
"mods/common",
"mods/ctl",
"mods/identity",
"mods/logger",
"mods/sdk",
"mods/sipnet",
"mods/streams",
"mods/types",
"mods/voice",
"mods/mcp"
],
"scripts": {
"start:dashboard": "NODE_ENV=development cd mods/dashboard && npm run dev",
"start:storybook": "NODE_ENV=development cd mods/dashboard && npm run storybook",
"start:apiserver": "cross-env NODE_ENV=development LOGS_LEVEL=verbose nodemon --watch mods/apiserver mods/apiserver/src/index.ts",
"start:authz": "cross-env NODE_ENV=development LOGS_LEVEL=verbose nodemon --watch mods/authz mods/authz/src/server/server.ts",
"start:voice": "cross-env NODE_ENV=development LOGS_LEVEL=verbose nodemon --watch mods/voice mods/voice/src/demo.ts",
"start:autopilot": "cross-env NODE_ENV=development ASSISTANT=$(pwd)/config/assistant.json LOGS_LEVEL=verbose nodemon --watch mods/autopilot mods/autopilot/src/server.ts",
"start:services": "cross-env docker compose -f compose.yaml -f compose.dev.yaml up routr nats envoy influxdb postgres adminer mailhog rtpengine asterisk -d --remove-orphans",
"start:sdk-demo": "npx serve -s mods/sdk/public -l 9000",
"start:oauth2-demo": "npx serve mods/sdk/public -l 9000",
"start:audiosocket": "cross-env NODE_ENV=development LOGS_LEVEL=verbose nodemon --watch mods/streams mods/streams/src/example.ts",
"start:mcp": "cross-env NODE_ENV=development LOGS_LEVEL=verbose nodemon --watch mods/mcp mods/mcp/src/index.ts",
"stop:services": "cross-env docker compose -f compose.yaml -f compose.dev.yaml down",
"build": "lerna run build",
"prebuild": "npm run generate:prisma-clients",
"postbuild": "npm run copy:hbstemplates && npm run copy:prisma-clients",
"format": "prettier --write mods/**/src",
"clean": "rimraf mods/**/dist mods/**/node_modules mods/**/package-lock.json node_modules package-lock.json",
"prepare": "husky",
"copy:hbstemplates": "node .scripts/copy-hbs.cjs",
"db:migrate": "npx prisma migrate dev --schema mods/apiserver/schema.prisma --name changeme --preview-feature && npx prisma migrate dev --schema mods/identity/schema.prisma --name changeme --preview-feature",
"db:seed": "tsx mods/apiserver/src/core/seed.ts",
"generate:readme": "lerna run generate:readme && git add mods/**/README.md",
"generate:keypair": ".scripts/gen-keypair.sh",
"generate:protos": ".scripts/gen-code-proto.sh",
"postgenerate:protos": "lerna run build",
"generate:prisma-clients": "npx prisma generate --schema mods/apiserver/schema.prisma && npx prisma generate --schema mods/identity/schema.prisma",
"copy:prisma-clients": "sh ./.scripts/copy-prisma-clients.sh",
"check:updates": "lerna exec -- npx npm-check-updates",
"test": "cross-env LOGS_LEVEL=none NODE_ENV=development mocha --timeout 30000 'mods/!(dashboard)/**/*.test.ts'",
"pretest": ".scripts/check-preconditions.sh && npm run generate:keypair",
"integration": "cross-env LOGS_LEVEL=none NODE_ENV=development mocha --slow 50000 --timeout 10000 mods/**/node.integration.ts",
"preintegration:web": "npx playwright install && npx playwright install-deps",
"integration:web": "web-test-runner --node-resolve --playwright --browsers chromium webkit firefox",
"release": "lerna publish --yes --no-git-reset --dist-tag latest $(./.scripts/next-release.sh) --message \"chore(release): publish %s [skip ci]\"",
"release:prerelease": "lerna publish --dist-tag next",
"release:frompackages": "lerna publish from-package",
"bump:version": "rimraf mods/**/.lerna-changed-buster-* && lerna exec -- touch .lerna-changed-buster-$RANDOM",
"postinstall": "npm run generate:prisma-clients",
"lint": "eslint .",
"lint:fix": "eslint . --fix"
},
"prisma": {
"seed": "tsx mods/apiserver/src/core/seed.ts"
},
"devDependencies": {
"@commitlint/cli": "^19.2.2",
"@commitlint/config-conventional": "^19.2.2",
"@eslint/eslintrc": "^3.0.0",
"@types/chai": "^5.0.1",
"@types/chai-as-promised": "^8.0.1",
"@types/mocha": "^10.0.6",
"@types/node": "^20.17.22",
"@types/sinon": "^17.0.3",
"@types/sinon-chai": "^4.0.0",
"@typescript-eslint/eslint-plugin": "^7.2.0",
"@typescript-eslint/parser": "^7.2.0",
"chai-as-promised": "^8.0.1",
"cross-env": "^7.0.3",
"eslint": "^8",
"eslint-config-next": "^14.1.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-header": "^3.1.1",
"eslint-plugin-headers": "^1.2.1",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-no-loops": "^0.3.0",
"eslint-plugin-prettier": "^5.2.3",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
"globals": "^15.13.0",
"grpc_tools_node_protoc_ts": "^5.3.3",
"grpc-tools": "^1.12.4",
"husky": "^9.0.11",
"jsdoc-to-markdown": "^8.0.1",
"lerna": "^8.2.2",
"mocha": "^11.0.2",
"next": "^14.1.0",
"nodemon": "^3.1.9",
"prettier": "^3.5.0",
"prisma": "^6.12.0",
"protoc-gen-grpc-web": "^1.5.0",
"protoc-gen-js": "^3.21.4-4",
"rimraf": "^6.0.1",
"sinon": "^19.0.2",
"sinon-chai": "^4.0.0",
"tsx": "^4.19.2"
},
"repository": {
"type": "git",
"url": "git+https://github.com/fonoster/fonoster.git"
},
"bugs": {
"url": "https://github.com/fonoster/fonoster/issues"
},
"nodemonConfig": {
"watch": [
"mods/**"
],
"ext": "ts",
"exec": "tsx",
"ignore": "**/*.d.ts"
},
"directories": {
"src": "src",
"test": "test"
},
"files": [
"dist"
],
"engines": {
"node": ">=20.11.1"
},
"dependencies": {
"@prisma/client": "^6.12.0"
},
"optionalDependencies": {
"@rollup/rollup-linux-arm64-gnu": "^4.29.1",
"@rollup/rollup-linux-arm64-musl": "^4.29.1",
"@rollup/rollup-linux-x64-gnu": "^4.29.1",
"@rollup/rollup-linux-x64-musl": "^4.29.1"
},
"type": "module"
}