Describes a BAQ app project and the types it uses.
This file can be created and managed with the help of the BAQ CLI, but it can also be edited by hand when needed.
This file is always named baq.json
.
{
"name": "Super App 3000",
"type": "ts-react",
"path": "src/baq",
"record_types": {...}
}
Project
name
string
type
enum
Project type. One of the following:
js
: JavaScript project.js-react
: JavaScript + React project.ts
: TypeScript project.ts-react
: TypeScript + React project.path
string
description
string optional
website_url
URL optional
record_types
: {[string]: RecordType}
Record types used by the app.
The keys will be the friendly names used when generating types.
RecordType
Union of LocalRecordType and RemoteRecordType.
LocalRecordType
New record type created for the app and available as a local file.
path
string
record_id
RecordId
version_hash
VersionHash optional
content_hash
string optional
Truncated SHA256 hash of the latest published type record.
Used to detect changes and publish a new version if needed.
RemoteRecordType
Existing public record type published outside of the app.
entity
Entity
record_id
RecordId
version_hash
VersionHash
This is what the full content of a BAQ project file might look like. Here we have an app that manages tasks (local record type), while also accessing the user’s files (remote record type).
{
"name": "Daily Todo",
"type": "ts-react",
"path": "src/baq",
"description": "Manage your daily tasks with ease.",
"website_url": "https://dailytodo.com",
"record_types": {
"task": {
"path": "src/types/record.task.json",
"record_id": "4ad29d48f55a409e8d25b0d03b23b6eb"
},
"file": {
"entity": "types.baq.run",
"record_id": "2b6f7bc8ffd54c8db8062700c040e04f",
"version_hash": "8f41675ff4f0165c2768b4b7f829df5768e8cd1d21e3cd0b3c9cd0fd73c7f151"
}
}
}