Taon has very flexible structure for build apps and libraries. Each project can be at the same time library and app.
There 2 types of project app and libraries:
- standalone (simple project with that has /src for for all source code)
- organization (contains multiple standalone projects that can be build together)
Each taon project should have distincy name that follow
npm package naming convention (without @,.,_).
To simplyfiy development process all these tree things:
project name, folder name, package.json(name property) should
have the same name to avoid confusion.
Command taon init
will alwayus update package.json(name property)
to project folder name.
Your pacakge name,folder is at the same time you published to npm package name.
Isomorphic package contains all neccessary js (or mjs) files for backend and frontend. Usual structure:
/lib # all backend es5 javascript code
/browser # browser code for normal nodejs/angular development
/client # same thing as /browser @deprecaed now
/websql # special version of browser code from WEBSQL MODE
/bin # cli related files
/assets/shared # shared assets from project
Config of application
Injectable to angular's api service - glue between backend and frontend.
Entity class that can be use as Dto.
Injectable (service like) classes singleton classes.
Injectable (service like) classes for backend db communication (similar to https://typeorm.io/custom-repository).
Injectable (service like) classes for subscribing to entity events (just like in subscribers in https://typeorm.io/listeners-and-subscribers)