Commit Graph

1658 Commits

Author SHA1 Message Date
Nils Knappmeier be107d2ca1 Merge branch '4.x'
# Conflicts:
#	tasks/test.js
2017-05-15 00:12:54 +02:00
Luiz Américo cc554a5813 Fix build in windows
(cherry picked from commit 275ab37)
2017-05-15 00:11:59 +02:00
Nils Knappmeier ed879a6068 Ensure LF line-edings in handlebars-template fixtures (*.hbs)
Fixes #1331
2017-05-14 23:57:07 +02:00
Nils Knappmeier 2e21e2bc9a Run integration test with node handlebars -a ... on Windows
Fixes #1233

NodeJS files cannot be executed directly on Windows.
2017-05-14 23:37:24 +02:00
Nils Knappmeier 2441ba1335 Merge branch '4.x' into wycats-master 2017-05-14 22:52:24 +02:00
Nils Knappmeier bdfdbea09c Ensure LF line-edings in lexer-files (*.l)
Related to #1233
2017-05-14 22:49:19 +02:00
Nils Knappmeier 5c676a32fb Merge remote-tracking branch 'wycats/4.x' into wycats-master 2017-05-14 14:48:44 +02:00
Nils Knappmeier b50ef03823 Force LF line-endings for spec/artifacts
Fixes #1331
2017-05-14 14:43:14 +02:00
Nils Knappmeier 6e6269fcd7 Use istanbul/lib/cli.js instead of node_modules/.bin/istanbul
Fixes #1331

Due to the way, "bin"-files are distributed into the node_modules/.bin
directory on Windows, the task "test:cov" did not work on Windows.
This commit uses the node-script directly.
2017-05-14 14:43:14 +02:00
Nils Knappmeier 228950169d Update jsfiddle-link in CONTRIBUTING.md to 4.0.8 2017-05-13 08:33:14 +02:00
Nils Knappmeier 680ec9666a Merge branch '4.x' into wycats-master
# Conflicts:
#	package.json
2017-05-13 01:00:35 +02:00
Nils Knappmeier 7378f854c3 Publish valid semver task independently of the branch 2017-05-13 00:57:46 +02:00
Nils Knappmeier fed5818876 v4.0.8 v4.0.8 2017-05-02 22:55:44 +02:00
Nils Knappmeier 0e81f0a082 Update release notes 2017-05-02 22:55:08 +02:00
Nils Knappmeier a00c598266 Allow partial-blocks to be executed without "options"
Closes #1341

If the @partial-block is called as parameter of a helper (like in
{{#if @partial-block}}...{{/if}}, the partialBlockWrapper is executed
without "options"-parameter. It should still work in without an error
in such a case.
2017-05-02 22:48:15 +02:00
Nils Knappmeier 58ec656fbc Bump version in master-branch to 5.0-alpha.1
This is in order to make sure that the master-branch version is not
confused with the stable 4.x
2017-04-30 19:30:09 +02:00
Nils Knappmeier 77674e4f6c Merge branch '4.x' into wycats-master 2017-04-30 19:26:21 +02:00
Nils Knappmeier 606fa55b0a v4.0.7 v4.0.7 2017-04-29 22:52:09 +02:00
Nils Knappmeier 8e09f0ee4e Update release-notes for 4.0.7 2017-04-29 22:47:39 +02:00
Nils Knappmeier 714a4c4482 Merge branch '4.x' into wycats-master
# Conflicts:
#	spec/regressions.js
2017-03-25 15:04:37 +01:00
Nils Knappmeier c8f4b570c1 Fix context-stack when calling block-helpers on null values
Fixes #1319

Original behaviour:
- When a block-helper was called on a null-context, an empty object was used
  as context instead. (#1093)
- The runtime verifies that whether the current context equals the
  last context and adds the current context to the stack, if it is not.
  This is done, so that inside a block-helper, the ".." path can be used
  to go back to the parent element.
- If the helper is called on a "null" element, the context was added, even
  though it shouldn't be, because the "null != {}"

Fix:
- The commit replaces "null" by the identifiable "container.nullContext"
  instead of "{}". "nullContext" is a sealed empty object.
- An additional check in the runtime verifies that the context is
  only added to the stack, if it is not the nullContext.

Backwards compatibility within 4.0.x-versions:
- This commit changes the compiler and compiled templates would not work
  with runtime-versions 4.0.0 - 4.0.6, because of the "nullContext"
  property. That's way, the compiled code reads
  "(container.nullContext || {})" so that the behavior will degrade
  gracefully with older runtime versions: Everything else will work
  fine, but GH-1319 will still be broken, if you use a newer compiler
  with a pre 4.0.7 runtime.
2017-03-25 15:00:58 +01:00
Nils Knappmeier d40cbfc70d Merge pull request #1325 from robinhouston/pr-whitespace-differences
Document whitespace compatibility difference with mustache

Fixes #1324
2017-03-14 00:05:31 +01:00
Robin Houston b6e2f76a45 Document whitespace compatibility difference with mustache 2017-03-13 22:03:14 +00:00
Yehuda Katz 1b78b5b7b2 Merge pull request #1323 from chancancode/patch-1
Update README to be more accurate
2017-03-10 15:33:03 -08:00
Godfrey Chan a5e6afb05d Update README to be more accurate
Copied from the website at @wycats' request.

Addresses #1119.
2017-03-10 15:32:34 -08:00
Nils Knappmeier 8baba76b64 Merge pull request #1315 from Turbo87/es6-parser
parser: Change suffix to use ES6 default module export
2017-02-24 08:36:30 +01:00
Tobias Bieniek b617375219 Parser: Change suffix to use ES6 default module export
- This export will be transpiled by Babel for the cjs distribution,
  but will enable others to  use a pure ES6 module distribution
- Instanbul: Ignore "parser.js" for coverage reporting. This file was ignored before
  via annotation, but this has no effect anymore due to the above change
- Remove istanbul annotation from `parser-prefix` (@nknapp)

Squashed by @nknapp

(cherry picked from commit 508347e)
2017-02-24 08:35:48 +01:00
Tobias Bieniek 508347ea94 Parser: Change suffix to use ES6 default module export
- This export will be transpiled by Babel for the cjs distribution,
  but will enable others to  use a pure ES6 module distribution
- Instanbul: Ignore "parser.js" for coverage reporting. This file was ignored before
  via annotation, but this has no effect anymore due to the above change
- Remove istanbul annotation from `parser-prefix` (@nknapp)

Squashed by @nknapp
2017-02-24 08:28:51 +01:00
Nils Knappmeier ad341bfc1b Merge pull request #1306 from wycats/merge-4.x
Merge 4.x into master
2017-02-17 08:43:27 +01:00
Nils Knappmeier 911e676af4 Merge branch '4.x'
# Conflicts:
#	Gruntfile.js
#	lib/handlebars/exception.js
#	spec/partials.js
#	spec/regressions.js
2017-02-14 23:10:02 +01:00
Nils Knappmeier 0fa10b6e87 Merge branch '4.x'
# Conflicts:
#	Gruntfile.js
#	lib/handlebars/exception.js
#	spec/partials.js
#	spec/regressions.js
2017-02-14 22:41:46 +01:00
Nils Knappmeier 63a8e0caa2 Add more tests for partial-blocks and inline partials
- Multiple partial-blocks at different nesting levels
- Calling partial-blocks twice with nested partial-blocks
- Calling the partial-block from within the #each-helper
- nested inline partials with partial-blocks on different nesting levels
- nested inline partials (twice at each level)
2017-02-14 22:18:30 +01:00
Nils Knappmeier 5a164d0ca5 Fix for #1252: Using @partial-block twice in a template not possible
Fixes #1252
- This fix treats partial-blocks more like closures and uses the closure-context of
  the "invokePartial"-function to store the @partial-block for the partial.
- Adds a tes for the fix
2017-02-14 22:18:30 +01:00
Joonas Lahtinen 01b0f656bb Avoid duplicate "sourceMappingURL=" lines.
Avoid duplicate // sourceMappingURL=... lines when minifying AND
generating a map. UglifyJS2 will write the line when minifying.

(cherry picked from commit 660a117)
2017-02-14 22:01:13 +01:00
Joonas Lahtinen 660a117536 Avoid duplicate "sourceMappingURL=" lines.
Avoid duplicate // sourceMappingURL=... lines when minifying AND
generating a map. UglifyJS2 will write the line when minifying.
2017-02-14 21:57:00 +01:00
Nils Knappmeier c9970200a0 Fix compiler-api example (#1303)
Closes #1302 

While trying to answer #1302, I noticed that the compiler-api example did not work in (because `nameLookup` is actually at the prototype). This example has a jsfiddle that proves it is working.
It does not provide an solve the exact problem of the reporter, but it answers the question.
2017-01-29 07:11:01 +01:00
Travis Nelson 6300e57f11 Moved .eslintrc to .eslintrc.js and cleaned up rules
Extending from eslint:recommended so we stay up to date on the latest
recommended rules.
2017-01-16 23:19:57 +01:00
Ryunosuke Sato 6c89939af7 Fix README filename in package.json
There is `README.markdown` in handlebars.js repository, not a `README.md`.
2017-01-15 22:21:04 +01:00
Marcos Marado a6476739f0 add more machine-readable data about the license
This small change is meant to make LibreJS happy.

Closes: #1273
2017-01-06 11:26:04 +01:00
Nils Knappmeier 9119265204 Added ".editorconfig"-file that specifies the indent for javascript-files (#1292)
* see http://editorconfig.org/
* This file only includes very basic settings. It may be expanded in the future
2017-01-06 10:14:59 +01:00
Nils Knappmeier d117b3e0f9 Eslint upgrade to 19.0.0 and configuration fixes (#1294)
Original PR by @travnels, commit-message edited by @nknapp

* Upgraded eslint to 19.0.0
* Cleaned up duplicate rules 'no-extra-parens', 'quote-props'
* eslint rule 'no-empty-label' was replaced.
  Rule 'no-empty-label' was removed and replaced by: ‘no-labels’. ‘no-labels’ already in the project
* eslint rule 'space-after-keywords' has been replaced
  Rules 'space-after-keywords' and 'space-return-throw-case' wer removed and replaced by ‘keyword-spacing’.
* Added parsoer-option: sourceType='module'
* Add unnecessary=false to 'quote-props' to remove warnings about unnecessarily quoted property. 

Code corrections
* helpers.js: unused variable 'depthString' removed, detected by new eslint
2017-01-06 10:03:46 +01:00
Marcos Marado 2b7ed7e0bb Fix istanbul dev dependency
According to npm's documentation[1], dependencies on github
repositories are declared with the following syntax:
    "module": "person/module"

This commit changes the package.json syntax on istanbul's dependency,
to follow the documentation.

[1] https://docs.npmjs.com/files/package.json#github-urls
2017-01-01 20:59:46 +01:00
Travis Nelson 406f2ee01f require('sys') is deprecated, using 'util' instead
(node:30288) DeprecationWarning: sys is deprecated. Use util instead.

(cherry picked from commit 9a36966 by @travnels)
2017-01-01 20:47:59 +01:00
Travis Nelson 9a36966b16 require('sys') is deprecated, using 'util' instead
(node:30288) DeprecationWarning: sys is deprecated. Use util instead.
2017-01-01 20:44:56 +01:00
Nils Knappmeier 6c92579faf Template for issues and pull-request
I've noticed that many issues are answered with "Please provide a jsfiddle".
This issue template tells the reporter to do that from the start.
2016-12-30 16:36:24 +01:00
Nils Knappmeier a023cb4dd9 Make "column"-property of Errors enumerable
Fixes #1284

Appearently, there is a use-case of stringifying the error in order to
evaluated its properties on another system. There was a regression
from 4.0.5  to 4.0.6 that the column-property of compilation errors
was not  enumerable anymore in 4.0.6 (due to  commit 20c965c) and
thus was not included in the output of "JSON.stringify".
2016-12-30 16:33:32 +01:00
Nils Knappmeier c7dc353956 Testcase to verify that compile-errors have a column-property
Related to #1284

The test ensures that the property is there, because it is important to
some people.
2016-12-30 16:33:32 +01:00
Lon Ingram ad3037cf54 v4.0.6 (again)
Missed some versions in the repo that needed bumping.
v4.0.6
2016-11-12 12:32:45 -06:00
Lon Ingram 44ce5f40aa Update release notes 2016-11-12 10:40:57 -06:00
Lon Ingram 3385de0921 v4.0.6 2016-11-11 12:04:25 -06:00