helloadhavan/github_issues huggingface dataset:
Repository: vuejs/vue
Pull request: types: add AsyncComponentFactory type

<!--
Please make sure to read the Pull Request Guidelines:
https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#pull-request-guidelines
-->

<!-- PULL REQUEST TEMPLATE -->
<!-- (Update "[ ]" to "[x]" to check a box) -->

**What kind of change does this PR introduce?** (check at least one)

- [ ] Bugfix
- [ ] Feature
- [ ] Code style update
- [ ] Refactor
- [ ] Build-related changes
- [x] Other, please describe: Typescript

**Does this PR introduce a breaking change?** (check one)

- [ ] Yes
- [x] No

If yes, please describe the impact and migration path for existing applications:

**The PR fulfills these requirements:**

- [x] It's submitted to the `dev` branch for v2.x (or to a previous version branch), _not_ the `master` branch
- [ ] When resolving a specific issue, it's referenced in the PR's title (e.g. `fix #xxx[,#xxx]`, where "xxx" is the issue number)
- [x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
- [ ] New/updated tests are included

If adding a **new feature**, the PR's description includes:
- [ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

**Other information:**

The current type definition for `ComponentOptions` does not have a definition for [async component factories](https://vuejs.org/v2/guide/components-dynamic-async.html) and as such causes errors when using the syntax with [vue-class-component](https://github.com/vuejs/vue-class-component).

Changed files:
filename: types/options.d.ts
patch: @@ -15,12 +15,24 @@ export type Component<Data=DefaultData<never>, Methods=DefaultMethods<never>, Co
 interface EsModuleComponent {
   default: Component
 }
+                      
+export type AsyncComponent<Data=DefaultData<never>, Methods=DefaultMethods<never>, Computed=DefaultComputed, Props=DefaultProps>
+  = AsyncComponentPromise<Data, Methods, Computed, Props>
+  | AsyncComponentFactory<Data, Methods, Computed, Props>
 
-export type AsyncComponent<Data=DefaultData<never>, Methods=DefaultMethods<never>, Computed=DefaultComputed, Props=DefaultProps> = (
+export type AsyncComponentPromise<Data=DefaultData<never>, Methods=DefaultMethods<never>, Computed=DefaultComputed, Props=DefaultProps> = (
   resolve: (component: Component<Data, Methods, Computed, Props>) => void,
   reject: (reason?: any) => void
 ) => Promise<Component | EsModuleComponent> | void;
 
+export type AsyncComponentFactory<Data=DefaultData<never>, Methods=DefaultMethods<never>, Computed=DefaultComputed, Props=DefaultProps> = () => {
+  component: AsyncComponentPromise<Data, Methods, Computed, Props>;
+  loading?: Component | EsModuleComponent;
+  error?: Component | EsModuleComponent;
+  delay?: number;
+  timeout?: number;
+}
+
 /**
  * When the `Computed` type parameter on `ComponentOptions` is inferred,
  * it should have a property with the return type of every get-accessor.
Repository: ollama/ollama
Pull request: Update README.md

removed phi 3 mini and added phi4-mini

Changed files:
filename: README.md
patch: @@ -64,7 +64,7 @@ Here are some example models that can be downloaded:
 | Llama 3.1          | 8B         | 4.7GB | `ollama run llama3.1`            |
 | Llama 3.1          | 405B       | 231GB | `ollama run llama3.1:405b`       |
 | Phi 4              | 14B        | 9.1GB | `ollama run phi4`                |
-| Phi 3 Mini         | 3.8B       | 2.3GB | `ollama run phi3`                |
+| Phi 4 Mini         | 3.8B       | 2.5GB | `ollama run phi4-mini`           |
 | Gemma 2            | 2B         | 1.6GB | `ollama run gemma2:2b`           |
 | Gemma 2            | 9B         | 5.5GB | `ollama run gemma2`              |
 | Gemma 2            | 27B        | 16GB  | `ollama run gemma2:27b`          |
Repository: ollama/ollama
Pull request: build: install binutils with gcc 10


Changed files:
filename: Dockerfile
patch: @@ -12,9 +12,8 @@ FROM --platform=linux/amd64 rocm/dev-almalinux-8:${ROCMVERSION}-complete AS base
 RUN yum install -y yum-utils \
     && yum-config-manager --add-repo https://dl.rockylinux.org/vault/rocky/8.5/AppStream/\$basearch/os/ \
     && rpm --import https://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky-8 \
-    && dnf install -y yum-utils gcc-toolset-10-gcc-10.2.1-8.2.el8 gcc-toolset-10-gcc-c++-10.2.1-8.2.el8 \
-    && yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo \
-    && curl -s -L https://github.com/ccache/ccache/releases/download/v4.10.2/ccache-4.10.2-linux-x86_64.tar.xz | tar -Jx -C /usr/local/bin --strip-components 1
+    && dnf install -y yum-utils ccache gcc-toolset-10-gcc-10.2.1-8.2.el8 gcc-toolset-10-gcc-c++-10.2.1-8.2.el8 gcc-toolset-10-binutils-2.35-11.el8 \
+    && yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
 ENV PATH=/opt/rh/gcc-toolset-10/root/usr/bin:$PATH
 
 FROM --platform=linux/arm64 almalinux:8 AS base-arm64
Repository: ggml-org/llama.cpp
Pull request: New conversations now auto-select the first loaded model

In router mode, new conversations now auto-select the first loaded model
instead of showing an empty dropdown.

Existing conversations still pick up the last model used in each
conversation when switching between chats.

Solves #20382

Changed files:
filename: tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActions.svelte
patch: @@ -62,15 +62,12 @@
 		chatStore.getConversationModel(activeMessages() as DatabaseMessage[])
 	);
 
-	let previousConversationModel: string | null = null;
-
 	$effect(() => {
-		if (conversationModel && conversationModel !== previousConversationModel) {
-			previousConversationModel = conversationModel;
-
-			if (!isRouter || modelsStore.isModelLoaded(conversationModel)) {
-				modelsStore.selectModelByName(conversationModel);
-			}
+		if (conversationModel) {
+			modelsStore.selectModelByName(conversationModel);
+		} else if (isRouter && modelsStore.loadedModelIds.length > 0) {
+			const first = modelOptions().find((m) => modelsStore.loadedModelIds.includes(m.model));
+			if (first) modelsStore.selectModelById(first.id);
 		}
 	});
Repository: huggingface/transformers
Pull request: Fix failing `Vip-llava` model integration test

# What does this PR do?

Fixes this failing [VipLlavaForConditionalGenerationIntegrationTest](https://github.com/huggingface/transformers/actions/runs/20888452873/job/60015689982#step:14:2081)

<img width="1324" height="187" alt="image" src="https://github.com/user-attachments/assets/7553a419-54fc-414d-966e-316fe5aa731d" />


## Before submitting
- [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [x] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md#create-a-pull-request),
      Pull Request section?
- [ ] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to it if that's the case.
- [ ] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/main/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/main/docs#writing-source-documentation).
- [ ] Did you write any new necessary tests?


## Who can review?
@vasqu

Changed files:
filename: tests/models/vipllava/test_modeling_vipllava.py
patch: @@ -303,8 +303,7 @@ def test_small_model_integration_test(self):
         image = Image.open(requests.get(url, stream=True).raw)
         prompt = "USER: <image>\nCan you please describe this image?\nASSISTANT:"
 
-        inputs = processor(prompt, image, return_tensors="pt").to(torch_device, torch.float16)
-
+        inputs = processor(text=prompt, images=image, return_tensors="pt").to(torch_device, torch.float16)
         outputs = model.generate(**inputs, max_new_tokens=10)
 
         EXPECTED_OUTPUT = "USER:  \nCan you please describe this image?\nASSISTANT: The image features a brown and white cat sitting on"
Repository: facebook/react
Pull request: [ci] Fix missing permissions for stale job


Missed these the last time.


Changed files:
filename: .github/workflows/shared_stale.yml
patch: @@ -6,7 +6,10 @@ on:
     - cron: '0 * * * *'
   workflow_dispatch:
 
-permissions: {}
+permissions:
+  # https://github.com/actions/stale/tree/v9/?tab=readme-ov-file#recommended-permissions
+  issues: write
+  pull-requests: write
 
 env:
   TZ: /usr/share/zoneinfo/America/Los_Angeles
Repository: vercel/next.js
Pull request: Only filter next config if experimental flag is enabled

This filtering would be a breaking change: https://github.com/vercel/next.js/pull/86812

Changed files:
filename: packages/next/src/build/index.ts
patch: @@ -1904,11 +1904,15 @@ export default async function build(
             }
           }
 
+          // getNextConfigRuntime only filters if experimental.runtimeServerDeploymentId is true,
+          // but we unconditionally want to remove configFile for this manifest
+          let runtimeConfigWithoutFilePath = { ...runtimeConfig }
+          delete (runtimeConfigWithoutFilePath as NextConfigComplete).configFile
+
           const serverFilesManifest: RequiredServerFilesManifest = {
             version: 1,
             config: {
-              ...runtimeConfig,
-
+              ...runtimeConfigWithoutFilePath,
               ...(ciEnvironment.hasNextSupport
                 ? {
                     compress: false,

filename: packages/next/src/server/config-shared.ts
patch: @@ -1705,6 +1705,11 @@ export interface NextConfigRuntime {
 export function getNextConfigRuntime(
   config: NextConfigComplete | NextConfigRuntime
 ): NextConfigRuntime {
+  // This config filter is a breaking change, so only do it if experimental.runtimeServerDeploymentId is enabled
+  if (!config.experimental.runtimeServerDeploymentId) {
+    return config
+  }
+
   let ex = config.experimental
 
   type Requiredish<T> = {
Repository: huggingface/transformers
Pull request: Fix benchmark script

# What does this PR do?

Fix after https://github.com/huggingface/transformers/pull/43153.
F821 Undefined name `device_type` which crashes `make style` etc

cc @remi-or for viz!

Changed files:
filename: benchmark_v2/framework/benchmark_config.py
patch: @@ -5,11 +5,12 @@
 from functools import lru_cache
 from typing import Any
 
+import torch
+
 from transformers.generation.configuration_utils import CompileConfig
-from transformers.utils.import_utils import is_flash_attn_2_available, is_kernels_available
 from transformers.utils import is_torch_accelerator_available
+from transformers.utils.import_utils import is_flash_attn_2_available, is_kernels_available
 
-import torch
 
 KERNELIZATION_AVAILABLE = False
 try:

filename: benchmark_v2/framework/hardware_metrics.py
patch: @@ -65,6 +65,7 @@ def get_amd_gpu_stats() -> tuple[int, float]:
     gpu_stats.sort(key=lambda x: x[1], reverse=True)
     return int(gpu_stats[0][1]), float(gpu_stats[0][2]) / 1024**3
 
+
 def get_intel_xpu_stats() -> tuple[int, float]:
     """Returns the utilization and memory used of an Intel XPU"""
     # xpu-smi outputs CSV format: Timestamp, DeviceId, GPU Memory Utilization (%), GPU Memory Used (MiB)
@@ -87,13 +88,14 @@ def get_intel_xpu_stats() -> tuple[int, float]:
 
     if not xpu_stats:
         return 0, 0.0
- 
+
     # Sort by utilization (descending) and pick the highest
     xpu_stats.sort(key=lambda x: x[1], reverse=True)
     device_id, utilization, memory_used_mib = xpu_stats[0]
     memory_used_gb = memory_used_mib / 1024
     return utilization, memory_used_gb
 
+
 def get_nvidia_gpu_stats() -> tuple[int, float]:
     """Returns the utilization and memory used of an NVIDIA GPU, both in percent"""
     gpu_stats = gpustat.GPUStatCollection.new_query()
@@ -107,6 +109,7 @@ class GPUStatsCollector:
 
     def __init__(self) -> None:
         self.device_name, self.device_memory_total = get_device_name_and_memory_total()
+        device_type = torch.accelerator.current_accelerator().type if is_torch_accelerator_available() else "cuda"
         # Monkey patch the get_utilization_and_memory_used method based on the GPU type
         if "amd" in self.device_name.lower():
             self.get_utilization_and_memory_used = get_amd_gpu_stats
Repository: ollama/ollama
Pull request: build: install ccache manually in Dockerfile

Reverts ccache installation to be done manually via curl instead of
using the dnf package manager as this has side effects of prepending
ccache's install directory to the front of the PATH

Changed files:
filename: Dockerfile
patch: @@ -12,8 +12,9 @@ FROM --platform=linux/amd64 rocm/dev-almalinux-8:${ROCMVERSION}-complete AS base
 RUN yum install -y yum-utils \
     && yum-config-manager --add-repo https://dl.rockylinux.org/vault/rocky/8.5/AppStream/\$basearch/os/ \
     && rpm --import https://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky-8 \
-    && dnf install -y yum-utils ccache gcc-toolset-10-gcc-10.2.1-8.2.el8 gcc-toolset-10-gcc-c++-10.2.1-8.2.el8 \
-    && yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
+    && dnf install -y yum-utils gcc-toolset-10-gcc-10.2.1-8.2.el8 gcc-toolset-10-gcc-c++-10.2.1-8.2.el8 \
+    && yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo \
+    && curl -s -L https://github.com/ccache/ccache/releases/download/v4.10.2/ccache-4.10.2-linux-x86_64.tar.xz | tar -Jx -C /usr/local/bin --strip-components 1
 ENV PATH=/opt/rh/gcc-toolset-10/root/usr/bin:$PATH
 
 FROM --platform=linux/arm64 almalinux:8 AS base-arm64
Repository: nodejs/node
Pull request: doc: add PR-URL requirement for security backports

Security release automation requires that all backport commits include PR-URL metadata in their commit messages.

Refs: https://github.com/nodejs/node-core-utils/pull/1022

Changed files:
filename: doc/contributing/security-release-process.md
patch: @@ -83,6 +83,8 @@ The current security stewards are documented in the main Node.js
   * Get volunteers for the upcoming security release on the affected release
     lines.
   * Make sure to sync nodejs-private (vN.x) branches with nodejs/node.
+  * **Important:** Ensure that all backport commits include the `PR-URL` metadata
+    in their commit messages. This is required for the security release automation.
 
 * [ ] 7\. **Preparing Pre and Post Release Blog Posts:**
   * [ ] Create a pre-release blog post using `git node security --pre-release`.
Repository: huggingface/transformers
Pull request: fix: make mistral base check conditional to fix offline loading

Backport of a small part of #42528, the model_info call currently breaks offline loading

Changed files:
filename: src/transformers/tokenization_utils_base.py
patch: @@ -2435,7 +2435,12 @@ def is_base_mistral(model_id: str) -> bool:
                     return True
             return False
 
-        if _is_local or is_base_mistral(pretrained_model_name_or_path):
+        if is_offline_mode():
+            _is_local = True
+
+        if pretrained_model_name_or_path is not None and (
+            _is_local or (not _is_local and is_base_mistral(pretrained_model_name_or_path))
+        ):
             _config_file = cached_file(
                 pretrained_model_name_or_path,
                 "config.json",

filename: tests/utils/test_tokenization_utils.py
patch: @@ -80,6 +80,22 @@ def test_cached_files_are_used_when_internet_is_down_missing_files(self):
             # This check we did call the fake head request
             mock_head.assert_called()
 
+    def test_offline_mode_does_not_call_model_info_api(self):
+        # Test that when in offline mode, model_info is not called during Mistral base check
+        # This prevents network errors when loading tokenizers offline
+
+        # Download this model to make sure it's in the cache
+        _ = BertTokenizer.from_pretrained("hf-internal-testing/tiny-random-bert")
+
+        # Mock is_offline_mode to return True
+        with mock.patch("transformers.tokenization_utils_base.is_offline_mode", return_value=True):
+            # Mock model_info to track if it's called
+            with mock.patch("huggingface_hub.model_info") as mock_model_info:
+                # Load tokenizer in offline mode
+                _ = BertTokenizer.from_pretrained("hf-internal-testing/tiny-random-bert")
+                # model_info should NOT be called when in offline mode
+                mock_model_info.assert_not_called()
+
     def test_legacy_load_from_one_file(self):
         # This test is for deprecated behavior and can be removed in v5
         try:
Repository: ggml-org/llama.cpp
Pull request: ci: Setup self-hosted CI for Intel Linux Vulkan backend

We would like add a single self-hosted CI runner for Intel Linux Vulkan backend related to #19213.
This will be focused for Vulkan backend only at the moment, but when OpenVINO backend gets merged we will use it for both backends.

An example workflow execution on the branch can be viewed at the following:
 - https://github.com/rillomas/llama.cpp/actions/runs/22884633443/job/66394545350

Changed files:
filename: .github/workflows/build.yml
patch: @@ -1727,6 +1727,22 @@ jobs:
           vulkaninfo --summary
           GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
 
+  ggml-ci-x64-linux-intel-vulkan:
+    runs-on: [self-hosted, Linux, X64, Intel]
+
+    steps:
+      - name: Clone
+        id: checkout
+        uses: actions/checkout@v6
+        with:
+          persist-credentials: false
+
+      - name: Test
+        id: ggml-ci
+        run: |
+          vulkaninfo --summary
+          GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
+
   ggml-ci-arm64-cpu-kleidiai:
      runs-on: ubuntu-22.04-arm
Repository: electron/electron
Pull request: fix: return early from platform_util::Beep() on Linux if there is no default GDK display

Backport of #49442

See that PR for details.


Notes: Fixed crash in platform_util::Beep() on Linux


Changed files:
filename: shell/common/platform_util_linux.cc
patch: @@ -406,6 +406,8 @@ bool PlatformTrashItem(const base::FilePath& full_path, std::string* error) {
 
 void Beep() {
   auto* display = gdk_display_get_default();
+  if (!display)
+    return;
   gdk_display_beep(display);
 }
Repository: ggml-org/llama.cpp
Pull request: vulkan: fix l2_norm epsilon handling

This is the only "real" bug I could find in test-llama-archs. I see some other failures but they may be driver/compiler bugs.

Changed files:
filename: ggml/src/ggml-vulkan/ggml-vulkan.cpp
patch: @@ -16061,7 +16061,7 @@ static void ggml_vk_check_results_0(ggml_backend_vk_context * ctx, ggml_cgraph *
             tensor_clone = ggml_arange(ggml_ctx, start, stop, step);
         } else if (tensor->op == GGML_OP_FILL) {
             const float value = ggml_get_op_params_f32(tensor, 0);
-            tensor_clone = ggml_fill(ggml_ctx, tensor_clone, value);
+            tensor_clone = ggml_fill(ggml_ctx, src_clone[0], value);
         } else if (tensor->op == GGML_OP_SQR) {
             tensor_clone = ggml_sqr(ggml_ctx, src_clone[0]);
         } else if (tensor->op == GGML_OP_SQRT) {

filename: ggml/src/ggml-vulkan/vulkan-shaders/l2_norm.comp
patch: @@ -36,7 +36,7 @@ void main() {
         barrier();
     }
 
-    const FLOAT_TYPE scale = inversesqrt(max(sum[0], FLOAT_TYPE(p.param1)));
+    const FLOAT_TYPE scale = 1.0f / max(sqrt(sum[0]), FLOAT_TYPE(p.param1));
 
     [[unroll]] for (uint i0 = tid; i0 < p.ne00; i0 += BLOCK_SIZE) {
         data_d[i3*p.nb13 + i2*p.nb12 + i1*p.nb11 + i0] = D_TYPE(scale * FLOAT_TYPE(data_a[i3*p.nb03 + i2*p.nb02 + i1*p.nb01 + i0]));

filename: tests/test-backend-ops.cpp
patch: @@ -7656,7 +7656,7 @@ static std::vector<std::unique_ptr<test_case>> make_test_cases_eval() {
     test_cases.emplace_back(new test_softcap(GGML_TYPE_F32, {10, 10, 10, 10}, 50.0f));
     test_cases.emplace_back(new test_silu_back());
 
-    for (float eps : { 0.0f, 1e-6f, 1e-4f, 1e-1f }) {
+    for (float eps : { 0.0f, 1e-6f, 1e-4f, 1e-1f, 10.f }) {
         for (uint32_t n : { 64, 1025 }) {
             for (bool v : { false, true }) {
                 test_cases.emplace_back(new test_norm(GGML_TYPE_F32, { n, 5, 4, 3 }, v, eps));
Repository: vercel/next.js
Pull request: [Devtool Indicator] Fix cross alignment

<img width="4106" height="3504" alt="image" src="https://github.com/user-attachments/assets/102ddcd6-84c3-4cf7-be99-977473399570" />


Changed files:
filename: packages/next/src/next-devtools/dev-overlay/components/devtools-indicator/next-logo.tsx
patch: @@ -237,10 +237,6 @@ export function NextLogo({
             &:has([data-issues-collapse]) {
               padding-right: calc(var(--padding-left) / 2);
             }
-
-            [data-cross] {
-              translate: 0px -1px;
-            }
           }
 
           [data-issues-open] {
@@ -265,6 +261,9 @@ export function NextLogo({
           [data-issues-collapse] {
             width: var(--size-24);
             height: var(--size-24);
+            display: flex;
+            align-items: center;
+            justify-content: center;
             border-radius: var(--rounded-full);
             transition: background var(--duration-short) ease;
Repository: vuejs/vue
Pull request: fix #8961 resolve camelCased local directives

<!--
Please make sure to read the Pull Request Guidelines:
https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#pull-request-guidelines
-->

<!-- PULL REQUEST TEMPLATE -->
<!-- (Update "[ ]" to "[x]" to check a box) -->

**What kind of change does this PR introduce?** (check at least one)

- [ ] Bugfix
- [x] Feature
- [ ] Code style update
- [ ] Refactor
- [ ] Build-related changes
- [ ] Other, please describe:

**Does this PR introduce a breaking change?** (check one)

- [ ] Yes
- [x] No

If yes, please describe the impact and migration path for existing applications:

**The PR fulfills these requirements:**

- [x] It's submitted to the `dev` branch for v2.x (or to a previous version branch), _not_ the `master` branch
- [x] When resolving a specific issue, it's referenced in the PR's title (e.g. `fix #xxx[,#xxx]`, where "xxx" is the issue number)
- [x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
- [ ] New/updated tests are included

If adding a **new feature**, the PR's description includes:
- [ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

**Other information:**


Changed files:
filename: src/server/render.js
patch: @@ -3,6 +3,7 @@
 import { escape } from 'web/server/util'
 import { SSR_ATTR } from 'shared/constants'
 import { RenderContext } from './render-context'
+import { resolveAsset } from 'core/util/options'
 import { generateComponentTrace } from 'core/util/debug'
 import { ssrCompileToFunctions } from 'web/server/compiler'
 import { installSSRHelpers } from './optimizing-compiler/runtime-helpers'
@@ -324,11 +325,13 @@ function renderStartingTag (node: VNode, context) {
     if (dirs) {
       for (let i = 0; i < dirs.length; i++) {
         const name = dirs[i].name
-        const dirRenderer = directives[name]
-        if (dirRenderer && name !== 'show') {
-          // directives mutate the node's data
-          // which then gets rendered by modules
-          dirRenderer(node, dirs[i])
+        if (name !== 'show') {
+          const dirRenderer = resolveAsset(context, 'directives', name, true)
+          if (dirRenderer) {
+            // directives mutate the node's data
+            // which then gets rendered by modules
+            dirRenderer(node, dirs[i])
+          }
         }
       }
     }