bzlmod: Add MODULE.bazel - #490

Draft
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module
Draft

bzlmod: Add MODULE.bazel#490
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module

Conversation

@leonm1

@leonm1leonm1 commented Jan 21, 2026

Copy link
Copy Markdown
Contributor

Creating a draft PR to run CI on proxy-wasm-cpp-host with MODULE.bazel by default.

Comment threadbazel/extensions.bzl
Comment threadMODULE.bazel Outdated
"dragonbox",
"fast_float",
"fp16",
"highway",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided to leave these dependencies in the V8 extension since that way there is a clear link they can be updated and/or added and/or removed together.

Comment threadMODULE.bazel Outdated
version = "0.0.0",
)

bazel_dep(name = "abseil-cpp", version = "20250814.1")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bazel_dep(name="abseil-cpp", version="20250814.1")
bazel_dep(name="abseil-cpp", version="20250814.1", repo_name="com_google_absl")

Can you sort bazel_deps by name, this help keeping it readable and bzlmod doesn"t rely on this order

Comment threadMODULE.bazel Outdated
Comment on lines +31 to +32
bazel_dep(name = "rules_fuzzing", version = "0.6.0")
bazel_dep(name = "googletest", version = "1.17.0.bcr.2", repo_name = "com_google_googletest")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You probably can flag them as dev_dependency, you can group them one line after the main bazel_deps group

Comment threadMODULE.bazel
)

# Configure and register the toolchain.
llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm", dev_dependency=True)

See https://github.com/bazel-contrib/toolchains_llvm?tab=readme-ov-file#customizations

Comment threadMODULE.bazel
emscripten_deps.config(version = "4.0.17")

archive_override(
module_name = "proxy-wasm-cpp-sdk",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The archive override is local and will need to be also done by dependent first one envoy.
proxy-wasm-cpp-sdk shall be published in BCR.
I wish proxy-wasm/proxy-wasm-cpp-sdk#190 was merged first then a first version can be manually published in the BCR and ready to be used here

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use proxy-wasm-cpp-sdk@0.0.0-20260123-894dd29 now that it is in BCR: bazelbuild/bazel-central-registry#7390

Comment threadbazel/extensions.bzl Outdated
Comment on lines +22 to +27
direct_deps = _wasmtime_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmtime_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmtime_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

Comment threadbazel/extensions.bzl Outdated
Comment on lines +34 to +39
direct_deps = _wasmsign_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmsign_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmsign_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

phlaxand others added 15 commits January 23, 2026 14:20
Signed-off-by: Ryan Northey <ryan@synca.io>
Fixes github.com/bazelbuild/bazel/issues/27582
Signed-off-by: Matt Leon <mattleon@google.com>
Changes from 1e1ebdb:
* Adds toolchain
* Removes unneeded wasmtime crates imports
* Adds wasmsign2-cli crates
* Adds patch for rules_rust to avoid staticlib linking issue
Notably, this change does not use V8 from BCR because V8's MODULE.bazel file is missing various deps (fp16, simdutf, fast_float, intel_ittapi, dragonbox).
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Not all deps need be reachable from the root workspace for bzlmod.
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@leonm1@mmorel-35@phlax
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

bzlmod: Add MODULE.bazel - #490

Draft
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module
Draft

bzlmod: Add MODULE.bazel#490
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module

Conversation

@leonm1

@leonm1leonm1 commented Jan 21, 2026

Copy link
Copy Markdown
Contributor

Creating a draft PR to run CI on proxy-wasm-cpp-host with MODULE.bazel by default.

Comment threadbazel/extensions.bzl
Comment threadMODULE.bazel Outdated
"dragonbox",
"fast_float",
"fp16",
"highway",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided to leave these dependencies in the V8 extension since that way there is a clear link they can be updated and/or added and/or removed together.

Comment threadMODULE.bazel Outdated
version = "0.0.0",
)

bazel_dep(name = "abseil-cpp", version = "20250814.1")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bazel_dep(name="abseil-cpp", version="20250814.1")
bazel_dep(name="abseil-cpp", version="20250814.1", repo_name="com_google_absl")

Can you sort bazel_deps by name, this help keeping it readable and bzlmod doesn"t rely on this order

Comment threadMODULE.bazel Outdated
Comment on lines +31 to +32
bazel_dep(name = "rules_fuzzing", version = "0.6.0")
bazel_dep(name = "googletest", version = "1.17.0.bcr.2", repo_name = "com_google_googletest")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You probably can flag them as dev_dependency, you can group them one line after the main bazel_deps group

Comment threadMODULE.bazel
)

# Configure and register the toolchain.
llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm", dev_dependency=True)

See https://github.com/bazel-contrib/toolchains_llvm?tab=readme-ov-file#customizations

Comment threadMODULE.bazel
emscripten_deps.config(version = "4.0.17")

archive_override(
module_name = "proxy-wasm-cpp-sdk",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The archive override is local and will need to be also done by dependent first one envoy.
proxy-wasm-cpp-sdk shall be published in BCR.
I wish proxy-wasm/proxy-wasm-cpp-sdk#190 was merged first then a first version can be manually published in the BCR and ready to be used here

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use proxy-wasm-cpp-sdk@0.0.0-20260123-894dd29 now that it is in BCR: bazelbuild/bazel-central-registry#7390

Comment threadbazel/extensions.bzl Outdated
Comment on lines +22 to +27
direct_deps = _wasmtime_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmtime_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmtime_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

Comment threadbazel/extensions.bzl Outdated
Comment on lines +34 to +39
direct_deps = _wasmsign_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmsign_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmsign_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

phlaxand others added 15 commits January 23, 2026 14:20
Signed-off-by: Ryan Northey <ryan@synca.io>
Fixes github.com/bazelbuild/bazel/issues/27582
Signed-off-by: Matt Leon <mattleon@google.com>
Changes from 1e1ebdb:
* Adds toolchain
* Removes unneeded wasmtime crates imports
* Adds wasmsign2-cli crates
* Adds patch for rules_rust to avoid staticlib linking issue
Notably, this change does not use V8 from BCR because V8's MODULE.bazel file is missing various deps (fp16, simdutf, fast_float, intel_ittapi, dragonbox).
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Not all deps need be reachable from the root workspace for bzlmod.
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@leonm1@mmorel-35@phlax
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

bzlmod: Add MODULE.bazel - #490

Draft
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module
Draft

bzlmod: Add MODULE.bazel#490
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module

Conversation

@leonm1

@leonm1leonm1 commented Jan 21, 2026

Copy link
Copy Markdown
Contributor

Creating a draft PR to run CI on proxy-wasm-cpp-host with MODULE.bazel by default.

Comment threadbazel/extensions.bzl
Comment threadMODULE.bazel Outdated
"dragonbox",
"fast_float",
"fp16",
"highway",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided to leave these dependencies in the V8 extension since that way there is a clear link they can be updated and/or added and/or removed together.

Comment threadMODULE.bazel Outdated
version = "0.0.0",
)

bazel_dep(name = "abseil-cpp", version = "20250814.1")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bazel_dep(name="abseil-cpp", version="20250814.1")
bazel_dep(name="abseil-cpp", version="20250814.1", repo_name="com_google_absl")

Can you sort bazel_deps by name, this help keeping it readable and bzlmod doesn"t rely on this order

Comment threadMODULE.bazel Outdated
Comment on lines +31 to +32
bazel_dep(name = "rules_fuzzing", version = "0.6.0")
bazel_dep(name = "googletest", version = "1.17.0.bcr.2", repo_name = "com_google_googletest")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You probably can flag them as dev_dependency, you can group them one line after the main bazel_deps group

Comment threadMODULE.bazel
)

# Configure and register the toolchain.
llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm", dev_dependency=True)

See https://github.com/bazel-contrib/toolchains_llvm?tab=readme-ov-file#customizations

Comment threadMODULE.bazel
emscripten_deps.config(version = "4.0.17")

archive_override(
module_name = "proxy-wasm-cpp-sdk",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The archive override is local and will need to be also done by dependent first one envoy.
proxy-wasm-cpp-sdk shall be published in BCR.
I wish proxy-wasm/proxy-wasm-cpp-sdk#190 was merged first then a first version can be manually published in the BCR and ready to be used here

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use proxy-wasm-cpp-sdk@0.0.0-20260123-894dd29 now that it is in BCR: bazelbuild/bazel-central-registry#7390

Comment threadbazel/extensions.bzl Outdated
Comment on lines +22 to +27
direct_deps = _wasmtime_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmtime_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmtime_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

Comment threadbazel/extensions.bzl Outdated
Comment on lines +34 to +39
direct_deps = _wasmsign_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmsign_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmsign_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

phlaxand others added 15 commits January 23, 2026 14:20
Signed-off-by: Ryan Northey <ryan@synca.io>
Fixes github.com/bazelbuild/bazel/issues/27582
Signed-off-by: Matt Leon <mattleon@google.com>
Changes from 1e1ebdb:
* Adds toolchain
* Removes unneeded wasmtime crates imports
* Adds wasmsign2-cli crates
* Adds patch for rules_rust to avoid staticlib linking issue
Notably, this change does not use V8 from BCR because V8's MODULE.bazel file is missing various deps (fp16, simdutf, fast_float, intel_ittapi, dragonbox).
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Not all deps need be reachable from the root workspace for bzlmod.
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@leonm1@mmorel-35@phlax
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

bzlmod: Add MODULE.bazel - #490

Draft
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module
Draft

bzlmod: Add MODULE.bazel#490
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module

Conversation

@leonm1

@leonm1leonm1 commented Jan 21, 2026

Copy link
Copy Markdown
Contributor

Creating a draft PR to run CI on proxy-wasm-cpp-host with MODULE.bazel by default.

Comment threadbazel/extensions.bzl
Comment threadMODULE.bazel Outdated
"dragonbox",
"fast_float",
"fp16",
"highway",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided to leave these dependencies in the V8 extension since that way there is a clear link they can be updated and/or added and/or removed together.

Comment threadMODULE.bazel Outdated
version = "0.0.0",
)

bazel_dep(name = "abseil-cpp", version = "20250814.1")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bazel_dep(name="abseil-cpp", version="20250814.1")
bazel_dep(name="abseil-cpp", version="20250814.1", repo_name="com_google_absl")

Can you sort bazel_deps by name, this help keeping it readable and bzlmod doesn"t rely on this order

Comment threadMODULE.bazel Outdated
Comment on lines +31 to +32
bazel_dep(name = "rules_fuzzing", version = "0.6.0")
bazel_dep(name = "googletest", version = "1.17.0.bcr.2", repo_name = "com_google_googletest")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You probably can flag them as dev_dependency, you can group them one line after the main bazel_deps group

Comment threadMODULE.bazel
)

# Configure and register the toolchain.
llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm", dev_dependency=True)

See https://github.com/bazel-contrib/toolchains_llvm?tab=readme-ov-file#customizations

Comment threadMODULE.bazel
emscripten_deps.config(version = "4.0.17")

archive_override(
module_name = "proxy-wasm-cpp-sdk",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The archive override is local and will need to be also done by dependent first one envoy.
proxy-wasm-cpp-sdk shall be published in BCR.
I wish proxy-wasm/proxy-wasm-cpp-sdk#190 was merged first then a first version can be manually published in the BCR and ready to be used here

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use proxy-wasm-cpp-sdk@0.0.0-20260123-894dd29 now that it is in BCR: bazelbuild/bazel-central-registry#7390

Comment threadbazel/extensions.bzl Outdated
Comment on lines +22 to +27
direct_deps = _wasmtime_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmtime_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmtime_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

Comment threadbazel/extensions.bzl Outdated
Comment on lines +34 to +39
direct_deps = _wasmsign_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmsign_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmsign_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

phlaxand others added 15 commits January 23, 2026 14:20
Signed-off-by: Ryan Northey <ryan@synca.io>
Fixes github.com/bazelbuild/bazel/issues/27582
Signed-off-by: Matt Leon <mattleon@google.com>
Changes from 1e1ebdb:
* Adds toolchain
* Removes unneeded wasmtime crates imports
* Adds wasmsign2-cli crates
* Adds patch for rules_rust to avoid staticlib linking issue
Notably, this change does not use V8 from BCR because V8's MODULE.bazel file is missing various deps (fp16, simdutf, fast_float, intel_ittapi, dragonbox).
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Not all deps need be reachable from the root workspace for bzlmod.
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@leonm1@mmorel-35@phlax
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

bzlmod: Add MODULE.bazel - #490

Draft
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module
Draft

bzlmod: Add MODULE.bazel#490
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module

Conversation

@leonm1

@leonm1leonm1 commented Jan 21, 2026

Copy link
Copy Markdown
Contributor

Creating a draft PR to run CI on proxy-wasm-cpp-host with MODULE.bazel by default.

Comment threadbazel/extensions.bzl
Comment threadMODULE.bazel Outdated
"dragonbox",
"fast_float",
"fp16",
"highway",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided to leave these dependencies in the V8 extension since that way there is a clear link they can be updated and/or added and/or removed together.

Comment threadMODULE.bazel Outdated
version = "0.0.0",
)

bazel_dep(name = "abseil-cpp", version = "20250814.1")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bazel_dep(name="abseil-cpp", version="20250814.1")
bazel_dep(name="abseil-cpp", version="20250814.1", repo_name="com_google_absl")

Can you sort bazel_deps by name, this help keeping it readable and bzlmod doesn"t rely on this order

Comment threadMODULE.bazel Outdated
Comment on lines +31 to +32
bazel_dep(name = "rules_fuzzing", version = "0.6.0")
bazel_dep(name = "googletest", version = "1.17.0.bcr.2", repo_name = "com_google_googletest")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You probably can flag them as dev_dependency, you can group them one line after the main bazel_deps group

Comment threadMODULE.bazel
)

# Configure and register the toolchain.
llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm", dev_dependency=True)

See https://github.com/bazel-contrib/toolchains_llvm?tab=readme-ov-file#customizations

Comment threadMODULE.bazel
emscripten_deps.config(version = "4.0.17")

archive_override(
module_name = "proxy-wasm-cpp-sdk",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The archive override is local and will need to be also done by dependent first one envoy.
proxy-wasm-cpp-sdk shall be published in BCR.
I wish proxy-wasm/proxy-wasm-cpp-sdk#190 was merged first then a first version can be manually published in the BCR and ready to be used here

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use proxy-wasm-cpp-sdk@0.0.0-20260123-894dd29 now that it is in BCR: bazelbuild/bazel-central-registry#7390

Comment threadbazel/extensions.bzl Outdated
Comment on lines +22 to +27
direct_deps = _wasmtime_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmtime_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmtime_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

Comment threadbazel/extensions.bzl Outdated
Comment on lines +34 to +39
direct_deps = _wasmsign_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmsign_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmsign_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

phlaxand others added 15 commits January 23, 2026 14:20
Signed-off-by: Ryan Northey <ryan@synca.io>
Fixes github.com/bazelbuild/bazel/issues/27582
Signed-off-by: Matt Leon <mattleon@google.com>
Changes from 1e1ebdb:
* Adds toolchain
* Removes unneeded wasmtime crates imports
* Adds wasmsign2-cli crates
* Adds patch for rules_rust to avoid staticlib linking issue
Notably, this change does not use V8 from BCR because V8's MODULE.bazel file is missing various deps (fp16, simdutf, fast_float, intel_ittapi, dragonbox).
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Not all deps need be reachable from the root workspace for bzlmod.
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@leonm1@mmorel-35@phlax
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

bzlmod: Add MODULE.bazel - #490

Draft
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module
Draft

bzlmod: Add MODULE.bazel#490
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module

Conversation

@leonm1

@leonm1leonm1 commented Jan 21, 2026

Copy link
Copy Markdown
Contributor

Creating a draft PR to run CI on proxy-wasm-cpp-host with MODULE.bazel by default.

Comment threadbazel/extensions.bzl
Comment threadMODULE.bazel Outdated
"dragonbox",
"fast_float",
"fp16",
"highway",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided to leave these dependencies in the V8 extension since that way there is a clear link they can be updated and/or added and/or removed together.

Comment threadMODULE.bazel Outdated
version = "0.0.0",
)

bazel_dep(name = "abseil-cpp", version = "20250814.1")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bazel_dep(name="abseil-cpp", version="20250814.1")
bazel_dep(name="abseil-cpp", version="20250814.1", repo_name="com_google_absl")

Can you sort bazel_deps by name, this help keeping it readable and bzlmod doesn"t rely on this order

Comment threadMODULE.bazel Outdated
Comment on lines +31 to +32
bazel_dep(name = "rules_fuzzing", version = "0.6.0")
bazel_dep(name = "googletest", version = "1.17.0.bcr.2", repo_name = "com_google_googletest")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You probably can flag them as dev_dependency, you can group them one line after the main bazel_deps group

Comment threadMODULE.bazel
)

# Configure and register the toolchain.
llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm", dev_dependency=True)

See https://github.com/bazel-contrib/toolchains_llvm?tab=readme-ov-file#customizations

Comment threadMODULE.bazel
emscripten_deps.config(version = "4.0.17")

archive_override(
module_name = "proxy-wasm-cpp-sdk",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The archive override is local and will need to be also done by dependent first one envoy.
proxy-wasm-cpp-sdk shall be published in BCR.
I wish proxy-wasm/proxy-wasm-cpp-sdk#190 was merged first then a first version can be manually published in the BCR and ready to be used here

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use proxy-wasm-cpp-sdk@0.0.0-20260123-894dd29 now that it is in BCR: bazelbuild/bazel-central-registry#7390

Comment threadbazel/extensions.bzl Outdated
Comment on lines +22 to +27
direct_deps = _wasmtime_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmtime_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmtime_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

Comment threadbazel/extensions.bzl Outdated
Comment on lines +34 to +39
direct_deps = _wasmsign_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmsign_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmsign_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

phlaxand others added 15 commits January 23, 2026 14:20
Signed-off-by: Ryan Northey <ryan@synca.io>
Fixes github.com/bazelbuild/bazel/issues/27582
Signed-off-by: Matt Leon <mattleon@google.com>
Changes from 1e1ebdb:
* Adds toolchain
* Removes unneeded wasmtime crates imports
* Adds wasmsign2-cli crates
* Adds patch for rules_rust to avoid staticlib linking issue
Notably, this change does not use V8 from BCR because V8's MODULE.bazel file is missing various deps (fp16, simdutf, fast_float, intel_ittapi, dragonbox).
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Not all deps need be reachable from the root workspace for bzlmod.
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@leonm1@mmorel-35@phlax
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

bzlmod: Add MODULE.bazel - #490

Draft
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module
Draft

bzlmod: Add MODULE.bazel#490
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module

Conversation

@leonm1

@leonm1leonm1 commented Jan 21, 2026

Copy link
Copy Markdown
Contributor

Creating a draft PR to run CI on proxy-wasm-cpp-host with MODULE.bazel by default.

Comment threadbazel/extensions.bzl
Comment threadMODULE.bazel Outdated
"dragonbox",
"fast_float",
"fp16",
"highway",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided to leave these dependencies in the V8 extension since that way there is a clear link they can be updated and/or added and/or removed together.

Comment threadMODULE.bazel Outdated
version = "0.0.0",
)

bazel_dep(name = "abseil-cpp", version = "20250814.1")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bazel_dep(name="abseil-cpp", version="20250814.1")
bazel_dep(name="abseil-cpp", version="20250814.1", repo_name="com_google_absl")

Can you sort bazel_deps by name, this help keeping it readable and bzlmod doesn"t rely on this order

Comment threadMODULE.bazel Outdated
Comment on lines +31 to +32
bazel_dep(name = "rules_fuzzing", version = "0.6.0")
bazel_dep(name = "googletest", version = "1.17.0.bcr.2", repo_name = "com_google_googletest")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You probably can flag them as dev_dependency, you can group them one line after the main bazel_deps group

Comment threadMODULE.bazel
)

# Configure and register the toolchain.
llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm", dev_dependency=True)

See https://github.com/bazel-contrib/toolchains_llvm?tab=readme-ov-file#customizations

Comment threadMODULE.bazel
emscripten_deps.config(version = "4.0.17")

archive_override(
module_name = "proxy-wasm-cpp-sdk",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The archive override is local and will need to be also done by dependent first one envoy.
proxy-wasm-cpp-sdk shall be published in BCR.
I wish proxy-wasm/proxy-wasm-cpp-sdk#190 was merged first then a first version can be manually published in the BCR and ready to be used here

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use proxy-wasm-cpp-sdk@0.0.0-20260123-894dd29 now that it is in BCR: bazelbuild/bazel-central-registry#7390

Comment threadbazel/extensions.bzl Outdated
Comment on lines +22 to +27
direct_deps = _wasmtime_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmtime_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmtime_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

Comment threadbazel/extensions.bzl Outdated
Comment on lines +34 to +39
direct_deps = _wasmsign_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmsign_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmsign_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

phlaxand others added 15 commits January 23, 2026 14:20
Signed-off-by: Ryan Northey <ryan@synca.io>
Fixes github.com/bazelbuild/bazel/issues/27582
Signed-off-by: Matt Leon <mattleon@google.com>
Changes from 1e1ebdb:
* Adds toolchain
* Removes unneeded wasmtime crates imports
* Adds wasmsign2-cli crates
* Adds patch for rules_rust to avoid staticlib linking issue
Notably, this change does not use V8 from BCR because V8's MODULE.bazel file is missing various deps (fp16, simdutf, fast_float, intel_ittapi, dragonbox).
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Not all deps need be reachable from the root workspace for bzlmod.
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@leonm1@mmorel-35@phlax
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

bzlmod: Add MODULE.bazel - #490

Draft
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module
Draft

bzlmod: Add MODULE.bazel#490
leonm1 wants to merge 15 commits into
proxy-wasm:mainfrom
leonm1:bzlmod-module

Conversation

@leonm1

@leonm1leonm1 commented Jan 21, 2026

Copy link
Copy Markdown
Contributor

Creating a draft PR to run CI on proxy-wasm-cpp-host with MODULE.bazel by default.

Comment threadbazel/extensions.bzl
Comment threadMODULE.bazel Outdated
"dragonbox",
"fast_float",
"fp16",
"highway",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided to leave these dependencies in the V8 extension since that way there is a clear link they can be updated and/or added and/or removed together.

Comment threadMODULE.bazel Outdated
version = "0.0.0",
)

bazel_dep(name = "abseil-cpp", version = "20250814.1")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
bazel_dep(name="abseil-cpp", version="20250814.1")
bazel_dep(name="abseil-cpp", version="20250814.1", repo_name="com_google_absl")

Can you sort bazel_deps by name, this help keeping it readable and bzlmod doesn"t rely on this order

Comment threadMODULE.bazel Outdated
Comment on lines +31 to +32
bazel_dep(name = "rules_fuzzing", version = "0.6.0")
bazel_dep(name = "googletest", version = "1.17.0.bcr.2", repo_name = "com_google_googletest")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You probably can flag them as dev_dependency, you can group them one line after the main bazel_deps group

Comment threadMODULE.bazel
)

# Configure and register the toolchain.
llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")
llvm=use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm", dev_dependency=True)

See https://github.com/bazel-contrib/toolchains_llvm?tab=readme-ov-file#customizations

Comment threadMODULE.bazel
emscripten_deps.config(version = "4.0.17")

archive_override(
module_name = "proxy-wasm-cpp-sdk",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The archive override is local and will need to be also done by dependent first one envoy.
proxy-wasm-cpp-sdk shall be published in BCR.
I wish proxy-wasm/proxy-wasm-cpp-sdk#190 was merged first then a first version can be manually published in the BCR and ready to be used here

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use proxy-wasm-cpp-sdk@0.0.0-20260123-894dd29 now that it is in BCR: bazelbuild/bazel-central-registry#7390

Comment threadbazel/extensions.bzl Outdated
Comment on lines +22 to +27
direct_deps = _wasmtime_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmtime_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmtime_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

Comment threadbazel/extensions.bzl Outdated
Comment on lines +34 to +39
direct_deps = _wasmsign_crate_repositories()
return ctx.extension_metadata(
reproducible = bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps = [dep.repo for dep in direct_deps],
root_module_direct_dev_deps = [],
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
direct_deps=_wasmsign_crate_repositories()
returnctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps= [dep.repofordepindirect_deps],
root_module_direct_dev_deps= [],
)
deps= []
forrepoin_wasmsign_crate_repositories():
ifnotrepo.is_dev_dep:
deps.append(repo.repo)
returnmodule_ctx.extension_metadata(
reproducible=bazel_features.external_deps.extension_metadata_has_reproducible,
root_module_direct_deps=deps,
root_module_direct_dev_deps= [],
)

phlaxand others added 15 commits January 23, 2026 14:20
Signed-off-by: Ryan Northey <ryan@synca.io>
Fixes github.com/bazelbuild/bazel/issues/27582
Signed-off-by: Matt Leon <mattleon@google.com>
Changes from 1e1ebdb:
* Adds toolchain
* Removes unneeded wasmtime crates imports
* Adds wasmsign2-cli crates
* Adds patch for rules_rust to avoid staticlib linking issue
Notably, this change does not use V8 from BCR because V8's MODULE.bazel file is missing various deps (fp16, simdutf, fast_float, intel_ittapi, dragonbox).
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Not all deps need be reachable from the root workspace for bzlmod.
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@leonm1@mmorel-35@phlax