aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/builtins')
-rw-r--r--src/bun.js/builtins/cpp/BundlerPluginBuiltins.cpp24
-rw-r--r--src/bun.js/builtins/cpp/BundlerPluginBuiltins.h2
-rw-r--r--src/bun.js/builtins/js/BundlerPlugin.js22
3 files changed, 44 insertions, 4 deletions
diff --git a/src/bun.js/builtins/cpp/BundlerPluginBuiltins.cpp b/src/bun.js/builtins/cpp/BundlerPluginBuiltins.cpp
index be049ae13..f66e568a3 100644
--- a/src/bun.js/builtins/cpp/BundlerPluginBuiltins.cpp
+++ b/src/bun.js/builtins/cpp/BundlerPluginBuiltins.cpp
@@ -202,10 +202,10 @@ const char* const s_bundlerPluginRunOnResolvePluginsCode =
const JSC::ConstructAbility s_bundlerPluginRunSetupFunctionCodeConstructAbility = JSC::ConstructAbility::CannotConstruct;
const JSC::ConstructorKind s_bundlerPluginRunSetupFunctionCodeConstructorKind = JSC::ConstructorKind::None;
const JSC::ImplementationVisibility s_bundlerPluginRunSetupFunctionCodeImplementationVisibility = JSC::ImplementationVisibility::Public;
-const int s_bundlerPluginRunSetupFunctionCodeLength = 3794;
+const int s_bundlerPluginRunSetupFunctionCodeLength = 4551;
static const JSC::Intrinsic s_bundlerPluginRunSetupFunctionCodeIntrinsic = JSC::NoIntrinsic;
const char* const s_bundlerPluginRunSetupFunctionCode =
- "(function (setup) {\n" \
+ "(function (setup, config) {\n" \
" \"use strict\";\n" \
" var onLoadPlugins = new Map(),\n" \
" onResolvePlugins = new Map();\n" \
@@ -271,6 +271,10 @@ const char* const s_bundlerPluginRunSetupFunctionCode =
" @throwTypeError(\"On-dispose callbacks are not implemented yet. See https:/\\/github.com/oven-sh/bun/issues/2771\");\n" \
" }\n" \
"\n" \
+ " function onDispose(callback) {\n" \
+ " @throwTypeError(\"build.resolve() is not implemented yet. See https:/\\/github.com/oven-sh/bun/issues/2771\");\n" \
+ " }\n" \
+ "\n" \
" const processSetupResult = () => {\n" \
" var anyOnLoad = false,\n" \
" anyOnResolve = false;\n" \
@@ -327,11 +331,27 @@ const char* const s_bundlerPluginRunSetupFunctionCode =
" };\n" \
"\n" \
" var setupResult = setup({\n" \
+ " config,\n" \
" onDispose,\n" \
" onEnd,\n" \
" onLoad,\n" \
" onResolve,\n" \
" onStart,\n" \
+ " resolve,\n" \
+ " //\n" \
+ " initialOptions: {\n" \
+ " ...config,\n" \
+ " bundle: true,\n" \
+ " entryPoints: config.entrypoints ?? config.entryPoints ?? [],\n" \
+ " minify: typeof config.minify === 'boolean' ? config.minify : false,\n" \
+ " minifyIdentifiers: config.minify === true || config.minify?.identifiers,\n" \
+ " minifyWhitespace: config.minify === true || config.minify?.whitespace,\n" \
+ " minifySyntax: config.minify === true || config.minify?.syntax,\n" \
+ " outbase: config.root,\n" \
+ " platform: config.target === 'bun' ? 'node' : config.target,\n" \
+ " root: undefined,\n" \
+ " },\n" \
+ " esbuild: {},\n" \
" });\n" \
"\n" \
" if (setupResult && @isPromise(setupResult)) {\n" \
diff --git a/src/bun.js/builtins/cpp/BundlerPluginBuiltins.h b/src/bun.js/builtins/cpp/BundlerPluginBuiltins.h
index 91b3233f2..d1fdaf4ec 100644
--- a/src/bun.js/builtins/cpp/BundlerPluginBuiltins.h
+++ b/src/bun.js/builtins/cpp/BundlerPluginBuiltins.h
@@ -65,7 +65,7 @@ extern const JSC::ImplementationVisibility s_bundlerPluginRunOnLoadPluginsCodeIm
#define WEBCORE_FOREACH_BUNDLERPLUGIN_BUILTIN_DATA(macro) \
macro(runOnResolvePlugins, bundlerPluginRunOnResolvePlugins, 5) \
- macro(runSetupFunction, bundlerPluginRunSetupFunction, 1) \
+ macro(runSetupFunction, bundlerPluginRunSetupFunction, 2) \
macro(runOnLoadPlugins, bundlerPluginRunOnLoadPlugins, 4) \
#define WEBCORE_BUILTIN_BUNDLERPLUGIN_RUNONRESOLVEPLUGINS 1
diff --git a/src/bun.js/builtins/js/BundlerPlugin.js b/src/bun.js/builtins/js/BundlerPlugin.js
index ec8fee397..43f6e889a 100644
--- a/src/bun.js/builtins/js/BundlerPlugin.js
+++ b/src/bun.js/builtins/js/BundlerPlugin.js
@@ -178,7 +178,7 @@ function runOnResolvePlugins(
}
}
-function runSetupFunction(setup) {
+function runSetupFunction(setup, config) {
"use strict";
var onLoadPlugins = new Map(),
onResolvePlugins = new Map();
@@ -244,6 +244,10 @@ function runSetupFunction(setup) {
@throwTypeError("On-dispose callbacks are not implemented yet. See https:/\/github.com/oven-sh/bun/issues/2771");
}
+ function onDispose(callback) {
+ @throwTypeError("build.resolve() is not implemented yet. See https:/\/github.com/oven-sh/bun/issues/2771");
+ }
+
const processSetupResult = () => {
var anyOnLoad = false,
anyOnResolve = false;
@@ -300,11 +304,27 @@ function runSetupFunction(setup) {
};
var setupResult = setup({
+ config,
onDispose,
onEnd,
onLoad,
onResolve,
onStart,
+ resolve,
+ // esbuild's options argument is different, we provide some interop
+ initialOptions: {
+ ...config,
+ bundle: true,
+ entryPoints: config.entrypoints ?? config.entryPoints ?? [],
+ minify: typeof config.minify === 'boolean' ? config.minify : false,
+ minifyIdentifiers: config.minify === true || config.minify?.identifiers,
+ minifyWhitespace: config.minify === true || config.minify?.whitespace,
+ minifySyntax: config.minify === true || config.minify?.syntax,
+ outbase: config.root,
+ platform: config.target === 'bun' ? 'node' : config.target,
+ root: undefined,
+ },
+ esbuild: {},
});
if (setupResult && @isPromise(setupResult)) {