🏰

Typerepo

The new way to dev

GitHub

  modules

k-dev

CLI that starts a watcher that watches all your operations for changes and rebuilds the operation on every change (compiling and indexing the altered file(s))

New template

new-template (OperationClassification node-cjs)

generate-sdk-operations

This operation contains different functions to generate all possible sdk operations according to the King OS convention.

Ensure to apply all King OS conventions when generating these operations, because otherwise they may contain typescript errors and this may result in runtime errors.

rebuild-operation

Operation that makes it possible to rebuild an operation (re-index, re-build, etc.)

Code types

code-types (OperationClassification cjs)

❌ No description set yet

Please set a description for this operation in OPERATION.md

❌ No description set yet

Please set a description for this operation in OPERATION.md

This is a js operation. This means you cannot use any react or node, it's pure typescript, compiled to javascript, and can be used anywhere.

all

This operation contains a lot of different functions that can help you to execute different things on all operations.

api

Operation that makes the typerepo API exposable on the frontend in a completely typesafe way.

api-store

api-types

api-related types needed for the api operation

❌ No description set yet

Please set a description for this operation in OPERATION.md

ask

CLI helpers to ask for input parameters (instead of providing as part of the cli command itself)

❌ No description set yet

Please set a description for this operation in OPERATION.md

This is a js operation. This means you cannot use any react or node, it's pure typescript, compiled to javascript, and can be used anywhere.

Asset functions node

asset-functions-node (OperationClassification node-cjs)

📸 Asset Input

This component lets you easily add asset input that includes upload with the typerepo server standard (function-server)

asset-type

All types related to asset upload

📁 AssetView

AssetView shows an asset. Every file-format has a different way to be rendered.

Augmented word node

augmented-word-node (OperationClassification node-cjs)

❌ No description set yet

Please set a description for this operation in OPERATION.md

This is a js operation. This means you cannot use any react or node, it's pure typescript, compiled to javascript, and can be used anywhere.

auth-types

🔐 Authentication

authentication provides all kinds of components to implement an authentication layer into your project.

Big button

big-button (OperationClassification ui-cjs)

🥐 breadcrumbs

frontend component to show a file location in a nice way (breadcrumbs)

❌ No description set yet

Please set a description for this operation in OPERATION.md

This is a js operation. This means you cannot use any react or node, it's pure typescript, compiled to javascript, and can be used anywhere.

Bundle types

bundle-types (OperationClassification cjs)

Bundle util

bundle-util (OperationClassification node-cjs)

❌ No description set yet

Please set a description for this operation in OPERATION.md

Child process helper

child-process-helper (OperationClassification node-cjs)

cleanup-typescript-database

Collection of functions to cleanup the typescript database (all typescript related models)

Clickable icon

clickable-icon (OperationClassification ui-cjs)

Comment util

comment-util (OperationClassification cjs)

Compile typescript

compile-typescript (OperationClassification cjs)

📖 context-menu

Powerful hooks to render custom context on mobile and non-mobile devices.

Convert case

convert-case (OperationClassification cjs)

😎 cool-toast

This library uses react-with-native-notification to show nice toasts in different formats (super opinionated!).

Csv util

csv-util (OperationClassification node-cjs)

database

Operation that can be used within any typerepo to interact with the fs-orm (typebase) database. Relies on sdk-db (where your models should be summarized)

💣 db-crud

Add a CRUD for any model into your app. The only thing you need to do is this:

  1. Add two pages named db and upsert to your routes, that import DbPage and UpsertPage respectively.

  2. Add Typerepo-compatible login (e.g. login-form to your app). This component only works when the api.authToken is set to a token that is authorised to do the CRUD.

db-recipes

Useful library of functions that wrap the fs-orm database.

Db util

db-util (OperationClassification node-cjs)

❌ No description set yet

Please set a description for this operation in OPERATION.md

❌ No description set yet

Please set a description for this operation in OPERATION.md

explore-project

explore-project explores the whole OS or project, so information about the project can be shown in a UI or used in another way

Fancy loader

fancy-loader (OperationClassification ui-cjs)

ffmpeg-util

wrapper around fluent-ffmpeg to get useful ffmpeg things

❌ No description set yet

Please set a description for this operation in OPERATION.md

🌈 file-icons

Exposes funcitons to get a nice emoji file-icon for any file type

🔎 file-search

Exposes functions to easily create a file-search menu in your react-app

📁 file-tabs

Open files as tabs so you can come back there...

File Writer

This is a wise component that lets you easily include a writer-input user interface into your app for any file.

filename-conventions

Any functions and variables related to filename conventions

Find all dependency operations

find-all-dependency-operations (OperationClassification node-cjs)

folder-get-updated-at

Get last updated file updatedAt time in whole folder, recursively

❌ No description set yet

Please set a description for this operation in OPERATION.md

This is a js operation. This means you cannot use any react or node, it's pure typescript, compiled to javascript, and can be used anywhere.

fs-orm

ORM that lets you create a database with models that are stored on the file system in multiple formats that are easy to understand and well structured.

fs-util

General purpose wrapper around node:fs and node:path that should be used instead of those, because it removes some of its painpoints, removes unneeded stuff, and adds some other useful functions.

Fs util js

fs-util-js (OperationClassification node-cjs)

❌ No description set yet

Please set a description for this operation in OPERATION.md

This is a js operation. This means you cannot use any react or node, it's pure typescript, compiled to javascript, and can be used anywhere.

function-form

Component that lets you easily create a frontend form for any function in your project (both backend and frontend functions)

Function functions node

function-functions-node (OperationClassification node-cjs)

function-server-endpoints

Wraps all functions found in sdk-api and creates server endpoints for them. Besides simply wrapping them into an endpoint, it also adds some extra layers to every function.

function-types

function-util

Exposes clis that make it possible to interact with all King OS functions through the CLI in different ways

Generate index

generate-index (OperationClassification node-cjs)

❌ No description set yet

Please set a description for this operation in OPERATION.md

Geo types

geo-types (OperationClassification cjs)

get-all-operation-source-paths

returns src folder paths of all operations

Get imported dependencies

get-imported-dependencies (OperationClassification node-cjs)

Get imports exports

get-imports-exports (OperationClassification node-cjs)

Get package json

get-package-json (OperationClassification node-cjs)

get-package-source-paths

Returns an array of absolute file paths of (typescript) files in the src of your operation

get-path

Useful functions to get paths within the project.

Depends on sdk-operations, which makes it only work inside of a typerepo.

get-ts-config

Gets the TsConfig given a path to an operation

⌨️ hotkeys

Operation exposing any utility function related to hotkeys in the browser

Index typescript

index-typescript (OperationClassification node-cjs)

Is online

is-online (OperationClassification node-cjs)

❌ No description set yet

Please set a description for this operation in OPERATION.md

Js util

js-util (OperationClassification cjs)

Json util

json-util (OperationClassification cjs)

k-explore

exploration functions for exploring files within King OS

Currently has a thin dependency on get-path, but this can probably be removed to make this operation more general purpose (and work outside of King OS too)

K test

k-test (OperationClassification node-cjs)

Key value markdown js

key-value-markdown-js (OperationClassification cjs)

Labeled button

labeled-button (OperationClassification ui-cjs)

Language types

language-types (OperationClassification cjs)

🌈 Layout

Easily put together a complete layout (header, menu, authentication). Now all you need is the pages!

Lint

lint (OperationClassification node-cjs)

❌ No description set yet

Please set a description for this operation in OPERATION.md

This is a js operation. This means you cannot use any react or node, it's pure typescript, compiled to javascript, and can be used anywhere.

❌ No description set yet

Please set a description for this operation in OPERATION.md

Log

log (OperationClassification cjs)

mail

make-file-type

exposes makeFileType, a function that helped turning a path into a specific type. Was previously used for things like watching, but this is probably not needed anymore.

Make test

make-test (OperationClassification cjs)

markdown-parse-js

js-only operation containing all kinds of functions that help parsing markdown

Markdown parsings

markdown-parsings (OperationClassification node-cjs)

Markdown reader functions

markdown-reader-functions (OperationClassification node-cjs)

Markdown reader functions js

markdown-reader-functions-js (OperationClassification ui-cjs)

Markdown reader types

markdown-reader-types (OperationClassification node-cjs)

markdown-types

Extended types that extend the MarkdownModelType but shouldn't be part of it because it is too niche.

❌ No description set yet

Please set a description for this operation in OPERATION.md

This is a js operation. This means you cannot use any react or node, it's pure typescript, compiled to javascript, and can be used anywhere.

Matter types

matter-types (OperationClassification cjs)

❌ No description set yet

Please set a description for this operation in OPERATION.md

This is a js operation. This means you cannot use any react or node, it's pure typescript, compiled to javascript, and can be used anywhere.

🤯 menu

Wise component that makes you a menu

Minify build

minify-build (OperationClassification node-cjs)

Model types

model-types (OperationClassification cjs)

name-conventions

Any functions and variables related to variable declaration naming conventions

Nested menu

nested-menu (OperationClassification ui-cjs)

❌ No description set yet

Please set a description for this operation in OPERATION.md

This is a js operation. This means you cannot use any react or node, it's pure typescript, compiled to javascript, and can be used anywhere.

Next a link

next-a-link (OperationClassification ui-cjs)

🌐 next-paths

operation that helps you to render your own paths in a next project without using their pages convention

Nodemon

nodemon (OperationClassification node-cjs)

One by one

one-by-one (OperationClassification cjs)

operation-util

Operation with utility functions to calculate things about operations and alter operation-index.

Parse primitive

parse-primitive (OperationClassification cjs)

path-util

Gets insightful information about any file or folder (path)

Peer functions

peer-functions (OperationClassification node-cjs)

Peer types

peer-types (OperationClassification cjs)

persona-functions-node

Pluralize

pluralize (OperationClassification cjs)

pm2-util

Wrapper around pm2 to easily manage proceses within King OS

port-conventions

Any functions and variables related to port conventions

🤯 prompt-components

Powerful components that let you do more with language

puppeteer-utils

puppeteer utils or helper functions

Queue system

React with native

react-with-native (OperationClassification ui-cjs)

Alert

TODO: NB: seems not to work right now in a new template! Fix it

React with native form

react-with-native-form (OperationClassification ui-cjs)

❌ No description set yet

Please set a description for this operation in OPERATION.md

React with native form inputs

react-with-native-form-inputs (OperationClassification ui-cjs)

React with native modal

react-with-native-modal (OperationClassification ui-cjs)

🔔 react-with-native-notification

Makes it possible to receive notifications in both react and react-native.

React with native router

react-with-native-router (OperationClassification ui-cjs)

React with native select

react-with-native-select (OperationClassification ui-cjs)

React with native store

react-with-native-store (OperationClassification ui-cjs)

React with native table

react-with-native-table (OperationClassification ui-cjs)

React with native ui

react-with-native-ui (OperationClassification ui-cjs)

Read csv file

read-csv-file (OperationClassification node-cjs)

Read json file

read-json-file (OperationClassification node-cjs)

Read kvmd file

read-kvmd-file (OperationClassification node-cjs)

Read markdown file

read-markdown-file (OperationClassification node-cjs)

Read typescript file

read-typescript-file (OperationClassification node-cjs)

recursive-types

Making a nice library a la ts-toolbelt to showcase some cool recursive types and related functions. Recursion is awesome!

❌ No description set yet

Please set a description for this operation in OPERATION.md

This is a js operation. This means you cannot use any react or node, it's pure typescript, compiled to javascript, and can be used anywhere.

rename-template-files

Rename template files to their original name

Useful when you want to apply a template to create a new starting point for something

Rest util

rest-util (OperationClassification cjs)

Run child process

run-child-process (OperationClassification cjs)

say

Operation that contains multiple functions that wrap the say cli on MacOS to let the device speak out text.

Can later be extended to wrap other clis or even api's.

Should also be extended to work on multiple operating systems.

Schema util

schema-util (OperationClassification cjs)

Search

search (OperationClassification cjs)

server-api-url

Operation that exports the api url that the api should be able to be found at, according to the users environment, the typerepo convention and your public environment variables.

server-login

This operation exposes rudimentary functions to set cookies from the backend. We require cookies in order to authenticate a user for GET requests. Cookies are sent to the server for every request and are a safer way, because they are not part of the URL that can be found in the browser history.

This thing is far from finished, see todo/ for what needs to be done.

set-json-key

Useful functions to alter JSON files (can be used both with node or with a CLI)

❌ No description set yet

Please set a description for this operation in OPERATION.md

❌ No description set yet

Please set a description for this operation in OPERATION.md

❌ No description set yet

Please set a description for this operation in OPERATION.md

This is a js operation. This means you cannot use any react or node, it's pure typescript, compiled to javascript, and can be used anywhere.

simplified-schema-form

component that generates a form using react-with-native and a SimplifiedSchema. Can obtain any JSON object from the user.

sms

Social media types

social-media-types (OperationClassification cjs)

string-to-json

Parser functions to parse strings (that can be inputted in the command-line) into objects (that can be read in functions)

💫 Swipe homepage

This homepage component assumes you provide it some CTA's (ideally 2 or 3) and some items.

  • The items will be swipable
  • The logo should be available in public/logo.png

Tabs

tabs (OperationClassification ui-cjs)

🗳 text or binary?

This operation provides handy functions to check whether the contents of a file are of a text or binary format...

This is a js operation. This means you cannot use any react or node, it's pure typescript, compiled to javascript, and can be used anywhere.

Tells the time at fixed timezone

Next step: https://developers.google.com/calendar/api/concepts/events-calendars

Integrate with Google Calendar API so I can easily see which events I have every day and set up an automatic reminder.

A good thing would be that it still allows people to invite me via google etc, it's easy to work with for VA's, and integrates with all other tools automatically. You can probably even add other calendars to it, like the one of microsoft and apple. Therefore it's a complete solution.

The amazing thing is I don't need to know the time anymore at any point (except maybe when underway)

todo-types

types related to the upcoming todo-ui

This is a js operation. This means you cannot use any react or node, it's pure typescript, compiled to javascript, and can be used anywhere.

❌ No description set yet

Please set a description for this operation in OPERATION.md

Try parse json

try-parse-json (OperationClassification cjs)

Ts morph util

ts-morph-util (OperationClassification node-cjs)

Ui util

ui-util (OperationClassification cjs)

❌ No description set yet

Please set a description for this operation in OPERATION.md

Use url store

use-url-store (OperationClassification cjs)

vscode-open

function to open a file in VSCode (wraps code cli command)

👁 Watch All

With typerepo you can easily watch your complete project from anywhere using watch-all. If you want to create watcher, all you need to do is the following:

  1. Create an exported function in a node operation that has an explicit type definition as "ProjectWatcher".

  2. Set a filter as a property of your function, to determine when the function should be executed

  3. The body of the function should contain the action that you want to execute when the watcher determines that it should.

For exmaple, this function below will only be executed if a typescript file in a src folder is created or changed.

import { getExtension } from "fs-util-js";
import { ProjectWatcher } from "watch-all";

export const setTypescriptIndex: ProjectWatcher = (eventName, path) => {
  console.log("Should index this typescript file", path);
};

setTypescriptIndex.filter = (eventName, path) => {
  // for indexation we don't care about any other event than adding or changing a file
  if (!["add", "change"].includes(eventName)) return false;
  // in order to index a file, it must be in an operation, which means it must be in src
  if (!path.includes("/src/")) return false;
  // only ts and tsx files matter, the rest doesn't need to be indexed
  if (!["ts", "tsx"].includes(getExtension(path))) return false;

  return true;
};

By default, all generated folders are never watched.

watch-folders

General purpose functions to watch folder(s) for changes on any operating system

watch-operations

Calls rebuildOperation for every filechange in every operation watched

❌ No description set yet

Please set a description for this operation in OPERATION.md

This is a js operation. This means you cannot use any react or node, it's pure typescript, compiled to javascript, and can be used anywhere.

webpage-types

This library contains a set of conventions for different standards of webpages. It integrates with typerepo to create complete platforms super quickly.

write-to-assets

Function to write anything to assets.

Writer functions

writer-functions (OperationClassification node-cjs)

writer-types