Skip to content

Commit ae41d65

Browse files
authored
fix: change the package name to @zenstackhq/proxy (#3)
* fix: change the package name to `@zenstackhq/proxy` - Consolidate Dependabot configuration for npm - Remove obsolete Claude Code Review workflow - Add .prettierignore and .prettierrc for code formatting - Update README for schema option formatting - Create CLI entry point in bin/cli.js - Modify package.json for clearer project description - Enhance error handling in index.ts - Fix import typo in server.ts - Improve telemetry import in telemetry.ts - Refine getNodeModulesFolder logic in version-utils.ts - Clarify comments in zmodel-parser.ts * fix: change runner to ubuntu-latest in build-test workflow
1 parent 41d8644 commit ae41d65

File tree

13 files changed

+49
-109
lines changed

13 files changed

+49
-109
lines changed

.github/dependabot.yml

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,10 @@
66

77
version: 2
88
updates:
9-
- package-ecosystem: "devcontainers"
10-
directory: "/"
11-
schedule:
12-
interval: weekly
9+
- package-ecosystem: 'npm'
10+
directory: '/'
11+
schedule:
12+
interval: weekly
13+
target-branch: dev
1314

14-
- package-ecosystem: "npm"
15-
directory: "/"
16-
schedule:
17-
interval: weekly
18-
19-
target-branch: dev
2015

.github/workflows/build-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ permissions:
1515

1616
jobs:
1717
build-test:
18-
runs-on: buildjet-8vcpu-ubuntu-2204
18+
runs-on: ubuntu-latest
1919

2020
strategy:
2121
matrix:

.github/workflows/claude-code-review.yml

Lines changed: 0 additions & 77 deletions
This file was deleted.

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.github/

.prettierrc

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"trailingComma": "es5",
3+
"tabWidth": 2,
4+
"semi": false,
5+
"singleQuote": true,
6+
"printWidth": 100,
7+
"endOfLine": "lf",
8+
"overrides": [
9+
{
10+
"files": "**/*.json",
11+
"options": { "parser": "json" }
12+
}
13+
]
14+
}

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ A CLI tool to run an Express server with ZenStack proxy integration directly fro
55
## Installation
66

77
```bash
8-
npm install zenstack-proxy
8+
npm install @zenstackhq/proxy
99
```
1010

1111
## Usage
@@ -20,7 +20,7 @@ zenstack-proxy [options]
2020

2121
- `-z, --zenstack <path>` Path to ZenStack generated folder
2222
- `-p, --port <number>` Port number for the server (default: `8008`)
23-
- `-s --schema <path>` - Path to ZModel schema file (default: "schema.zmodel")
23+
- `-s, --schema <path>` - Path to ZModel schema file (default: "schema.zmodel")
2424
- `-d, --datasource-url <url>` Datasource URL (overrides schema configuration)
2525
- `-l, --log <level...>` Query log levels (e.g., query, info, warn, error)
2626

bin/cli.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/usr/bin/env node
2+
require('../index.js').default()

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"name": "zenstack-proxy",
2+
"name": "@zenstackhq/proxy",
33
"version": "0.2.0",
4-
"description": "ZenStack Proxy CLI for ZenStack Studio",
4+
"description": "A CLI tool to run an Express server that proxies CRUD requests to a ZenStack backend",
55
"main": "index.js",
66
"publishConfig": {
77
"directory": "dist",

src/index.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,18 @@ export default async function () {
6363
await telemetry.trackCli(async () => {
6464
await program.parseAsync()
6565
})
66-
} catch (e: any) {
66+
} catch (e: unknown) {
6767
if (e instanceof CommanderError) {
6868
// ignore
6969
exitCode = e.exitCode
7070
} else if (e instanceof CliError) {
7171
console.error(red(e.message))
7272
} else {
73-
console.error(red(`Unhandled error: ${e}`))
73+
if (e instanceof Error) {
74+
console.error(red(`Unhandled error: ${e.message}`))
75+
} else {
76+
console.error(red(`Unhandled error: ${String(e)}`))
77+
}
7478
}
7579
if (telemetry.isTracking) {
7680
// give telemetry a chance to send events before exit

src/server.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as path from 'path'
22
import express from 'express'
3-
import cros from 'cors'
3+
import cors from 'cors'
44
import { ZenStackMiddleware } from '@zenstackhq/server/express'
55
import { GeneratorConfig, ZModelConfig } from './zmodel-parser'
66
import { getNodeModulesFolder, getPrismaVersion, getZenStackVersion } from './utils/version-utils'
@@ -109,7 +109,7 @@ function createAdapter(config: ZModelConfig, zmodelSchemaDir: string): any {
109109
* Loads PrismaClient, ModelMeta, enhance, and Enum modules for ZenStack
110110
*/
111111
async function loadZenStackModules(
112-
generator: GeneratorConfig,
112+
zmodelConfig: ZModelConfig,
113113
zmodelSchemaDir: string,
114114
zenstackPath?: string
115115
) {
@@ -121,11 +121,12 @@ async function loadZenStackModules(
121121
// Load Prisma Client - either from custom output or default @prisma/client
122122
let PrismaClient: any
123123

124+
const generator = zmodelConfig.generator
124125
if (generator.output) {
125126
// Use custom output path - resolve relative to zmodel schema file directory
126127
const prismaClientPath = path.isAbsolute(generator.output)
127128
? path.join(generator.output, 'client')
128-
: path.join(zmodelSchemaDir, 'prisma', generator.output, 'client')
129+
: path.join(resolvePrismaSchemaDir(zmodelConfig, zmodelSchemaDir), generator.output, 'client')
129130
console.log(grey(`Loading Prisma client from: ${prismaClientPath}`))
130131
let prismaModule
131132
try {
@@ -182,7 +183,7 @@ export async function startServer(options: ServerOptions) {
182183
const { zenstackPath, port, zmodelConfig, zmodelSchemaDir } = options
183184

184185
const { PrismaClient, modelMeta, enums, zenstackVersion } = await loadZenStackModules(
185-
zmodelConfig.generator,
186+
zmodelConfig,
186187
zmodelSchemaDir,
187188
zenstackPath
188189
)
@@ -207,8 +208,7 @@ export async function startServer(options: ServerOptions) {
207208

208209
const app = express()
209210

210-
app.use(express.json())
211-
app.use(cros())
211+
app.use(cors())
212212
app.use(express.json({ limit: '5mb' }))
213213
app.use(express.urlencoded({ extended: true, limit: '5mb' }))
214214

@@ -221,7 +221,7 @@ export async function startServer(options: ServerOptions) {
221221
)
222222

223223
// Schema metadata endpoint
224-
app.get('/api/schema', (req: any, res: any) => {
224+
app.get('/api/schema', (_req, res: express.Response) => {
225225
const result = { ...modelMeta, enums: enums, zenstackVersion }
226226
res.json(result)
227227
})

0 commit comments

Comments
 (0)