MCPcopy Index your code
hub / github.com/egoist/franxx

github.com/egoist/franxx @v2.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.0.1 ↗ · + Follow
28 symbols 52 edges 4 files 5 documented · 18%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

FRANXX

NPM version NPM downloads CircleCI donate

Install

npm i franxx history

Usage

import { createRouter } from 'franxx'
import { createBrowserHistory } from 'history'

const router = createRouter(createBrowserHistory())

router.add('/', () => {
  console.log('homepage')
})

router.add('/user/:name', ({ params, query }) => {
  console.log(params.name)
})

// The router by default automatically runs route handler
// When URL changes
// But for initial render
// You need to call this:
router.run()

// Go to another page
router.push('/user/egoist?from=NASA#profile')
// Or let us normalize the path for you
router.push({
  pathname: '/user/egoist',
  query: { from: 'NASA' },
  hash: '#profile',
})

Supported path patterns:

  • Static (/foo, /foo/bar)
  • Parameter (/:title, /books/:title, /books/:genre/:title)
  • Parameter w/ Suffix (/movies/:title.mp4, /movies/:title.(mp4|mov))
  • Optional Parameters (/:title?, /books/:title?, /books/:genre/:title?)
  • Wildcards (*, /books/*, /books/:genre/*)

Note that the order you add routes matters, dynamic routes should always go last, i.e. add /about before adding *. We will address this issue in a future version.

CDN

Load it as an ES module from CDN:

<script type="module">
  import { createRouter } from 'https://cdn.jsdelivr.net/npm/franxx/dist/index.mjs'
</script>

API

https://paka.dev/npm/franxx

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

franxx © egoist, Released under the MIT License.

Authored and maintained by egoist with help from contributors (list).

github.com/egoist · GitHub @egoist · Twitter @_egoistlily

Extension points exported contracts — how you extend this code

Route (Interface)
(no doc)
src/router.ts
ResolvedRoute (Interface)
(no doc)
src/router.ts

Core symbols most depended-on inside this repo

push
called by 6
src/router.ts
add
called by 3
src/router.ts
resolveFromCurrentLocation
called by 3
src/router.ts
createRouter
called by 2
src/router.ts
run
called by 2
src/router.ts
stringifyQuery
called by 2
src/utils.ts
parseQuery
called by 2
src/utils.ts
locationToPath
called by 2
src/utils.ts

Shape

Method 16
Function 8
Class 2
Interface 2

Languages

TypeScript100%

Modules by API surface

src/router.ts21 symbols
src/utils.ts7 symbols

For agents

$ claude mcp add franxx \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page