mirror of
https://github.com/gohugoio/hugo.git
synced 2025-04-26 13:40:38 +03:00
parent
304a7e5e74
commit
d25f7ec172
3 changed files with 46 additions and 0 deletions
|
@ -81,6 +81,14 @@ import * as ReactDOM from 'react-dom/client';
|
||||||
{{ $defines := dict "process.env.NODE_ENV" `"development"` }}
|
{{ $defines := dict "process.env.NODE_ENV" `"development"` }}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
##### drop
|
||||||
|
|
||||||
|
Edit your source code before building to drop certain constructs: One of `debugger` or `console`.
|
||||||
|
|
||||||
|
{{< new-in 0.144.0 />}}
|
||||||
|
|
||||||
|
See https://esbuild.github.io/api/#drop
|
||||||
|
|
||||||
###### sourceMap
|
###### sourceMap
|
||||||
|
|
||||||
(`string`) Whether to generate `inline`, `linked` or `external` source maps from esbuild. Linked and external source maps will be written to the target with the output file name + ".map". When `linked` a `sourceMappingURL` will also be written to the output file. By default, source maps are not created. Note that the `linked` option was added in Hugo 0.140.0.
|
(`string`) Whether to generate `inline`, `linked` or `external` source maps from esbuild. Linked and external source maps will be written to the target with the output file name + ".map". When `linked` a `sourceMappingURL` will also be written to the output file. By default, source maps are not created. Note that the `linked` option was added in Hugo 0.140.0.
|
||||||
|
|
|
@ -138,6 +138,10 @@ type ExternalOptions struct {
|
||||||
// User defined symbols.
|
// User defined symbols.
|
||||||
Defines map[string]any
|
Defines map[string]any
|
||||||
|
|
||||||
|
// This tells esbuild to edit your source code before building to drop certain constructs.
|
||||||
|
// See https://esbuild.github.io/api/#drop
|
||||||
|
Drop string
|
||||||
|
|
||||||
// Maps a component import to another.
|
// Maps a component import to another.
|
||||||
Shims map[string]string
|
Shims map[string]string
|
||||||
|
|
||||||
|
@ -298,6 +302,17 @@ func (opts *Options) compile() (err error) {
|
||||||
defines = maps.ToStringMapString(opts.Defines)
|
defines = maps.ToStringMapString(opts.Defines)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var drop api.Drop
|
||||||
|
switch opts.Drop {
|
||||||
|
case "":
|
||||||
|
case "console":
|
||||||
|
drop = api.DropConsole
|
||||||
|
case "debugger":
|
||||||
|
drop = api.DropDebugger
|
||||||
|
default:
|
||||||
|
err = fmt.Errorf("unsupported drop type: %q", opts.Drop)
|
||||||
|
}
|
||||||
|
|
||||||
// By default we only need to specify outDir and no outFile
|
// By default we only need to specify outDir and no outFile
|
||||||
outDir := opts.OutDir
|
outDir := opts.OutDir
|
||||||
outFile := ""
|
outFile := ""
|
||||||
|
@ -344,6 +359,7 @@ func (opts *Options) compile() (err error) {
|
||||||
|
|
||||||
Define: defines,
|
Define: defines,
|
||||||
External: opts.Externals,
|
External: opts.Externals,
|
||||||
|
Drop: drop,
|
||||||
|
|
||||||
JSXFactory: opts.JSXFactory,
|
JSXFactory: opts.JSXFactory,
|
||||||
JSXFragment: opts.JSXFragment,
|
JSXFragment: opts.JSXFragment,
|
||||||
|
|
|
@ -177,6 +177,28 @@ func TestToBuildOptions(t *testing.T) {
|
||||||
JSX: api.JSXAutomatic,
|
JSX: api.JSXAutomatic,
|
||||||
JSXImportSource: "preact",
|
JSXImportSource: "preact",
|
||||||
})
|
})
|
||||||
|
|
||||||
|
opts = Options{
|
||||||
|
ExternalOptions: ExternalOptions{
|
||||||
|
Drop: "console",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
c.Assert(opts.compile(), qt.IsNil)
|
||||||
|
c.Assert(opts.compiled.Drop, qt.Equals, api.DropConsole)
|
||||||
|
opts = Options{
|
||||||
|
ExternalOptions: ExternalOptions{
|
||||||
|
Drop: "debugger",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
c.Assert(opts.compile(), qt.IsNil)
|
||||||
|
c.Assert(opts.compiled.Drop, qt.Equals, api.DropDebugger)
|
||||||
|
|
||||||
|
opts = Options{
|
||||||
|
ExternalOptions: ExternalOptions{
|
||||||
|
Drop: "adsfadsf",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
c.Assert(opts.compile(), qt.ErrorMatches, `unsupported drop type: "adsfadsf"`)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestToBuildOptionsTarget(t *testing.T) {
|
func TestToBuildOptionsTarget(t *testing.T) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue