Skip to content

Commit 28dedcf

Browse files
committed
v1.0.6 release
Minor bug fix Small corrections or improvements to documentation and some additional unit tests...
1 parent 6c97c26 commit 28dedcf

14 files changed

+61
-78
lines changed

MIT-LICENSE.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2019 Boris Moore https://github.com/BorisMoore/jsrender
1+
Copyright (c) 2020 Boris Moore https://github.com/BorisMoore/jsrender
22

33
Permission is hereby granted, free of charge, to any person obtaining
44
a copy of this software and associated documentation files (the

jsrender-node.js

+4-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
/*! JsRender v1.0.5: http://jsviews.com/#jsrender */
1+
/*! JsRender v1.0.6: http://jsviews.com/#jsrender */
22
/*! **VERSION FOR NODE.JS** (For WEB see http://jsviews.com/download/jsrender.js) */
33
/*
44
* Best-of-breed templating in browser or on Node.js.
55
* Does not require jQuery, or HTML DOM
66
* Integrates with JsViews (http://jsviews.com/#jsviews)
77
*
8-
* Copyright 2019, Boris Moore
8+
* Copyright 2020, Boris Moore
99
* Released under the MIT License.
1010
*/
1111

@@ -19,7 +19,7 @@ if (typeof exports !== 'object' ) {
1919

2020
//========================== Top-level vars ==========================
2121

22-
var versionNumber = "v1.0.5",
22+
var versionNumber = "v1.0.6",
2323

2424
// global var is the this object, which is window when running in the usual browser environment
2525

@@ -451,9 +451,7 @@ function contextParameter(key, value, get) {
451451
: res[1](res[0].data, res[0], $sub) // = fn(data, view, $sub) for compiled binding expression
452452
: res[0]._ocp; // Observable contextual parameter (uninitialized, or initialized as static expression, so no path dependencies)
453453
if (isUpdate) {
454-
if (res && newRes !== value) {
455-
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
456-
}
454+
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
457455
return storeView;
458456
}
459457
res = newRes;

jsrender.js

+4-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
/*! JsRender v1.0.5: http://jsviews.com/#jsrender */
1+
/*! JsRender v1.0.6: http://jsviews.com/#jsrender */
22
/*! **VERSION FOR WEB** (For NODE.JS see http://jsviews.com/download/jsrender-node.js) */
33
/*
44
* Best-of-breed templating in browser or on Node.js.
55
* Does not require jQuery, or HTML DOM
66
* Integrates with JsViews (http://jsviews.com/#jsviews)
77
*
8-
* Copyright 2019, Boris Moore
8+
* Copyright 2020, Boris Moore
99
* Released under the MIT License.
1010
*/
1111

@@ -44,7 +44,7 @@ var setGlobals = $ === false; // Only set globals if script block in browser (no
4444

4545
$ = $ && $.fn ? $ : global.jQuery; // $ is jQuery passed in by CommonJS loader (Browserify), or global jQuery.
4646

47-
var versionNumber = "v1.0.5",
47+
var versionNumber = "v1.0.6",
4848
jsvStoreName, rTag, rTmplString, topView, $views, $expando,
4949
_ocp = "_ocp", // Observable contextual parameter
5050

@@ -476,9 +476,7 @@ function contextParameter(key, value, get) {
476476
: res[1](res[0].data, res[0], $sub) // = fn(data, view, $sub) for compiled binding expression
477477
: res[0]._ocp; // Observable contextual parameter (uninitialized, or initialized as static expression, so no path dependencies)
478478
if (isUpdate) {
479-
if (res && newRes !== value) {
480-
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
481-
}
479+
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
482480
return storeView;
483481
}
484482
res = newRes;

jsrender.min.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jsrender.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "jsrender",
3-
"version": "v1.0.5",
3+
"version": "v1.0.6",
44
"description": "Best-of-breed templating in browser or on Node.js (with Express 4, Hapi and Browserify integration)",
55
"main": "./jsrender-node.js",
66
"browser": "./jsrender.js",

test/browserify/bundles/1-bundle.js

+4-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/browserify/bundles/12-nested-bundle.js

+4-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/browserify/bundles/2-bundle.js

+4-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/browserify/bundles/3-bundle.js

+4-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/browserify/bundles/htm-jsrender-tmpl-bundle.js

+4-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
2-
/*! JsRender v1.0.5: http://jsviews.com/#jsrender */
2+
/*! JsRender v1.0.6: http://jsviews.com/#jsrender */
33
/*! **VERSION FOR WEB** (For NODE.JS see http://jsviews.com/download/jsrender-node.js) */
44
/*
55
* Best-of-breed templating in browser or on Node.js.
66
* Does not require jQuery, or HTML DOM
77
* Integrates with JsViews (http://jsviews.com/#jsviews)
88
*
9-
* Copyright 2019, Boris Moore
9+
* Copyright 2020, Boris Moore
1010
* Released under the MIT License.
1111
*/
1212

@@ -45,7 +45,7 @@ var setGlobals = $ === false; // Only set globals if script block in browser (no
4545

4646
$ = $ && $.fn ? $ : global.jQuery; // $ is jQuery passed in by CommonJS loader (Browserify), or global jQuery.
4747

48-
var versionNumber = "v1.0.5",
48+
var versionNumber = "v1.0.6",
4949
jsvStoreName, rTag, rTmplString, topView, $views, $expando,
5050
_ocp = "_ocp", // Observable contextual parameter
5151

@@ -477,9 +477,7 @@ function contextParameter(key, value, get) {
477477
: res[1](res[0].data, res[0], $sub) // = fn(data, view, $sub) for compiled binding expression
478478
: res[0]._ocp; // Observable contextual parameter (uninitialized, or initialized as static expression, so no path dependencies)
479479
if (isUpdate) {
480-
if (res && newRes !== value) {
481-
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
482-
}
480+
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
483481
return storeView;
484482
}
485483
res = newRes;

test/browserify/bundles/html-jsr-tmpl-bundle.js

+4-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
2-
/*! JsRender v1.0.5: http://jsviews.com/#jsrender */
2+
/*! JsRender v1.0.6: http://jsviews.com/#jsrender */
33
/*! **VERSION FOR WEB** (For NODE.JS see http://jsviews.com/download/jsrender-node.js) */
44
/*
55
* Best-of-breed templating in browser or on Node.js.
66
* Does not require jQuery, or HTML DOM
77
* Integrates with JsViews (http://jsviews.com/#jsviews)
88
*
9-
* Copyright 2019, Boris Moore
9+
* Copyright 2020, Boris Moore
1010
* Released under the MIT License.
1111
*/
1212

@@ -45,7 +45,7 @@ var setGlobals = $ === false; // Only set globals if script block in browser (no
4545

4646
$ = $ && $.fn ? $ : global.jQuery; // $ is jQuery passed in by CommonJS loader (Browserify), or global jQuery.
4747

48-
var versionNumber = "v1.0.5",
48+
var versionNumber = "v1.0.6",
4949
jsvStoreName, rTag, rTmplString, topView, $views, $expando,
5050
_ocp = "_ocp", // Observable contextual parameter
5151

@@ -477,9 +477,7 @@ function contextParameter(key, value, get) {
477477
: res[1](res[0].data, res[0], $sub) // = fn(data, view, $sub) for compiled binding expression
478478
: res[0]._ocp; // Observable contextual parameter (uninitialized, or initialized as static expression, so no path dependencies)
479479
if (isUpdate) {
480-
if (res && newRes !== value) {
481-
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
482-
}
480+
$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter
483481
return storeView;
484482
}
485483
res = newRes;

test/unit-tests/tests-node.js

+23-24
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*global test, equal, ok, QUnit*/
1+
/*global QUnit*/
22
(function(undefined) {
33
"use strict";
44

@@ -11,37 +11,36 @@ function upper(val) {
1111
function lower(val) {
1212
return val.toLowerCase();
1313
}
14-
1514
QUnit.module("node");
16-
test("jsrender.renderFile / jsrender.__express", function() {
17-
var html = jsrender.renderFile('./test/templates/name-template.html', { name: "Jo" });
18-
equal(html, "Name: Jo (name-template.html)", 'jsrender.renderFile("./file.path.html", data) loads and renders template');
15+
QUnit.test("jsrender.renderFile / jsrender.__express", function(assert) {
16+
var html = jsrender.renderFile('./test/templates/name-template.html', {name: "Jo"});
17+
assert.equal(html, "Name: Jo (name-template.html)", 'jsrender.renderFile("./file.path.html", data) loads and renders template');
1918

20-
html = jsrender.__express('./test/templates/name-template.html', { name: "Jo" });
21-
equal(html, "Name: Jo (name-template.html)", 'jsrender.__express("./file.path.html", data) loads and renders template');
19+
html = jsrender.__express('./test/templates/name-template.html', {name: "Jo"});
20+
assert.equal(html, "Name: Jo (name-template.html)", 'jsrender.__express("./file.path.html", data) loads and renders template');
2221
});
2322

24-
test("jsrender.templates", function() {
23+
QUnit.test("jsrender.templates", function(assert) {
2524
var tmpl = jsrender.templates('./test/templates/name-template.html');
26-
var html = tmpl({ name: "Jo" });
27-
equal(html, "Name: Jo (name-template.html)", 'jsrender.templates("./file.path.html") compiles template');
25+
var html = tmpl({name: "Jo"});
26+
assert.equal(html, "Name: Jo (name-template.html)", 'jsrender.templates("./file.path.html") compiles template');
2827

2928
tmpl = jsrender.templates({markup: 'Some {{:~upper("Markup")}} Name: {{:~upper(name)}} {{lower:name}}', helpers: {upper:upper}, converters: {lower:lower}});
30-
html = tmpl({ name: "Jo" });
31-
equal(html, "Some MARKUP Name: JO jo", 'jsrender.templates({markup: ..., helpers: ..., ...}) compiles template with options');
29+
html = tmpl({name: "Jo"});
30+
assert.equal(html, "Some MARKUP Name: JO jo", 'jsrender.templates({markup: ..., helpers: ..., ...}) compiles template with options');
3231
});
3332

34-
test("jsrender.compile", function() {
33+
QUnit.test("jsrender.compile", function(assert) {
3534
var tmpl = jsrender.compile('./test/templates/name-template.html');
36-
var html = tmpl({ name: "Jo" });
37-
equal(html, "Name: Jo (name-template.html)", 'jsrender.compile("./file.path.html") compiles template');
35+
var html = tmpl({name: "Jo"});
36+
assert.equal(html, "Name: Jo (name-template.html)", 'jsrender.compile("./file.path.html") compiles template');
3837

3938
tmpl = jsrender.compile('Some {{:~upper("Markup")}} Name: {{:~upper(name)}} {{lower:name}}', {helpers: {upper:upper}, converters: {lower:lower}});
40-
html = tmpl({ name: "Jo" });
41-
equal(html, "Some MARKUP Name: JO jo", 'jsrender.compile("markup", {helpers: ..., ...}) compiles template with options');
39+
html = tmpl({name: "Jo"});
40+
assert.equal(html, "Some MARKUP Name: JO jo", 'jsrender.compile("markup", {helpers: ..., ...}) compiles template with options');
4241
});
4342

44-
test("jsrender.tags.clientTemplate", function() {
43+
QUnit.test("jsrender.tags.clientTemplate", function(assert) {
4544
jsrender.views.settings.delimiters("<%", "%>");
4645
var tmpl = jsrender.compile(
4746
'<script src="//code.jquery.com/jquery-3.4.1.js"></script>\n'
@@ -51,8 +50,8 @@ test("jsrender.tags.clientTemplate", function() {
5150
+ '<script id="clientonly" type="test/x-jsrender">{{include tmpl="./test/templates/outer.html"/}}</script>\n'
5251
+ '<div id="result"></div>\n'
5352
+ '<script>var tmpl = $.templates("#clientonly"); $("#result").html(tmpl({name: "Jeff"}));</script>');
54-
var html = tmpl({ name: "Jo" });
55-
equal(html,
53+
var html = tmpl({name: "Jo"});
54+
assert.equal(html,
5655
'<script src="//code.jquery.com/jquery-3.4.1.js"></script>\n'
5756
+ '<script src="//www.jsviews.com/download/jsrender.js"></script>\n'
5857
+ '<script id="./test/templates/outer.html" type="text/x-jsrender">Name: {{:name}} (outer.html) {{include tmpl="./test/templates/inner.html"/}}</script>\n'
@@ -63,7 +62,7 @@ test("jsrender.tags.clientTemplate", function() {
6362
'Server-rendered templates using {{clientTemplate "./.../tmpl.html"}}\nand direct rendering using different delimiters on server/client');
6463
});
6564

66-
test("jsrender/tmplify .html template", function() {
65+
QUnit.test("jsrender/tmplify .html template", function(assert) {
6766
stop();
6867
var outputFile = 'test/browserify/bundles/html-jsr-tmpl-bundle.js';
6968
var fs = require('fs');
@@ -74,7 +73,7 @@ test("jsrender/tmplify .html template", function() {
7473
.bundle()
7574
.pipe(fs.createWriteStream(outputFile)
7675
.on('finish', function() {
77-
ok(fs.readFileSync(outputFile, 'utf8').indexOf("browserify.done.html ") > 0, 'browserify().transform(tmplify)');
76+
assert.ok(fs.readFileSync(outputFile, 'utf8').indexOf("browserify.done.html ") > 0, 'browserify().transform(tmplify)');
7877
start();
7978
})
8079
)
@@ -83,7 +82,7 @@ test("jsrender/tmplify .html template", function() {
8382
});
8483
});
8584

86-
test("jsrender/tmplify options: 'htm jsr'", function() {
85+
QUnit.test("jsrender/tmplify options: 'htm jsr'", function(assert) {
8786
stop();
8887
var outputFile = 'test/browserify/bundles/htm-jsrender-tmpl-bundle.js';
8988
var fs = require('fs');
@@ -93,7 +92,7 @@ test("jsrender/tmplify options: 'htm jsr'", function() {
9392
.bundle()
9493
.pipe(fs.createWriteStream(outputFile))
9594
.on('finish', function() {
96-
ok(fs.readFileSync(outputFile, 'utf8').indexOf("browserify.done.htm ") > 0, 'browserify().transform(tmplify, {extensions: "..., ..."})');
95+
assert.ok(fs.readFileSync(outputFile, 'utf8').indexOf("browserify.done.htm ") > 0, 'browserify().transform(tmplify, {extensions: "..., ..."})');
9796
start();
9897
})
9998
.on('error', function(err) {

typescript/jsrender/index.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Type definitions for JsRender 1.0
2-
// Version: "v1.0.5"
2+
// Version: "v1.0.6"
33
// Project: http://www.jsviews.com/#jsrender
44
// Definitions by: Boris Moore <https://github.com/borismoore>
55
// Definitions: https://www.jsviews.com/download/typescript/jsrender/index.d.ts

0 commit comments

Comments
 (0)