Skip to content

Commit 8dc3d25

Browse files
committed
v4.7.8
1 parent 668c4fb commit 8dc3d25

File tree

7 files changed

+88
-19
lines changed

7 files changed

+88
-19
lines changed

CONTRIBUTING.md

Lines changed: 70 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ The `grunt dev` implements watching for tests and allows for in browser testing
4949
If you notice any problems, please report them to the GitHub issue tracker at
5050
[http://github.com/handlebars-lang/handlebars.js/issues](http://github.com/handlebars-lang/handlebars.js/issues).
5151

52-
##Running Tests
52+
## Running Tests
5353

5454
To run tests locally, first install all dependencies.
5555

@@ -86,7 +86,7 @@ You can use the following scripts to make sure that the CI job does not fail:
8686
- **npm run lint** will run `eslint` and fail on warnings
8787
- **npm run format** will run `prettier` on all files
8888
- **npm run check-before-pull-request** will perform all most checks that our CI job does in its build-job, excluding the "integration-test".
89-
- **npm run integration-test** will run integration tests (using old NodeJS versions and integrations with webpack, babel and so on)
89+
- **npm run test:integration** will run integration tests (using old NodeJS versions and integrations with webpack, babel and so on)
9090
These tests only work on a Linux-machine with `nvm` installed (for running tests in multiple versions of NodeJS).
9191

9292
## Releasing the latest version
@@ -101,17 +101,74 @@ Before attempting the release Handlebars, please make sure that you have the fol
101101

102102
_When releasing a previous version of Handlebars, please look into the CONTRIBUNG.md in the corresponding branch._
103103

104-
A full release may be completed with the following:
105-
106-
```
107-
npm ci
108-
npx grunt
109-
npm publish
110-
111-
cd dist/components/
112-
gem build handlebars-source.gemspec
113-
gem push handlebars-source-*.gem
114-
```
104+
A full release via Docker may be completed with the following:
105+
106+
1. Create a `Dockerfile` in this folder for releasing
107+
```Dockerfile
108+
FROM node:10-slim
109+
110+
ENV EDITOR=vim
111+
112+
# Update stretch repositories
113+
RUN sed -i -e 's/deb.debian.org/archive.debian.org/g' \
114+
-e 's|security.debian.org|archive.debian.org/|g' \
115+
-e '/stretch-updates/d' /etc/apt/sources.list
116+
117+
# Install release dependencies
118+
RUN apt-get update
119+
RUN apt-get install -y git vim
120+
121+
# Work around deprecated npm dependency install via unauthenticated git-protocol:
122+
# https://github.com/kpdecker/generator-release/blob/87aab9b84c9f083635c3fcc822f18acce1f48736/package.json#L31
123+
RUN git config --system url."https://github.com/".insteadOf git://github.com/
124+
125+
# Configure git
126+
RUN git config --system user.email "release@handlebarsjs.com"
127+
RUN git config --system user.name "handlebars-lang"
128+
129+
RUN mkdir /home/node/.config
130+
RUN mkdir /home/node/.ssh
131+
RUN mkdir /home/node/tmp
132+
133+
# Generate config for yo generator-release:
134+
# https://github.com/kpdecker/generator-release#example
135+
# You have to add a valid GitHub OAuth token!
136+
RUN echo "module.exports = {\n auth: 'oauth',\n token: 'GitHub OAuth token'\n};" > /home/node/.config/generator-release
137+
RUN chown -R node:node /home/node/.config
138+
139+
# Add the generated key to GitHub: https://github.com/settings/keys
140+
RUN ssh-keygen -q -t ed25519 -N '' -f /home/node/.ssh/id_ed25519 -C "release@handlebarsjs.com"
141+
RUN chmod 0600 /home/node/.ssh/id_ed25519*
142+
RUN chown node:node /home/node/.ssh/id_ed25519*
143+
```
144+
2. Build and run the Docker image
145+
```bash
146+
docker build --tag handlebars:release .
147+
docker run --rm --interactive --tty \
148+
--volume $PWD:/app \
149+
--workdir /app \
150+
--user $(id -u):$(id -g) \
151+
--env NPM_CONFIG_PREFIX=/home/node/.npm-global \
152+
handlebars:release bash -c 'export PATH=$PATH:/home/node/.npm-global/bin; bash'
153+
```
154+
3. Add SSH key to GitHub: `cat /home/node/.ssh/id_ed25519.pub` (https://github.com/settings/keys)
155+
4. Add GitHub API token: `vi /home/node/.config/generator-release`
156+
5. Execute the following steps:
157+
```bash
158+
npm ci
159+
npm install -g yo@1 grunt@1 generator-release
160+
npm run release
161+
yo release
162+
npm login
163+
npm publish
164+
yo release:publish components handlebars.js dist/components/
165+
166+
cd dist/components/
167+
gem build handlebars-source.gemspec
168+
gem push handlebars-source-*.gem
169+
```
170+
171+
### After the release
115172

116173
After the release, you should check that all places have really been updated. Especially verify that the `latest`-tags
117174
in those places still point to the latest version

components/bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "handlebars",
3-
"version": "4.7.7",
3+
"version": "4.7.8",
44
"main": "handlebars.js",
55
"license": "MIT",
66
"dependencies": {}

components/handlebars.js.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package>
33
<metadata>
44
<id>handlebars.js</id>
5-
<version>4.7.7</version>
5+
<version>4.7.8</version>
66
<authors>handlebars.js Authors</authors>
77
<licenseUrl>https://github.com/handlebars-lang/handlebars.js/blob/master/LICENSE</licenseUrl>
88
<projectUrl>https://github.com/handlebars-lang/handlebars.js/</projectUrl>

components/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "handlebars",
3-
"version": "4.7.7",
3+
"version": "4.7.8",
44
"license": "MIT",
55
"jspm": {
66
"main": "handlebars",

lib/handlebars/base.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { registerDefaultDecorators } from './decorators';
55
import logger from './logger';
66
import { resetLoggedProperties } from './internal/proto-access';
77

8-
export const VERSION = '4.7.7';
8+
export const VERSION = '4.7.8';
99
export const COMPILER_REVISION = 8;
1010
export const LAST_COMPATIBLE_COMPILER_REVISION = 7;
1111

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "handlebars",
33
"barename": "handlebars",
4-
"version": "4.7.7",
4+
"version": "4.7.8",
55
"description": "Handlebars provides the power necessary to let you build semantic templates effectively with no frustration",
66
"homepage": "https://www.handlebarsjs.com/",
77
"keywords": [
@@ -82,6 +82,7 @@
8282
},
8383
"scripts": {
8484
"build": "grunt build",
85+
"release": "npm run build && grunt release",
8586
"format": "prettier --write '**/*.js' && eslint --fix .",
8687
"lint": "npm run lint:eslint && npm run lint:prettier && npm run lint:types",
8788
"lint:eslint": "eslint --max-warnings 0 .",

release-notes.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,18 @@
22

33
## Development
44

5-
[Commits](https://github.com/handlebars-lang/handlebars.js/compare/v4.7.7...master)
5+
[Commits](https://github.com/handlebars-lang/handlebars.js/compare/v4.7.8...master)
6+
7+
## v4.7.8 - July 27th, 2023
8+
9+
- Make library compatible with workers (#1894) - 3d3796c
10+
- Don't rely on Node.js global object (#1776) - 2954e7e
11+
- Fix compiling of each block params in strict mode (#1855) - 30dbf04
12+
- Fix rollup warning when importing Handlebars as ESM - 03d387b
13+
- Fix bundler issue with webpack 5 (#1862) - c6c6bbb
14+
- Use https instead of git for mustache submodule - 88ac068
15+
16+
[Commits](https://github.com/handlebars-lang/handlebars.js/compare/v4.7.7...v4.7.8)
617

718
## v4.7.7 - February 15th, 2021
819

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy