Comments (2)
It seems as though the
metafile
is output to the thecwd
and not theoutdir
when specified on the CLI.
The metafile
is written out to the path you provide. All non-absolute paths provided on the command line are relative to the current working directory, as is typical for CLIs.
So I tried just the
esbuild.build
command and that did not work either (so I am thinking that there is some kind of configuration issue I have?).
The documentation for metafile
is here: https://esbuild.github.io/api/#metafile. Note that only the CLI writes it to a file. The JS API esbuild.build
returns it as an in-memory object, as you can see in the code example in the documentation:
import * as esbuild from 'esbuild'
import fs from 'node:fs'
let result = await esbuild.build({
entryPoints: ['app.js'],
bundle: true,
metafile: true,
outfile: 'out.js',
})
fs.writeFileSync('meta.json', JSON.stringify(result.metafile))
Additionally, when using the cli, metafile expects a file name. However, when you use
build
/context
it is just a boolean flag.
If would be great if there was consistency between the API for metafile.
The CLI doesn't return the metafile as an in-memory object because that doesn't make sense for a CLI. The JS API actually used to work as you suggested (taking a file name instead of a boolean flag, and writing it to a file instead of returning it in memory), but in practice this was really annoying to use because you typically need to inspect the metafile object immediately after doing a build call. So the JS API was changed in version 0.9.0 to return it as an in-memory object instead (see #633). This change was intentional.
from esbuild.
Amazing, thank you! That actually makes perfect sense. Only comment would be that that was not immediately clear from the documentation, but a closer inspection of the types would have revealed that.
from esbuild.
Related Issues (20)
- Should fold let decl HOT 1
- Esbuild Won't Drop Unused Functions Created by Other Functions HOT 2
- Drop Unused Imports HOT 4
- enhance dead code elimination HOT 2
- Can not run private fields in the decorator
- Platform is not respected in module resolution HOT 3
- Get a wrong build result when first element of typescript enum is not a Literal value HOT 2
- Target chrome53 does not cover Object.fromEntries HOT 2
- Provide support for AWS Inspector compatability HOT 3
- new Buffer() -> TypeError: Cannot read properties of null (reading '0') -> starting on node 20.15 HOT 2
- Why "for the web"? HOT 2
- How to get build progress? HOT 1
- About the Golang filepath fix on wasm HOT 2
- Yarn PnP activating when project has nodeLinker: node-modules HOT 2
- Child combinator (>) in :has sometimes vanishes when transpiling nested css
- Exclude JSON from sourcemaps HOT 2
- Requestion: New release for update go 1.22.4 => 1.22.5 HOT 1
- feat: typescript project reference incremental build support HOT 1
- Inconsistent minify output caused by type import HOT 4
- ReferenceError in strict mode HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from esbuild.