Comments (7)
In #378 this is resolved by two mechanisms: (1) require.resolve
is statically analyzed so in the above example, the require itself is known, and (2) require.resolve
when not possible to statically determine is replaced with the resolve of the target environment.
The result is that the edge cases left of require.resolve
are exactly the edge case of dynamic require support. So we can track further in its own issue on that.
from ncc.
This is a webpack-specific hack that works TooTallNate/node-bindings@40dcc1f
from ncc.
Nice, that seems a sensible approach to getting bindings working. Although it relies on the node_modules location right?
from ncc.
It's just a way to "break out" from the webpack "fails as a module not found, all the time" scenario and get access to the native require
. Indeed this is a runtime thing though so maybe it's not applicable here.
from ncc.
@TooTallNate another option for breaking out of webpack without per-package hacks might be to reinstrument https://github.com/webpack/webpack/blob/master/lib/ContextModule.js#L610 through the plugin system (I'm sure there's a way!) to check the global require on not found first.
from ncc.
I tried hacking the above approach to make webpack loaders work, but unfortunately passing string ids through the resolver was causing breaks in the internal loader logic (eg loader resolve -> "1026"
kind of thing).
That was the primary goal of this issue, although the approach may still work for Babel plugins.
Leaving this one for now.
from ncc.
Reopening this issue, as coming up with a solution to these dynamic cases will solve #141, #148, #290.
from ncc.
Related Issues (20)
- NCC build fails when compiling a Custom Server NextJS app - ./static.edge is not exported from react-dom HOT 3
- bug TypeError: Cannot read property 'set' of undefined
- Option 'allowImportingTsExtensions' can only be used when either 'noEmit' or 'emitDeclarationOnly' is set. HOT 1
- BUG: Fails to bundle `[email protected]` HOT 1
- How compatible are paths that need to be dynamically loaded at ncc build time HOT 2
- Cannot bundle `@npmcli/arborist` HOT 3
- ESM mode still uses "require" within an ESM module HOT 6
- Java
- Confusing error message "Package path . is not exported from package" HOT 2
- Are there multiple js files in the directory packaged by NCC? HOT 2
- vercel/ncc
- Advantages over other bundlers HOT 4
- more documentation about `--v8-cache`
- ncc and prebuildify HOT 3
- TypeError when resolving symlinked module paths in a Lerna workspace
- 打包之后在linux系统下无法运行 HOT 2
- AssetBuilds repeatedly packages the same resources
- Why i got multiple js file, and Cannot find module './indexes' ? HOT 4
- Does ncc support dynamic required(path) of fs.readdir ?
- Bitgetlimted
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 ncc.