Neo.mjs uses a mono-repo structure and the the folders should be mostly self explanatory.
This contains demo apps created with the createApp build script. Demo apps are created together in this repo, to allow for work on the framework source in parallel. (Note: The createApp build script creates a neo.mjs app shell within this repository's app folder.) Once a demo app is done, we usually use npx neo-app
to create a new shell and move it into the neo namespace.
This contains the nodejs based programs such as createApp. The tooling (webpack) to create the dist versions, themes & docs output.
This should NOT be checked into version control. It will get generated from build scripts. Please do not remove from .gitignore
.
This contains the codebase for the documentation site and the docs output (generated with the geneate-docs-json script). The documentation app is built using neo.mjs. Take a look at the API section of the online version of the online version for Chrome v80+ to get an idea about the class heirarchy of neo.mjs.
This contains examples of various UI elements. Many of the UI elements get added into the docs app (examples section).
This should NOT be checked into version control. Please do not remove from .gitignore
.
This contains the bulk of the framework code. You will spend most of your time working here.
This contains mostly static assests such as style sheets and images for the neo themes (dark and light thenes) and structuring.
This contains the siesta based unit & user interaction tests. This part definitely needs more love and contribution.
There are some Javascript legends hiding in the shadows and waiting to be discovered.
Join our community:
Slack Channel Invite Link
Build with ❤️ in Germany
Copyright (c) 2015 - today, Tobias Uhlig & Rich Waters