mirror of
https://github.com/gohugoio/hugo.git
synced 2024-12-04 21:02:55 -05:00
e48ffb7635
ef9c4913c Clean up and removal of outdated examples 46122c9aa add godot tutorials to showcase 06d1d1ea2 Update scss-sass.md 1fc63c100 Spelling fix in 0.79.1 release notes ad2f50e3d Update plainwords description (#1296) 33021d451 Update substr examples (#1304) 6b1cc59bb Release 0.80.0 521db8c6d Merge branch 'tempv0.80.0' 58626c2b3 releaser: Add release notes to /docs for release of 0.80.0 f81d118af dartsass: Dart Sass only supports `expanded` and `compressed` 7da6f54be Add Dart Sass support b1f2661bb Replace jsconfig.js with jsconfig.json 38de0c1a4 Update index.md 223ceae80 Update index.md f7ac0e59d Release v0.79.1 2d4583d43 Merge branch 'temp791-2' 1d34e609b releaser: Add release notes to /docs for release of 0.79.1 e26769988 Merge branch 'temp791' 75694d904 Fix Resource.ResourceType so it always returns MIME's main type 0f65d7783 Typo s/adds/add (#1298) 0b896b2c0 images: Add images.Overlay filter 0d4257dcd Clarify documentation on shimming fcf601ddf Update index.html 6bf9bc1c1 Update index.html 1ce76bf3a Update index.html e7d976eec Update index.html db2996e64 Update index.html 245e5bfc9 news: Add post about Apple M1 3ad4115ed tpl: Add title parameter to YouTube shortcode 76ed976f8 Added two useful extensions to the list (#1243) e5a30dd11 Update related.md 25cf8f48b Improve substr examples e16e57e9a Update path.Split.md 2749b88fd Update path.Split.md d76cad3ff Release 0.79.0 f5ccfbe98 releaser: Add release notes to /docs for release of 0.79.0 ebf1b87b0 Merge commit '9f1265fde4b9ef186148337c99f08601633b6056' 1f1e8f39c Allow setting the delimiter used for setting config via OS env, e.g. HUGO_ e9b1414dd deps: Update to github.com/evanw/esbuild 0.8.11 to 0.8.14 0f76cf66c docs: Regen docshelper 1ada5d47e Add menu params 1c120aef0 Revert "docs: Regenerate docshelper" 7b60b5624 docs: Regenerate docshelper git-subtree-dir: docs git-subtree-split: ef9c4913cdcf95d62ec12d872f412f97e55a55ad
79 lines
2.6 KiB
Markdown
Executable file
79 lines
2.6 KiB
Markdown
Executable file
---
|
|
title: Babel
|
|
description: Hugo Pipes can process JS files with Babel.
|
|
date: 2019-03-21
|
|
publishdate: 2019-03-21
|
|
lastmod: 2019-03-21
|
|
categories: [asset management]
|
|
keywords: []
|
|
menu:
|
|
docs:
|
|
parent: "pipes"
|
|
weight: 48
|
|
weight: 48
|
|
sections_weight: 48
|
|
draft: false
|
|
---
|
|
|
|
Any JavaScript resource file can be transpiled to another JavaScript version using `resources.Babel` which takes for argument the resource object and an optional dict of options listed below. Babel uses the [babel cli](https://babeljs.io/docs/en/babel-cli).
|
|
|
|
|
|
{{% note %}}
|
|
Hugo Pipe's Babel requires the `@babel/cli` and `@babel/core` JavaScript packages to be installed in the project or globally (`npm install -g @babel/cli @babel/core`) along with any Babel plugin(s) or preset(s) used (e.g., `npm install @babel/preset-env --save-dev`).
|
|
|
|
If you are using the Hugo Snap package, Babel and plugin(s) need to be installed locally within your Hugo site directory, e.g., `npm install @babel/cli @babel/core --save-dev` without the `-g` flag.
|
|
{{% /note %}}
|
|
|
|
|
|
### Config
|
|
|
|
{{< new-in "v0.75.0" >}}
|
|
|
|
In Hugo `v0.75` we improved the way we resolve JS configuration and dependencies. One of them is that we now add the main project's `node_modules` to `NODE_PATH` when running Babel and similar tools. There are some known [issues](https://github.com/babel/babel/issues/5618) with Babel in this area, so if you have a `babel.config.js` living in a Hugo Module (and not in the project itself), we recommend using `require` to load the presets/plugins, e.g.:
|
|
|
|
|
|
```js
|
|
module.exports = {
|
|
presets: [
|
|
[
|
|
require('@babel/preset-env'),
|
|
{
|
|
useBuiltIns: 'entry',
|
|
corejs: 3
|
|
}
|
|
]
|
|
]
|
|
};
|
|
```
|
|
|
|
|
|
|
|
### Options
|
|
|
|
config [string]
|
|
: Path to the Babel configuration file. Hugo will, by default, look for a `babel.config.js` in your project. More information on these configuration files can be found here: [babel configuration](https://babeljs.io/docs/en/configuration).
|
|
|
|
minified [bool]
|
|
: Save as much bytes as possible when printing
|
|
|
|
noComments [bool]
|
|
: Write comments to generated output (true by default)
|
|
|
|
compact [bool]
|
|
: Do not include superfluous whitespace characters and line terminators. Defaults to `auto` if not set.
|
|
|
|
verbose [bool]
|
|
: Log everything
|
|
|
|
### Examples
|
|
|
|
```go-html-template
|
|
{{- $transpiled := resources.Get "scripts/main.js" | babel -}}
|
|
```
|
|
|
|
Or with options:
|
|
|
|
```go-html-template
|
|
{{ $opts := dict "noComments" true }}
|
|
{{- $transpiled := resources.Get "scripts/main.js" | babel $opts -}}
|
|
```
|