Comparing version 0.2.3 to 0.3.0
{ | ||
"name": "domjs", | ||
"version": "0.2.3", | ||
"description": "Build dom structure easy way with plain js. Client and server side template engine", | ||
"version": "0.3.0", | ||
"description": "DOM template engine for client and server", | ||
"author": "Mariusz Nowak <medikoo@medikoo.com> (http://www.medikoo.com/)", | ||
"keywords": [ | ||
@@ -12,4 +13,2 @@ "dom", | ||
], | ||
"author": "Mariusz Nowak <medikoo+domjs@medikoo.com> (http://www.medikoo.com/)", | ||
"main": "lib/html5", | ||
"repository": { | ||
@@ -19,21 +18,25 @@ "type": "git", | ||
}, | ||
"bugs": { | ||
"email": "medikoo+domjs@medikoo.com", | ||
"url": "https://github.com/medikoo/domjs/issues" | ||
}, | ||
"scripts": { | ||
"test": "node ./node_modules/tad/bin/tad lib" | ||
}, | ||
"dependencies": { | ||
"es5-ext": "0.8.x" | ||
"d": "1", | ||
"dom-ext": "0.0.3", | ||
"es5-ext": "^0.10.12", | ||
"es6-iterator": "2", | ||
"es6-map": "^0.1.4", | ||
"event-emitter": "^0.3.4", | ||
"memoizee": "^0.4", | ||
"observable-value": "0.0.5" | ||
}, | ||
"devDependencies": { | ||
"jsdom": "0.2.x", | ||
"tad": "0.1.x" | ||
"commander": "^2.9", | ||
"jsdom": "^9.4.1", | ||
"tad": "^0.2.4", | ||
"xlint": "^0.2.2", | ||
"xlint-jslint-medikoo": "^0.1.4" | ||
}, | ||
"licence": "MIT", | ||
"optionalDependencies": {}, | ||
"engines": { | ||
"node": ">=0.4" | ||
} | ||
"scripts": { | ||
"lint": "node node_modules/xlint/bin/xlint --linter=node_modules/xlint-jslint-medikoo/index.js --no-cache --no-stream", | ||
"lint-console": "node node_modules/xlint/bin/xlint --linter=node_modules/xlint-jslint-medikoo/index.js --watch", | ||
"test": "node ./node_modules/tad/bin/tad" | ||
}, | ||
"license": "MIT" | ||
} |
@@ -1,2 +0,3 @@ | ||
# domjs - client and server side dom template engine | ||
# domjs | ||
## Client and server side dom template engine | ||
@@ -6,14 +7,8 @@ Build dom structure easy way with plain JavaScript. Can be used on both client | ||
## Instalation | ||
### Installation | ||
### Node.js | ||
In your project path: | ||
$ npm install domjs | ||
### Browser | ||
To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: [Browserify](http://browserify.org/), [Webmake](https://github.com/medikoo/modules-webmake) or [Webpack](http://webpack.github.io/) | ||
You can easily create browser bundle with help of [modules-webmake](https://github.com/medikoo/modules-webmake). Mind that it relies on some EcmaScript5 features, so for older browsers you need as well [es5-shim](https://github.com/kriskowal/es5-shim) | ||
## Usage | ||
@@ -43,13 +38,57 @@ | ||
This is how templates for domjs are written. | ||
This is how templates for domjs can be written. | ||
To get `mytemplate` function content turned into DOM | ||
(literally _DocumentFragment_): | ||
Plain `domjs` usage example: | ||
```javascript | ||
var domjs = require('domjs/lib/html5')(document); | ||
var domjs = require('domjs')(document); | ||
var mydom = domjs.build(mytemplate); | ||
var ns = domjs.ns; | ||
var dom = domjs.collect(function () { | ||
ns.header( | ||
ns.h1('Heading'), | ||
ns.h2('Subheading')); | ||
ns.nav( | ||
ns.ul({ 'class': 'breadcrumbs' }, | ||
ns.li(a({ href: '/' }, 'Home')), | ||
ns.li(a({ href: '/section/'}, 'Section')), | ||
ns.li(a('Subject')))); | ||
ns.article( | ||
ns.p('Lorem ipsum...')); | ||
ns.footer('Footer stuff'); | ||
}); | ||
document.body.appendChild(dom); // Insert generated DOM into document body | ||
``` | ||
To use domjs functions literally as in first example, you will need to prepare dedicated function wrapper | ||
(either programmatically or manually) as e.g. following: | ||
```javascript | ||
var myTemplate = (function () {} | ||
var article = ns.article, footer = ns.footer, h1 = ns.h1, h2 = ns.h2 | ||
, header = ns.header, li = ns.li, nav = ns.nav, p = ns.p, ul = ns.ul; | ||
return function () { | ||
header( | ||
h1('Heading'), | ||
h2('Subheading')); | ||
nav( | ||
ul({ 'class': 'breadcrumbs' }, | ||
li(a({ href: '/' }, 'Home')), | ||
li(a({ href: '/section/'}, 'Section')), | ||
li(a('Subject')))); | ||
article( | ||
p('Lorem ipsum...')); | ||
footer('Footer stuff'); | ||
}; | ||
}()); | ||
var dom = domjs.collect(myTemplate); | ||
``` | ||
### Other notes | ||
@@ -105,4 +144,2 @@ | ||
As `jsdom` won't install properly on Windows domjs can only be tested only on _*nix_ systems | ||
$ npm test |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
No bug tracker
MaintenancePackage does not have a linked bug tracker in package.json.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
28703
28
514
143
0
8
5
2
1
+ Addedd@1
+ Addeddom-ext@0.0.3
+ Addedes6-iterator@2
+ Addedes6-map@^0.1.4
+ Addedevent-emitter@^0.3.4
+ Addedmemoizee@^0.4
+ Addedobservable-value@0.0.5
+ Addedd@0.1.11.0.2(transitive)
+ Addeddeferred@0.7.11(transitive)
+ Addeddom-ext@0.0.3(transitive)
+ Addedes5-ext@0.10.64(transitive)
+ Addedes6-iterator@0.1.32.0.3(transitive)
+ Addedes6-map@0.1.5(transitive)
+ Addedes6-set@0.1.6(transitive)
+ Addedes6-symbol@2.0.13.1.4(transitive)
+ Addedes6-weak-map@0.1.42.0.3(transitive)
+ Addedesniff@2.0.1(transitive)
+ Addedevent-emitter@0.3.5(transitive)
+ Addedext@1.7.0(transitive)
+ Addedis-promise@2.2.2(transitive)
+ Addedlru-queue@0.1.0(transitive)
+ Addedmemoizee@0.3.100.4.17(transitive)
+ Addednext-tick@0.2.21.1.0(transitive)
+ Addedobservable-value@0.0.30.0.5(transitive)
+ Addedtimers-ext@0.1.8(transitive)
+ Addedtype@2.7.3(transitive)
- Removedes5-ext@0.8.2(transitive)
Updatedes5-ext@^0.10.12