@sparkstone/pocketbase-schema
is an open-source utility to generate TypeScript typings from PocketBase schemas, enabling type-safe development with PocketBase APIs.
- Automatically generate TypeScript definitions from your PocketBase schema.
- Supports modular usage as a CLI tool or a Node.js module.
- Compatible with modern JavaScript and TypeScript projects.
- Local-first and flexible configuration using cosmiconfig.
Install the package using npm:
npm install @sparkstone/pocketbase-schema --save-dev
Or with yarn:
yarn add @sparkstone/pocketbase-schema --dev
Or with pnpm:
pnpm add @sparkstone/pocketbase-schema --save-dev
You can use the tool directly from the command line to generate typings from a PocketBase instance:
pocketbase-schema
The package supports configuration using a configuration file. Supported file formats include .json
, .yaml
, .js
, or .ts
. The default configuration file name is .pocketbase-schema.config.ts
Be sure to add your configuration file to .gitignore
to prevent leaking credentials.
Example .pocketbase-schema.config.ts
:
export default {
email: '[email protected]', // Admin email for authentication
password: 'yourpassword', // Admin password for authentication
url: 'http://127.0.0.1:8090', // URL of the PocketBase instance
schema: {
outputPath: 'src/lib/pb.schema.json', // Path to save schema JSON
},
types: {
outputPath: 'src/lib/pb.types.ts', // Path to save TypeScript definitions
},
};
email
: Admin email for authentication.password
: Admin password for authentication.url
: The URL of the PocketBase instance.
schema.outputPath
: Path to save the generated schema JSON.types.outputPath
: Path to save the generated TypeScript definitions.
pnpm run build
: Build the package usingmicrobundle
.pnpm run dev
: Watch for changes and rebuild automatically.
Contributions are welcome! Feel free to open issues or submit pull requests to enhance the functionality.
This project is licensed under the MIT License. See the LICENSE file for details.
For more details and updates, visit the repository.