Skip to content

ayoayco/McFly

Repository files navigation

rRick & Morty cartoon

McFly

McFly is a no-framework framework
that assists in leveraging the web platform

Project Status

We are currently in a Proof of Concept phase. All parts are subject to breaking changes in minor releases.

Tip

Need help? Wanna hangout? Everyone is welcome to join our public Matrix space at mcfly.js.org/chat or just read through the Discussion channel even without an account!

Installation

Run the following to generate a McFly starter project.

npm create mcfly@latest

Features

The time has come for vanilla Web tech. 🎉

✅ Create web apps with vanilla custom elements
✅ Write real .HTML files
✅ Have no frameworks or reactivity libraries on the browser
✅ Use server-side rendering
✅ Deploy anywhere

Special directories

1. ./src/pages/

  • file-based routing for .html files
  • directly use custom elements & static fragments (no imports or registry maintenance needed)
  • use <script server:setup> to define logic that runs on the server, which then gets stripped away

2. ./src/components/

  • custom element constructor files (only .js files for now)
  • all components are automatically registered using their file names; a hello-world.js component can be used as <hello-world>
  • static .html fragments; a my-header.html fragment can be directly used as <my-header>

3. ./routes/api/

  • file-based routing for REST API endpoints
  • e.g., ./routes/api/users.ts can be accessed via http://<domain>/api/users
  • TypeScript or JavaScript welcome!

Packages

The following are the project packages published on the NPM registry:

Package Description Version
@mcflyjs/cli The McFly CLI tooling npm version
@mcflyjs/config Nitro server config for McFly projects npm version
@mcflyjs/core Route event and config handlers npm version
create-mcfly Script for scaffolding a new McFly workspace npm version

More info

This framework is a result of an exploration for using Nitro and vanilla JS custom elements using a minimal Web Component Base class.

Nitro is the same production-grade web server powering Nuxt


Just keep building
A project by Ayo Ayco

About

[🚧 In-Progress] Back to the Basics. Into the Future. 😱

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published