diff --git a/README.md b/README.md index 51d2232..a39fe6d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,66 @@ # Player Language -- DSL -- DSL Generators -- LSP \ No newline at end of file +Language tooling and DSL framework for [Player UI](https://github.com/player-ui/player) — providing a language server, validation, completions, and programmatic DSLs for authoring Player content. + +## Packages + +### Language Server & Services + +| Package | Description | +|---|---| +| `@player-lang/json-language-service` | Core language service: JSON parsing, validation, completions, hover, and go-to-definition for Player content | +| `@player-lang/json-language-server` | LSP server wrapping the language service for IDE integration | +| `@player-lang/typescript-expression-plugin` | Plugin for validating TypeScript expressions within Player content | +| `@player-lang/complexity-check-plugin` | Plugin for analyzing Player content complexity | +| `@player-lang/metrics-output-plugin` | Plugin for collecting and reporting language service metrics | + +### DSLs & Code Generation + +| Package | Description | +|---|---| +| `@player-lang/functional-dsl` | Functional DSL for constructing Player content programmatically | +| `@player-lang/react-dsl` | React component DSL for authoring Player content | +| `@player-lang/functional-dsl-generator` | CLI tool (`functional-generator`) for generating type-safe DSL builders from schemas | + +### Common + +| Package | Description | +|---|---| +| `@player-lang/static-xlrs` | Pre-compiled XLR type definitions for Player assets | +| `@player-lang/test-utils` | Testing utilities for language service and DSL packages | + + +## Getting Started + +**Prerequisites:** Node.js 22+ and pnpm 10+ + +```bash +git clone https://github.com/player-ui/language.git +cd language +pnpm install +``` + +**Build:** +```bash +bazel build //... +``` + +**Test:** +```bash +bazel test //... +``` + +## Repo Structure + +``` +/lsp Language server & services +/dsl DSL packages (functional, React) +/generators Code generation tools +/common Shared utilities and type definitions +/helpers Build and test helpers +/scripts Build and utility scripts +``` + +## License + +MIT diff --git a/package.json b/package.json index e80985d..e374cb7 100644 --- a/package.json +++ b/package.json @@ -13,15 +13,15 @@ }, "packageManager": "pnpm@10.13.1", "dependencies": { - "@player-ui/player": "^0.15.0", - "@player-ui/types": "^0.15.0", + "@player-ui/player": "*", + "@player-ui/types": "*", "@types/node": "^18.18.0", "@types/react": "^18.3.3", "@typescript/vfs": "^1.4.0", - "@xlr-lib/xlr": "0.1.1-next.4", - "@xlr-lib/xlr-converters": "0.1.1-next.4", - "@xlr-lib/xlr-sdk": "0.1.1-next.4", - "@xlr-lib/xlr-utils": "0.1.1-next.4", + "@xlr-lib/xlr": "^1.0.0", + "@xlr-lib/xlr-converters": "^1.0.0", + "@xlr-lib/xlr-sdk": "^1.0.0", + "@xlr-lib/xlr-utils": "^1.0.0", "detect-indent": "^6.0.0", "dequal": "^2.0.2", "fs-extra": "^10.0.0", @@ -41,6 +41,8 @@ "vscode-languageserver-types": "^3.15.1" }, "devDependencies": { + "@player-ui/player": "^0.15.0", + "@player-ui/types": "^0.15.0", "@auto-it/version-file": "^10.46.0", "@eslint/js": "^9.22.0", "@vitest/coverage-v8": "^2.1.3",