radashi-org /
radashi
The modern, community-first TypeScript toolkit with all of the fast, readable, and minimal utility functions you need. Type-safe, dependency-free, tree-shakeable, fully tested.
80/100 healthLoading repository data…
xddq / repository
Minimal and modern starter template to develop a Node.js project leveraging Typescript
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
While developing with Typescript and Node.js is awesome, setting up a new project is painful. This minimal and modern starter repo is here to help you get started with Node.js and Typecript without the pain.
This starter uses a bare-bones and minimal approach to get anyone up and running with a new project in no time. It provides:
compile,
clean, test, bundle, dev and start. These scripts are created to be
compatible with the operating systems linux, macos and windows.git clone git@github.com:xddq/nodejs-typescript-modern-startercd nodejs-typescript-modern-starter && rm -rf .gitgit init && git add . && git commit -am "initial commit"cp .git-hooks/pre-commit .git/hooks/pre-commit. For windows you need to use
WSL to use this.nvm install && nvm use (on windows you need to specify the node version in the command)corepack enableyarnyarn test. See the
section below for all available commands together with their explanation.All scripts can be found inside the package.json file under the "scripts" attribute.
yarn bundle -> Bundles the whole code into a single javascript file which
will be stored inside the dist folder. For prod deployments you typically just
copy this file somewhere and then run something like node --enable-source-maps ./index.js.yarn clean -> Removes bundled files by deleting the dist folder. Normally
there is no need to invoke this manually.yarn compile -> Runs the typescript compiler against the typescript
codebase. Displays any errors if they occur.yarn compile:watch -> Runs the typescript compiler every time you make
changes to a file. It is good to open this in another terminal while
developing to spot typescript issues.yarn dev -> This should be used for running the code while developing. It
watches all changes you make to your typescript codebase and automatically
rebuilds the project. It does also watch all changes made to the built project
and restarts the code whenever changes are detected. This enables a quick
feedback loop.yarn debug -> Starts the app in debugging mode. Waits for a debugger to
attach. See Debugging below for more info.
nodemon --watch src --watch test --ext ts,json --exec 'yarn debug' or when debugging tests with nodemon --watch src --watch test --ext ts,json --exec 'yarn debug:test'yarn debug:test -> Starts the test run in debugging mode. Waits for a
debugger to attach. See Debugging below for more info.yarn format -> Formats the code using prettier.yarn format:check -> Checks for formatting errors using prettier. This is
typically only invoked by the CI/CD pipeline.yarn lint -> Lints the code using eslint. Fixes problems that are
auto-fixable and reports the rest of them to you.yarn lint:check -> Checks for linting errors using eslint. This is typically
only invoked by the CI/CD pipeline.yarn start -> Runs the code. This only works if the code was bundled before ;).yarn test -> Tests your codebase. Basic tests are created for both major
common approaches of putting tests beside the source code as well as putting
tests in a separate folder.
npx http-server ./coverage/lcov-report and then browsing http://localhost:8080.An enourmous amount of people default to console log debugging since
understanding the setup for debugging typescript can be somewhat awful and
painful. This repo provides a debug config and guide ready to use for
vscode and for vim using
vimspector. Both use the mostly
DAP compliant debugger
vscode-js-debug.
There are somewhat "different" ways of starting the debugger. Once is by starting the app and waiting for a debugger to connect and the other one is starting the app initiated by the debugger. I made the experience that the former works on any given code base, no matter the amount of transipilation or bundling steps and custom steups while the latter does fail in extremely customized scenarios. Therefore here only the first one is covered with examples.
yarn debug in another terminalvim ./src/index.ts (or code ./src/index.ts) in another terminal.yarn debug:test in another terminalvim ./src/hello.test.ts in another terminal.yarn debug:test, it should not display the console log yet.This repo has eslint and typescript-eslint as well as an automated Github Action to check for linting set up and ready to go.
The rules in this project are my personal preference and reflect a subset of the recommended options. They also include a lot of the more strict options (NOT included in the recommended ones). My goal is to simplify having a consistent code base/code style, to avoid catchable bugs early and advocate for usage of newer features of the language.
However, I made it dead simple to enable the default/recommended eslint rules, if you want to use them instead. Everything is documented, just browse to ./.eslintrc.cjs and adapt the code.
After using this repo (either via the github template or by simply cloning it) you have to set up a renovate bot. For github this can easily be done via the Github Apps renovate as well as renovate-approve. To be able to the mimic the approach used in this repo, you should set up:
Selected from shared topics, language and repository description—not editorial ratings.
radashi-org /
The modern, community-first TypeScript toolkit with all of the fast, readable, and minimal utility functions you need. Type-safe, dependency-free, tree-shakeable, fully tested.
80/100 healthrizzui /
🎉 A Modern and Minimal React UI Library built with TailwindCSS
64/100 healthsifrr /
:zap: Set of tiny, independent libraries for creating modern and fast webapps with javascript/typescript
SlateDesign /
A minimal, elegant, and modern blog theme built with Astro.
82/100 healthpatrickjmeurer /
A modern minimal Vite + React + TypeScript template with pre-configured ESLint (with Airbnb JS/React rules), Prettier, Testing with Jest and Git hooks with Husky out of the box 📦
70/100 healthHazrat-Ali9 /
🚂 Cool 🚃 Web 🚄 Todo 🚎 List is a 🛼 modern ✈ responsive 🚠 and feature 🚟 rich to do 🚀 list web 🛸 application 🚁 built to elevate ⛱ productivity 🚞 With a minimal 🍔 design and 🥭 smooth UX 🍎 it helps users 🍏 stay organized 🍑 focused 🍿 and efficient 🥯 whether 🦁 on desktop 🦊 or mobile 🐲
71/100 health