Mam owns Agnostic Modules. This is base MAM project.
- Agnostic modules. Module is directory with mixed source files (JS, TS, CSS, JSON, HTML, Tree, images etc).
- Automatic dependency tracking. You don't need import/export - simply use namespaced names in accordance to directory structure, like
$mol_http_resource
/$jin.time.moment
in*.JAM.JS
/*.TS
or--mol_skin_light
/[mol_page_title]
/.my-header-avatar
in*.CSS
. - PostCSS support. Write a cutting age css code.
- Development server with automatic bundling on request. Only if you use it then it will have bundled.
- Build anyone module as standalone bundle. You can develope thousand of modules in one project.
- Cordova project generation. Simply add
config.xml
to module and-cordova
dir with cordova project will have generated.
Checkout this repo (~2s):
git clone https://github.com/eigenmethod/mam.git ./mam && cd mam
Install node modules (~1m)
npm install
Build dev server from sources and start that (first ~15s, second ~10s):
npm start
Open simple $mol based ToDoMVC application (first ~4s, second ~0.3s):
start http://localhost:8080/mol/app/todomvc/
Open $mol demos application (first ~11s, second ~0.5s):
start http://localhost:8080/mol/
- Execute
npm start mol/app/todomvc
to build ToDoMVC application (~13s). - Execute
npm start mol
to build $mol demos application (~15s). - Execute
npm start lib/pdfjs
to build PDFJS library (~1s).
- Create dir for your namespace.
my
in example. - Create dir for your module.
my/alert
in example. - Create module source file.
my/alert/alert.ts
with contentfunction $my_alert( msg : string ) { alert( msg ) }
in example. - Create dir for your application module.
my/app
in example. - Create application source file.
my/app/app.ts
with content$my_alert( 'Hello, World!' )
in example. - Create application web entry point.
my/app/index.html
with content<script src="-/web.js"></script><script src="-/web.test.js"></script>
in example. - Start development server:
npm start
- Open your application.
http://localhost:8080/my/app/
in example.