Commit Graph

226 Commits

Author SHA1 Message Date
Jakob Linskeseder 65f24eb8b6 Publish latest and tags to AWS S3
This recreates the logic from this removed
TravisCI job:
https://github.com/handlebars-lang/handlebars.js/blob/a9a8e403213583ca90cb7c872d3a22796c37d961/.travis.yml#L16-L25
2023-07-29 21:09:35 +02:00
Jakob Linskeseder b3ffb16e5d Fix browser tests in CI pipeline 2023-07-24 21:55:20 +02:00
Jakob Linskeseder e6686963ba Use @handlebars/parser v2
We have to remove `--failAfterWarnings` from our Rollup integration-test,
because Typescript, when targeting es5, will use global `this` for transpilation.
Rollup warns about this, since it replaces `this` with `undefined`:

```
src/index.js → dist/bundle.js...
(!) `this` has been rewritten to `undefined`
https://rollupjs.org/guide/en/#error-this-is-undefined
../../../node_modules/@handlebars/parser/dist/esm/printer.js
1: var __spreadArrays = (this && this.__spreadArrays) || function () {}
```

See https://github.com/handlebars-lang/handlebars-parser/releases/tag/v2.0.0
2022-10-29 22:09:05 +02:00
Jakob Linskeseder e534a911f3 Upgrade prettier to v2
Prettier v2 has the following breaking changes:
* enforces spaces between `function` and params
* enforces trailing commas by default
2022-10-29 21:49:15 +02:00
Jakob Linskeseder f6ff3bf52b Upgrade to ECMAScript 2020
This is needed in order to use `globalThis`, see #1894.
It also made it possible to remove some old polyfills and fallbacks.
2022-10-29 21:49:15 +02:00
Jakob Linskeseder 83baaa469f Remove support for IE11 and dead browsers
Handlebars v5 will target modern browsers,
while older browsers will still receive support
via version 4.x.
2022-10-29 21:49:15 +02:00
Jakob Linskeseder 785a63e0a8 Test on Node 18 and drop EOL Node 10
* Updated lock-file to fix https://github.com/npm/cli/issues/4859.
* Updated integration-tests to webpack 5 to fix
  https://github.com/webpack/webpack/issues/14532.
* Added `mode` to webpack-integration-tests to avoid
  the warning `The 'mode' option has not been set...`.
* Replaced outdated `grunt-bg-shell`-package to get rid of
  coffee-script warnings
2022-10-16 22:21:56 +02:00
Jakob Linskeseder 9bff03fd3b Fix bundler issue with webpack 5
As explained in issue #1844 and in issue
https://github.com/webpack/webpack/issues/15007#issuecomment-996615250,
the way we used the `browser`-field was wrong.

The main reason for using the `browser`-field is the requirement of
`require('fs')` in the main-entry-file.
The workaround for this was using `require('handlebars/lib/handlebars')`,
but now it will also work via `require('handlebars')` for bundlers that
respect the `browser`-field.

The `"./runtime"`-config was removed, because it didn't have any effect.
In order to detect regressions, the webpack-integration test was
extended to test with different webpack versions.

Fixes #1174
Closes #1844
2022-05-17 20:46:30 +02:00
Jakob Linskeseder 30bd78d457 Enable IDE code-highlighting for bin-file
By adding the `.js`-extension to the bin-file, IDEs will
know that js code-highlighting should be applied to the
file, which makes it easier for devs to read the code.
2022-01-02 19:19:00 +01:00
Jakob Linskeseder 0896d00c2e Remove outdated eco package from bench
The `eco`-templates (Embedded CoffeeScript templates)
had their last update over 10 years ago, so we can
remove this dependency from our benchmark.
2022-01-02 00:15:47 +01:00
Jakob Linskeseder f73be4ebf3 Remove unused jison package
This is package is not needed anymore since the parser
was moved to a standalone package in
19bdace85a.
2022-01-02 00:15:47 +01:00
Jakob Linskeseder c7278d176a Fix security issue in y18n (CVE-2020-7774)
See https://github.com/advisories/GHSA-c4w7-xm78-47vh.
2021-12-30 00:04:27 +01:00
Jakob Linskeseder a98b01c2ee Fix TypeScript linting
Also upgraded to `@definitelytyped/dtslint`.
2021-12-29 23:43:57 +01:00
Jakob Linskeseder 82c613244a Merge branch '4.x' into merge-4.x 2021-12-29 23:10:11 +01:00
Jakob Linskeseder e2f63da5c0 Don't create security alerts for dev-dependencies 2021-12-29 22:48:01 +01:00
Jakob Linskeseder 4da5882660 Remove non-standard package.json property
This was added in 88ee4757e7
and is not used anymore since a2687fdf50.
2021-12-29 21:48:34 +01:00
Jakob Linskeseder 78e7e28ff9 Replace custom test-server with Grunt connect 2021-12-29 21:35:16 +01:00
Jakob Linskeseder 9ed9418488 Replace Saucelabs with Playwright
Also reorganized npm scripts.
2021-12-29 21:35:16 +01:00
Jakob Linskeseder ef0fc290b9 Move print-script.js-file in tests-folder
Also removed it from published files, since the script doesn't seem to be used.

Fourth part of reorganizing and cleaning up test-folders.
2021-12-29 21:35:16 +01:00
Jakob Linskeseder c295ef085f Update repository URL 2021-12-03 23:12:20 +01:00
Jakob Linskeseder 2954e7ea66 Don't rely on Node.js global object
If `global` is used and handlebars is compiled for browser
usage without a Node.js `global` polyfill, handlebars
fails with a `global is undefined` error.

Fixes #1593
2021-12-03 21:57:55 +01:00
Jay Linski 8eefee56ff Replace Travis CI with GitHub action (#1772) 2021-12-03 19:04:01 +01:00
Nils Knappmeier a9a8e40321 v4.7.7 2021-02-15 10:36:07 +01:00
Chris Garrett 19bdace85a [FEAT] Extract the Handlebars parser (#1713)
Extracts the parser to `@handlebars/parser`, where it can be shared
between different implementations. This means that e.g. Glimmer/Ember
will be able to iterate on new features without forcing Handlebars to
adopt them immediately, and vice versa. All implementors will be able to
absorb changes as it makes sense for them.
2021-02-15 08:56:25 +01:00
Jordan Mele a65a55382c Moved uglify-js from optionalDependencies to peerDependencies 2020-04-24 22:09:12 +02:00
Hannah Wolfe 8727d2015a chore: bumping yargs to v15
fixes #1673

- we no longer need to pin to yargs 14 for node 6 & 8 support
2020-04-03 21:03:29 +01:00
Hannah Wolfe 75794c5dbc breaking: drop support for Node.js < v10
- handlebars is changing to a policy of only supporting current and active versions of Node.js
2020-04-03 20:03:37 +01:00
Hannah Wolfe 3438891bd2 Revert "Switch cmd parser to latest minimist"
This reverts commit c2f1e62031.
2020-04-03 19:26:21 +01:00
Hannah Wolfe 0ec71dcc5c Merge branch '4.x' 2020-04-03 19:24:50 +01:00
Hannah Wolfe e6ad93ea01 v4.7.6 2020-04-03 18:56:22 +01:00
Douglas Christopher Wilson c2f1e62031 Switch cmd parser to latest minimist 2020-04-03 18:44:30 +01:00
Hannah Wolfe 08e9a11a34 Revert "chore: set Node.js compatibility to v6+"
This reverts commit 309d2b49a1.
2020-04-03 18:44:30 +01:00
Hannah Wolfe 6f17a8e75c Merge branch '4.x' 2020-04-02 20:34:06 +01:00
Hannah Wolfe 1fd2edee2a v4.7.5 2020-04-02 20:09:49 +01:00
Hannah Wolfe 16487a088e chore: downgrade yargs to v14
- allows us to support Node v6 and v8 for now
2020-04-02 19:28:36 +01:00
Hannah Wolfe 309d2b49a1 chore: set Node.js compatibility to v6+
- drop support for versions less than Node v6 via engines
- update integration tests to also test newer versions
2020-04-02 19:28:35 +01:00
Hannah Wolfe f8eade7b41 Merge branch '4.x' 2020-04-01 18:54:36 +01:00
Hannah Wolfe 7adc19ab40 v4.7.4 2020-04-01 18:20:30 +01:00
Avi Vahl d79212a662 fix: migrate from optimist to yargs (#1666)
closes #1658

- adapted code from master to latest yargs (`.option` calls).

```
4.x:
found 188 vulnerabilities (169 low, 4 moderate, 14 high, 1 critical) in 5815 scanned packages

4.x with this PR:
found 32 vulnerabilities (17 low, 1 moderate, 13 high, 1 critical) in 5829 scanned packages
```
2020-03-31 16:54:11 +01:00
Nils Knappmeier 2ea32e8db9 Merge branch '4.x'
# Conflicts:
#	components/bower.json
#	components/handlebars.js.nuspec
#	components/package.json
#	package.json
2020-02-05 06:13:36 +01:00
Nils Knappmeier c9789691af v4.7.3 2020-02-05 06:10:33 +01:00
papasmile a32d05f2fc Include Type Definition for runtime.js in Package 2020-02-04 21:58:49 +01:00
Nils Knappmeier 586e672c8b v4.7.2 2020-01-13 21:53:14 +01:00
Nils Knappmeier 14ba3d0c43 v4.7.1 2020-01-12 13:21:08 +01:00
Nils Knappmeier 0d5c807017 v4.7.0 2020-01-10 17:24:06 +01:00
Nils Knappmeier 0c8230c253 Merge branch '4.x'
# Conflicts:
#	components/bower.json
#	components/handlebars.js.nuspec
#	components/package.json
#	package.json
2020-01-09 00:17:28 +01:00
Nils Knappmeier 91a1b5d2f4 v4.6.0 2020-01-08 23:45:15 +01:00
Nils Knappmeier d337f40d0e test: show diff when test:bin fails 2020-01-08 23:17:23 +01:00
Nils Knappmeier d23ccf636a Merge branch '4.x'
# Conflicts:
#	Gruntfile.js
#	package-lock.json
#	package.json
2019-12-14 18:46:25 +01:00
Nils Knappmeier 14b621caf5 test/style: remove or hide unused code in git.js, add tests 2019-12-14 18:41:06 +01:00