Development test project.
The current stage of this project is in active development. As such, commits may not be granular, and changes may not always be tracked in fine detail.
- Use mise.
Don't have mise? Checkmise.toml
and install them manually. - Install yarn:
npm i -g corepack && corepack enable && corepack install -g yarn
.
WORK IN PROGRESS. DOES NOT WORK YET.
just init
just
See Justfile
recipes.
This repository is for developing/testing experimental packages such as the following:
- GraphQL client with type-level parser/analyzer, like
gql.tada
but with@include
/@skip
support and more - Strongly typed GraphQL server framework with strict type checking (in contrast to
type-graphql
) - Command-line arguments parser with type-level invalid option detection
- Markdown/MDX alternative document format that supports plugins, section termination, rich structured data, etc.
- TailwindCSS alternative utility class generator without a huge initial bundle size, and with much more robust dark mode/interactive/group support, etc.
- User login
- Post, comment
- User group and role, access control to posts
- Approval system for sharing posts with other entities
- Use Visual Studio Code or its variant.
- Setup prettier by
yarn unplug prettier-plugin-tailwindcss
Currently, all packages are nested three levels deep in the packages/
directory.
For example: packages/a/b/c
.
All *.js
and [!_]*.d.ts
files are excluded from Git and VS Code.
Therefore, if you need to include a .d.ts
file, make sure it starts with an underscore (e.g., _declarations.d.ts
).
If type errors occur because of residual .d.ts
files, use the command below:
just clean
Note: Actual directory structure may not match yet
application
- Shared, application-specific packagesapi
- API specification between backend/frontendlogic
- Common logic between backend/frontend
backend
- Backend-specific packagesadapters
- Adapter implementationsapplication
- Core business logicdata
- Data layerscripts
- Runnable scripts, such as server startutil
- Backend-specific utilities
development
- Used only for developmentcodegen
- For code generationscripts
- Scripts for developmentutil
- Utilities fordevelopment/*
packages
editor
- MDCode: Markdown alternative document formatcore
- Essential packages to handle the documentplugins
react
- Renderer and renderer plugins for React
frontend
- Frontend-specific packagesapps
- Next.js appscomponents
- React componentsutil
- Utilities only for frontend
graphql
- GraphQL tools like runtime/type-level parsercommon
- Shared components between server/clientclient
server
types
- Core types and type-level parser/analyzer, etc.
util
- Basic unopinionated utilitiesatomic
- Utilities in the smallest unitclient
- Type-checked REST/GraphQL/JSON-RPC/etc. clienttypes
- Type-only utilities
viuc
- Very Interactive Utility Classes: TailwindCSS alternativemain
type-plugins
- Plugins for types such asbg-[color]
variant-plugins
- Plugins for variants such asfocus: