Commit Graph

240 Commits

Author SHA1 Message Date
Igor Savin 1b321a8bef add tstyche tests 2026-03-19 22:05:55 +01:00
Igor Savin 92e842f82e update dependencies 2026-03-19 22:05:55 +01:00
Jakob Linskeseder d025292e06 Migrate AWS SDK for JavaScript v2 APIs to v3
This was cherry-picked from https://github.com/handlebars-lang/handlebars.js/pull/2020.
2026-03-18 20:46:45 +01:00
Igor Savin bf93bafeca Modernize benchmarks (#2132)
* Introduce benchmarks
2026-03-17 23:43:46 +01:00
Igor Savin 70b8f1145d feat: migrate to RSPack (#2131)
* Migrate to RSPack
* Add tests to CI, address coverage
* fix: Restore AWS sdk
* add simple serve
2026-03-14 23:08:19 +01:00
Igor Savin 2f68d9425b Migrate to oxlint and oxfmt v2 (#2130)
* Migrate to oxlint and oxfmt
* Address review comments
2026-03-10 17:27:44 +01:00
Igor Savin 169ef75066 Remove deprecated helpers and fix release script (#2128)
* Remove deprecated helpers
* Use more idiomatic assertions
* Fix release script
2026-03-03 21:52:28 +01:00
Igor Savin d65683434d Convert tests to vitest (#2127)
* Convert tests to vitest
* fix git tests
* Cleanup
* Convert ignore comments
* address code review comments
2026-03-02 21:33:52 +01:00
Jakob Linskeseder 1245255892 Fix Playwright tests in CI pipeline
Also change README to use standard markdown extension.
2026-03-01 17:31:58 +01:00
Igor Savin 22e04868c0 Apply compatibility fixes 2026-03-01 17:26:37 +01:00
Igor Savin a3ac164642 Refresh Node versions used 2026-03-01 17:26:37 +01:00
Mohamed Akram ce1f2abf5a Drop support for EOL Node.js versions 2023-09-20 21:51:23 +02:00
Jakob Linskeseder 99d162cadc Fix link to homepage
When visiting the www-variant, a `SSL_ERROR_INTERNAL_ERROR_ALERT`
error is displayed by the browser.
2023-08-02 23:35:14 +02:00
Jakob Linskeseder 9413ea99ce Format *.md files with prettier
The `npm run format` command now matches
the husky `lint-staged`-commands.

Also upgraded to prettier v3.
2023-07-30 23:38:10 +02:00
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