mirror of
https://github.com/hanzoai/next.js.git
synced 2026-10-30 14:46:38 +00:00
Fixes https://github.com/vercel/next.js/issues/75220 This marks Bun's builtin modules as external, following the same pattern as for Node. - `"bun:ffi"` - `"bun:jsc"` - `"bun:sqlite"` - `"bun:test"` - `"bun:wrap"` - `"bun"` I have not manually tested this change yet, nor attempted to write tests for this. I did check for other places in the code that should be updated and _maybe_ `externals/crates/next-custom-transforms/src/transforms/warn_for_edge_runtime.rs` should as well, but I'll leave that up to you whether or not that makes sense. Opening as a draft until this can be at least manually tested. By the way, node's `sqlite` module is missing from `NODE_EXTERNALS`. That seemed out of scope but worth mentioning. Current error message:  --------- Co-authored-by: Alistair Smith <[email protected]>
53 lines
1.0 KiB
JavaScript
53 lines
1.0 KiB
JavaScript
// This page tests that Bun modules are properly externalized
|
|
export default function Page() {
|
|
return <div>Webpack Bun Externals Test</div>
|
|
}
|
|
|
|
export async function getServerSideProps() {
|
|
const results = {}
|
|
|
|
try {
|
|
require('bun:ffi')
|
|
results['bun:ffi'] = 'loaded'
|
|
} catch (e) {
|
|
results['bun:ffi'] = 'external (not found)'
|
|
}
|
|
|
|
try {
|
|
require('bun:jsc')
|
|
results['bun:jsc'] = 'loaded'
|
|
} catch (e) {
|
|
results['bun:jsc'] = 'external (not found)'
|
|
}
|
|
|
|
try {
|
|
require('bun:sqlite')
|
|
results['bun:sqlite'] = 'loaded'
|
|
} catch (e) {
|
|
results['bun:sqlite'] = 'external (not found)'
|
|
}
|
|
|
|
try {
|
|
require('bun:test')
|
|
results['bun:test'] = 'loaded'
|
|
} catch (e) {
|
|
results['bun:test'] = 'external (not found)'
|
|
}
|
|
|
|
try {
|
|
require('bun:wrap')
|
|
results['bun:wrap'] = 'loaded'
|
|
} catch (e) {
|
|
results['bun:wrap'] = 'external (not found)'
|
|
}
|
|
|
|
try {
|
|
require('bun')
|
|
results['bun'] = 'loaded'
|
|
} catch (e) {
|
|
results['bun'] = 'external (not found)'
|
|
}
|
|
|
|
return { props: { results } }
|
|
}
|