
Security News
GitHub to Block pull_request_target Workflows by Default Starting December 2
GitHub is tightening GitHub Actions security with new restrictions on privileged pull request workflows. Here's what changes and how maintainers are affected.
A code generator companion for routers featuring build tool/framework-agnostic type-safe file-based routes.
A code generator companion for routers featuring build tool/framework-agnostic type-safe file-based routes.
Install an appropriate build tool integration.
import soonlohVite from 'soonloh/vite';
export default defineConfig({
plugins: [
...,
soonlohVite(),
],
...,
})
Metro has no unplugin adapter, so soonloh ships a small config wrapper instead. It runs codegen before the first bundle and, in dev, watches the router root to regenerate live.
// metro.config.js
const { getDefaultConfig } = require('expo/metro-config'); // or '@react-native/metro-config'
const withSoonloh = require('soonloh/metro').default;
module.exports = withSoonloh(getDefaultConfig(__dirname));
Watching defaults to on unless NODE_ENV === 'production'; pass
withSoonloh(config, { watch: false }) to force one-shot generation.
Add soonloh.config.ts.
import * as soonloh from 'soonloh';
import { snzrwm } from 'soonloh/builtin-parsers';
import { genLink } from 'soonloh/builtin-generators';
export default soonloh.config({
routerRoot: 'src/app/',
parser: snzrwm.parser({}),
generators: [genLink({})],
});
:tada: It generates a code based on the file routes.
The Soonzorowoom(순조로움) parser. You must end the filename with page, route or ALLCAPS so the parser can recognize.
The segments not only split by / but also by ..
Examples
api/post/like.$id.POST.tsx meaning POST /api/post/like/:id(website)/post.[$id]/page.tsx meaning GET /post or GET /post/:id(seo)/{sitemap.xml}/route.tsx meaning GET /sitemap.xmlwiki/$+entry.page.tsx meaning GET /wiki/A, GET /wiki/A/B, ... and so onReference
| Syntax | Feature |
|---|---|
| _ignore | Ignore the path recursively |
| $param | Single value param |
| $+params | Multi value params separated by / |
| [brackets] | By combining with params, make it optional |
| (parenthesis) | Make a grouping folder without affecting routes |
| {curly braces} | Escape the syntaxes above |
[!NOTE] soonloh is not an alternative to the existing router libraries. It is an companion codegen making them Build Their Own Type-safe File Routes.
TBD
TBD
TBD
TBD
TBD
FAQs
A code generator companion for routers featuring build tool/framework-agnostic type-safe file-based routes.
We found that soonloh demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
GitHub is tightening GitHub Actions security with new restrictions on privileged pull request workflows. Here's what changes and how maintainers are affected.

Security News
/Application Security
A practical guide to securing GitHub Actions against supply chain attacks, covering malicious pull requests, credential theft, dependency risks, and release pipelines.

Security News
Composer 2.11 adds dependency cooldowns, joining package managers that delay new releases to reduce supply chain risks while allowing urgent security updates.