aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins/cpp/BundlerPluginBuiltins.cpp
diff options
context:
space:
mode:
authorGravatar dave caruso <me@paperdave.net> 2023-05-11 22:58:41 -0400
committerGravatar GitHub <noreply@github.com> 2023-05-11 22:58:41 -0400
commitdfd0f3e2527daffa06da791ccaed7dfe3240963e (patch)
tree535d9c676190d50e04194d78d2efba98ee9317cb /src/bun.js/builtins/cpp/BundlerPluginBuiltins.cpp
parent136b50c74639cb1f583435a318d283028ee57dc5 (diff)
downloadbun-dfd0f3e2527daffa06da791ccaed7dfe3240963e.tar.gz
bun-dfd0f3e2527daffa06da791ccaed7dfe3240963e.tar.zst
bun-dfd0f3e2527daffa06da791ccaed7dfe3240963e.zip
Allow reading config from within plugins, and partially implement esbuild `initialOptions` (#2861)
* Implement plugin build.config and initialOptions * update types * default initialoptions entrypoints
Diffstat (limited to 'src/bun.js/builtins/cpp/BundlerPluginBuiltins.cpp')
-rw-r--r--src/bun.js/builtins/cpp/BundlerPluginBuiltins.cpp24
1 files changed, 22 insertions, 2 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" \