A TypeScript-first toolkit for working with Notion. This project began as a fork of React Notion X and adds features like a search API, backlink support and extended property rendering. Everything is bundled as a monorepo containing small focused packages.
- Search API with backlink support
- Extended property rendering
- CLI exporter and React renderer
- Works in Node.js and the browser
The original project focuses on rendering Notion pages. Texonom Notion adds a custom client with search and backlink APIs, an exporter CLI and improved property handling.
@texonom/ntypes
– shared TypeScript definitions@texonom/nclient
– Node/Deno client for the unofficial Notion API@texonom/ncompat
– compatibility layer for the official API@texonom/nutils
– utility functions for Notion data@texonom/nreact
– React renderer built on top of the above@texonom/cli
– CLI for exporting pages and workspaces
import { NotionAPI } from '@texonom/nclient'
import { NotionRenderer } from '@texonom/nreact'
const api = new NotionAPI()
const recordMap = await api.getPage('PAGE_ID')
<NotionRenderer recordMap={recordMap} fullPage />
import { parsePageId } from '@texonom/nutils'
parsePageId('About-d9ae0c6e7cad49a78e21d240cf2e3d04')
// 'd9ae0c6e7cad49a78e21d240cf2e3d04'
See it live at texonom.com.
pnpm tsx packages/cli/src/main.ts export -p 04089c8ae3534bf79512fc495944b321 --raw -r -f
pnpm i
pnpm build # tsup
pnpm test # vitest
Version updates are automated via standard-version
.
pnpm build && pnpm test
VERSION=<new version>
pnpm release $VERSION
pnpm turbo release -- $VERSION
pnpm format
git commit -am "meta: deployment commit for $VERSION"
git tag $VERSION
pnpm turbo pu
git push && git push --tags
pnpm build && pnpm test
VERSION=<alpha|beta|rc>
pnpm prerelease $VERSION
pnpm turbo prerelease -- $VERSION
git commit -am "meta: deployment commit for $VERSION"
pnpm turbo pu
- Fork the repo and create a feature branch.
pnpm i
to install dependencies.- Run
pnpm build
andpnpm test
before opening a pull request.
- Turborepo for monorepo management
- TSup for builds
- Vitest for tests
- ESLint and Prettier for code style
- Husky git hooks
- Standard Version for releases