Files
2026-05-27 23:47:53 +01:00

107 lines
3.1 KiB
JSON

{
"name": "@suaveplan/audio-controllers",
"version": "0.1.0",
"type": "module",
"sideEffects": false,
"description": "Universal MIDI hardware controller plugins (Kontrol S88, Maschine, Traktor S4): MidiControllerPlugin base with injectable MidiAccessAdapter, hot-plug FSM via @suaveplan/fsm, transport-synced Sequencer + Arpeggiator, CC-mapping DSL, learn mode, LED feedback, bindParameter integration with @suaveplan/audio-fx-plugin-base, AUDIO_CONTROLLERS.* error registry, full OTel surface.",
"license": "MIT",
"author": "Suaveplan Team",
"main": "./dist/index.js",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"files": ["dist", "README.md"],
"exports": {
"./package.json": "./package.json",
".": {
"import": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
},
"./base/midi-controller-plugin": {
"import": {
"types": "./dist/base/index.d.ts",
"default": "./dist/base/index.js"
}
},
"./sequencer/sequencer": {
"import": {
"types": "./dist/sequencer/index.d.ts",
"default": "./dist/sequencer/index.js"
}
},
"./arpeggiator/arpeggiator": {
"import": {
"types": "./dist/arpeggiator/index.d.ts",
"default": "./dist/arpeggiator/index.js"
}
},
"./learn/learn-mode": {
"import": {
"types": "./dist/learn/index.d.ts",
"default": "./dist/learn/index.js"
}
},
"./binding": {
"import": {
"types": "./dist/binding/index.d.ts",
"default": "./dist/binding/index.js"
}
},
"./plugins/kontrol-s88": {
"import": {
"types": "./dist/plugins/kontrol-s88/index.d.ts",
"default": "./dist/plugins/kontrol-s88/index.js"
}
},
"./plugins/maschine": {
"import": {
"types": "./dist/plugins/maschine/index.d.ts",
"default": "./dist/plugins/maschine/index.js"
}
},
"./plugins/traktor-s4": {
"import": {
"types": "./dist/plugins/traktor-s4/index.d.ts",
"default": "./dist/plugins/traktor-s4/index.js"
}
},
"./error-codes": {
"import": {
"types": "./dist/error-codes/index.d.ts",
"default": "./dist/error-codes/index.js"
}
}
},
"scripts": {
"build": "vite build",
"lint": "biome check --max-diagnostics 500 src/ tests/",
"typecheck": "tsc --noEmit -p tsconfig.lib.json",
"test": "vitest run --passWithNoTests",
"test:coverage": "vitest run --coverage --passWithNoTests",
"docs:check": "bun run ../../../../scripts/docs-check.ts ."
},
"dependencies": {
"@opentelemetry/api": "catalog:observability",
"@suaveplan/audio-core": "workspace:^",
"@suaveplan/audio-fx-plugin-base": "workspace:^",
"@suaveplan/audio-transport": "workspace:^",
"@suaveplan/error": "workspace:^",
"@suaveplan/events": "workspace:^",
"@suaveplan/fsm": "workspace:^",
"@suaveplan/opentelemetry": "workspace:^",
"@suaveplan/types": "workspace:^",
"tslib": "catalog:build",
"zod": "catalog:forms"
},
"devDependencies": {
"@suaveplan/testing": "workspace:^",
"@suaveplan/typescript-config": "workspace:^",
"@vitest/coverage-istanbul": "catalog:testing",
"typescript": "catalog:",
"vite": "catalog:build",
"vite-plugin-dts": "catalog:build",
"vitest": "catalog:testing"
}
}