Back to the Basics. Into the Future.
https://mcfly.js.org
.vscode | ||
packages | ||
plugins | ||
public | ||
routes | ||
src | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc | ||
.gitignore | ||
.npmrc | ||
mcfly.config.ts | ||
nitro.config.ts | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json |
McFly: Back to the Basics. Into the Future.
McFly is a framework that grows with you. Start at the very basic of writing HTML files and enhance with standard web technologies or go advanced as you like, at your own pace.
- HTML pages
- Server-Side Rendering logic
- Custom Elements
- REST APIs
...all in the same project.
Ambitious Goals
We want a way to:
- create web apps with vanilla custom elements
- write real .HTML files
- no frameworks or reactivity libraries on the browser
- server-side pre-rendering
- control on when and where JS is downloaded for interactive elements
Special directories
1. src/pages
- file based routing for
.html
files - directly use custom elements (no registry maintenance needed)
2. src/components
- custom element constructor class files go here (only
.js
files for now) - all components are automatically registered using their file names (e.g., a
hello-world.js
component can be used as<hello-world>
element)
Setting up
Do the following steps to get you started:
- clone project and go into the directory
git clone https://github.com/ayoayco/mcfly.git
cd mcfly
- install deps
npm i
- run the dev server
npm run dev
- open the browser to
https://localhost:3000
(or what the dev server said)
More info
At the moment, this is a Proof of Concept and testing ground for using Nitro and vanilla JS custom elements using a minimal Web Component Base class.
This project was generated from Nitro starter guide. Look at the Nitro documentation to learn more.