helloadhavan/github_issues huggingface dataset:
Repository: ggml-org/llama.cpp
Pull request: `chat`: allow unclosed thinking tags

Fixes https://github.com/ggml-org/llama.cpp/issues/13812 & https://github.com/ggml-org/llama.cpp/issues/13877

Note: won't try and scavenge tool calls inside unclosed thinking tags (I've seen legit thought traces that contained mock-tool calls), although this might end up being a frequent failure mode for small Qwen3 models. Can disable thinking w/ `--reasoning-budget 0` to avoid the issue w/ these.

Changed files:
filename: common/chat-parser.cpp
patch: @@ -154,9 +154,10 @@ bool common_chat_msg_parser::try_parse_reasoning(const std::string & start_think
             if (!rest.empty()) {
                 handle_reasoning(rest, /* closed */ !is_partial());
             }
-            if (!syntax_.thinking_forced_open) {
-                throw common_chat_msg_partial_exception(end_think);
-            }
+            // Allow unclosed thinking tags, for now (https://github.com/ggml-org/llama.cpp/issues/13812, https://github.com/ggml-org/llama.cpp/issues/13877)
+            // if (!syntax_.thinking_forced_open) {
+            //     throw common_chat_msg_partial_exception(end_think);
+            // }
             return true;
         }
     }

filename: tests/test-chat.cpp
patch: @@ -1041,6 +1041,15 @@ static void test_template_output_parsers() {
                       "<tool_call>\n"
                       "{\"name\": \"python\", \"arguments\": {\"code\":\"# This is a program:\\nprint('hey')\"}}\n"
                       "</tool_call>");
+        assert_msg_equals(
+            simple_assist_msg("", /* reasoning_content= */ "<tool_call>nah uhg</tool_call>"),
+            common_chat_parse(
+                "<think><tool_call>nah uhg</tool_call>",
+                /* is_partial= */ false,
+                {
+                    /* .format = */ COMMON_CHAT_FORMAT_HERMES_2_PRO,
+                    /* .reasoning_format = */ COMMON_REASONING_FORMAT_DEEPSEEK,
+                }));
     }
     {
         auto tmpls = read_templates("models/templates/meta-llama-Llama-3.1-8B-Instruct.jinja");
Repository: facebook/react
Pull request: test: Throw custom error instead of relying on runtime error


## Summary

Partial fix for https://github.com/facebook/react/issues/24915

The tests were relying on runtime error messages. These changed between Node 14.x and 16.x. Instead we now throw an error whose message we control

## How did you test this change?

- [x] volta pin node@14.17.0; yarn; yarn test
- [x] volta pin node@16.16.0; yarn; yarn test
- [x] CI


Changed files:
filename: packages/use-sync-external-store/src/__tests__/useSyncExternalStoreShared-test.js
patch: @@ -900,7 +900,12 @@ describe('Shared useSyncExternalStore behavior (shim and built-in)', () => {
 
     it('selector can throw on update', async () => {
       const store = createExternalStore({a: 'a'});
-      const selector = state => state.a.toUpperCase();
+      const selector = state => {
+        if (typeof state.a !== 'string') {
+          throw new TypeError('Malformed state');
+        }
+        return state.a.toUpperCase();
+      };
 
       function App() {
         const a = useSyncExternalStoreWithSelector(
@@ -927,15 +932,18 @@ describe('Shared useSyncExternalStore behavior (shim and built-in)', () => {
       await act(() => {
         store.set({});
       });
-      expect(container.textContent).toEqual(
-        "Cannot read property 'toUpperCase' of undefined",
-      );
+      expect(container.textContent).toEqual('Malformed state');
     });
 
     it('isEqual can throw on update', async () => {
       const store = createExternalStore({a: 'A'});
       const selector = state => state.a;
-      const isEqual = (left, right) => left.a.trim() === right.a.trim();
+      const isEqual = (left, right) => {
+        if (typeof left.a !== 'string' || typeof right.a !== 'string') {
+          throw new TypeError('Malformed state');
+        }
+        return left.a.trim() === right.a.trim();
+      };
 
       function App() {
         const a = useSyncExternalStoreWithSelector(
@@ -963,9 +971,7 @@ describe('Shared useSyncExternalStore behavior (shim and built-in)', () => {
       await act(() => {
         store.set({});
       });
-      expect(container.textContent).toEqual(
-        "Cannot read property 'trim' of undefined",
-      );
+      expect(container.textContent).toEqual('Malformed state');
     });
   });
 });
Repository: denoland/deno
Pull request: perf: fast path for cached dyn imports

Ref https://github.com/denoland/deno_core/pull/906

Changed files:
filename: Cargo.lock
patch: @@ -1405,9 +1405,9 @@ dependencies = [
 
 [[package]]
 name = "deno_core"
-version = "0.309.0"
+version = "0.310.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eaecc78e8903d1b5d95c7fb01a14eb342b9e63484763a304fd30a8f48861f9df"
+checksum = "40269d9035d16ea83335f87eab8014c6e73c5045a1f32a3cfae835b3efdd76b1"
 dependencies = [
  "anyhow",
  "bincode",
@@ -1887,9 +1887,9 @@ dependencies = [
 
 [[package]]
 name = "deno_ops"
-version = "0.185.0"
+version = "0.186.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d817c00b3f30bef495c84080b5ed327ed68d6d2636b5ed8b730d00a06221dc1"
+checksum = "ba0c37f722813b9a9016f9d442e37bce0e30b97111a1690e70bab1057c03651d"
 dependencies = [
  "proc-macro-rules",
  "proc-macro2",
@@ -6257,9 +6257,9 @@ dependencies = [
 
 [[package]]
 name = "serde_v8"
-version = "0.218.0"
+version = "0.219.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134add6f9dc7a226912468f7c427a476583ab362e094f04ff3a9fa79f2df97c7"
+checksum = "0b4de773ce668166fe0a77291cf90a7740be7997c954103c8125892597c0e98b"
 dependencies = [
  "num-bigint",
  "serde",

filename: Cargo.toml
patch: @@ -45,7 +45,7 @@ repository = "https://github.com/denoland/deno"
 
 [workspace.dependencies]
 deno_ast = { version = "=0.42.0", features = ["transpiling"] }
-deno_core = { version = "0.309.0" }
+deno_core = { version = "0.310.0" }
 
 deno_bench_util = { version = "0.162.0", path = "./bench_util" }
 deno_lockfile = "=0.23.1"

filename: tests/wpt/runner/expectation.json
patch: @@ -10382,12 +10382,10 @@
               "blob-url-workers.window.html": [],
               "microtasks": {
                 "basic.any.html": [
-                  "import() should not drain the microtask queue if it fails during specifier resolution",
-                  "import() should not drain the microtask queue when loading an already loaded module"
+                  "import() should not drain the microtask queue if it fails during specifier resolution"
                 ],
                 "basic.any.worker.html": [
-                  "import() should not drain the microtask queue if it fails during specifier resolution",
-                  "import() should not drain the microtask queue when loading an already loaded module"
+                  "import() should not drain the microtask queue if it fails during specifier resolution"
                 ],
                 "css-import-in-worker.any.worker.html": true,
                 "with-import-assertions.any.html": true,
Repository: facebook/react
Pull request: test(react-debug-tools): Improve coverage of currentDispatcher.current setter


## Summary

Partial fix for https://github.com/facebook/react/issues/24915

The tests were relying on runtime error messages. These changed between Node 14.x and 16.x. Instead we now throw an error whose message we control.

Seems to me we can make the test pass multiple node versions while also improving the tests by testing that the current dispatcher is actually proxied.

Alternatively we keep the old testing approach and instead of hardcoding the error message we compute it at runtime with
```tsx
let nullReadUseStateErrorMessage;
try {
  null.useState();
} catch (error) {
  nullReadUseStateErrorMessage = error.message;
}
``` 

## How did you test this change?

- [x] volta pin node@14.17.0; yarn; yarn test
- [x] volta pin node@16.16.0; yarn; yarn test
- [x] CI


Changed files:
filename: packages/react-debug-tools/src/__tests__/ReactHooksInspection-test.js
patch: @@ -256,12 +256,11 @@ describe('ReactHooksInspection', () => {
   });
 
   it('should support an injected dispatcher', () => {
-    function Foo(props) {
-      const [state] = React.useState('hello world');
-      return <div>{state}</div>;
-    }
-
-    const initial = {};
+    const initial = {
+      useState() {
+        throw new Error("Should've been proxied");
+      },
+    };
     let current = initial;
     let getterCalls = 0;
     const setterCalls = [];
@@ -276,33 +275,14 @@ describe('ReactHooksInspection', () => {
       },
     };
 
-    let didCatch = false;
-    expect(() => {
-      // mock the Error constructor to check the internal of the error instance
-      try {
-        ReactDebugTools.inspectHooks(Foo, {}, FakeDispatcherRef);
-      } catch (error) {
-        expect(error.message).toBe('Error rendering inspected component');
-        // error.cause is the original error
-        expect(error.cause).toBeInstanceOf(Error);
-        expect(error.cause.message).toBe(
-          "Cannot read property 'useState' of null",
-        );
-      }
-      didCatch = true;
-    }).toErrorDev(
-      'Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' +
-        ' one of the following reasons:\n' +
-        '1. You might have mismatching versions of React and the renderer (such as React DOM)\n' +
-        '2. You might be breaking the Rules of Hooks\n' +
-        '3. You might have more than one copy of React in the same app\n' +
-        'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.',
-      {withoutStack: true},
-    );
-    // avoid false positive if no error was thrown at all
-    expect(didCatch).toBe(true);
+    function Foo(props) {
+      const [state] = FakeDispatcherRef.current.useState('hello world');
+      return <div>{state}</div>;
+    }
+
+    ReactDebugTools.inspectHooks(Foo, {}, FakeDispatcherRef);
 
-    expect(getterCalls).toBe(1);
+    expect(getterCalls).toBe(2);
     expect(setterCalls).toHaveLength(2);
     expect(setterCalls[0]).not.toBe(initial);
     expect(setterCalls[1]).toBe(initial);
Repository: electron/electron
Pull request: fix: -Wunsafe-buffer-usage warnings in GdkPixbufFromSkBitmap()

Backport of #43956

See that PR for details.


Notes: none.

Changed files:
filename: shell/browser/ui/gtk_util.cc
patch: @@ -9,6 +9,7 @@
 #include <stdint.h>
 
 #include <string>
+#include <vector>
 
 #include "base/no_destructor.h"
 #include "base/strings/string_number_conversions.h"
@@ -68,42 +69,30 @@ const char* GetYesLabel() {
 
 GdkPixbuf* GdkPixbufFromSkBitmap(const SkBitmap& bitmap) {
   if (bitmap.isNull())
-    return nullptr;
-
-  int width = bitmap.width();
-  int height = bitmap.height();
-
-  GdkPixbuf* pixbuf =
-      gdk_pixbuf_new(GDK_COLORSPACE_RGB,  // The only colorspace gtk supports.
-                     TRUE,                // There is an alpha channel.
-                     8, width, height);
-
-  // SkBitmaps are premultiplied, we need to unpremultiply them.
-  const int kBytesPerPixel = 4;
-  uint8_t* divided = gdk_pixbuf_get_pixels(pixbuf);
-
-  for (int y = 0, i = 0; y < height; y++) {
-    for (int x = 0; x < width; x++) {
-      uint32_t pixel = bitmap.getAddr32(0, y)[x];
-
-      int alpha = SkColorGetA(pixel);
-      if (alpha != 0 && alpha != 255) {
-        SkColor unmultiplied = SkUnPreMultiply::PMColorToColor(pixel);
-        divided[i + 0] = SkColorGetR(unmultiplied);
-        divided[i + 1] = SkColorGetG(unmultiplied);
-        divided[i + 2] = SkColorGetB(unmultiplied);
-        divided[i + 3] = alpha;
-      } else {
-        divided[i + 0] = SkColorGetR(pixel);
-        divided[i + 1] = SkColorGetG(pixel);
-        divided[i + 2] = SkColorGetB(pixel);
-        divided[i + 3] = alpha;
-      }
-      i += kBytesPerPixel;
+    return {};
+
+  constexpr int kBytesPerPixel = 4;
+  const auto [width, height] = bitmap.dimensions();
+  std::vector<uint8_t> bytes;
+  bytes.reserve(width * height * kBytesPerPixel);
+  for (int y = 0; y < height; ++y) {
+    for (int x = 0; x < width; ++x) {
+      const SkColor pixel = bitmap.getColor(x, y);
+      bytes.emplace_back(SkColorGetR(pixel));
+      bytes.emplace_back(SkColorGetG(pixel));
+      bytes.emplace_back(SkColorGetB(pixel));
+      bytes.emplace_back(SkColorGetA(pixel));
     }
   }
 
-  return pixbuf;
+  constexpr GdkColorspace kColorspace = GDK_COLORSPACE_RGB;
+  constexpr gboolean kHasAlpha = true;
+  constexpr int kBitsPerSample = 8;
+  return gdk_pixbuf_new_from_bytes(
+      g_bytes_new(std::data(bytes), std::size(bytes)), kColorspace, kHasAlpha,
+      kBitsPerSample, width, height,
+      gdk_pixbuf_calculate_rowstride(kColorspace, kHasAlpha, kBitsPerSample,
+                                     width, height));
 }
 
 }  // namespace gtk_util
Repository: denoland/deno
Pull request: fix(ext/node): stub `inspector/promises`


Changed files:
filename: ext/node/lib.rs
patch: @@ -615,6 +615,7 @@ deno_core::extension!(deno_node,
     "node:http2" = "http2.ts",
     "node:https" = "https.ts",
     "node:inspector" = "inspector.ts",
+    "node:inspector/promises" = "inspector.ts",
     "node:module" = "01_require.js",
     "node:net" = "net.ts",
     "node:os" = "os.ts",

filename: ext/node/polyfills/01_require.js
patch: @@ -99,6 +99,7 @@ import http from "node:http";
 import http2 from "node:http2";
 import https from "node:https";
 import inspector from "node:inspector";
+import inspectorPromises from "node:inspector/promises";
 import internalCp from "ext:deno_node/internal/child_process.ts";
 import internalCryptoCertificate from "ext:deno_node/internal/crypto/certificate.ts";
 import internalCryptoCipher from "ext:deno_node/internal/crypto/cipher.ts";
@@ -200,6 +201,7 @@ function setupBuiltinModules() {
     http2,
     https,
     inspector,
+    "inspector/promises": inspectorPromises,
     "internal/console/constructor": internalConsole,
     "internal/child_process": internalCp,
     "internal/crypto/certificate": internalCryptoCertificate,
Repository: denoland/deno
Pull request: ci: fix releasing canary


Changed files:
filename: .github/workflows/ci.generate.ts
patch: @@ -813,8 +813,8 @@ const ci = {
           ].join("\n"),
           run: [
             'gsutil -h "Cache-Control: public, max-age=3600" cp ./target/release/*.zip gs://dl.deno.land/canary/$(git rev-parse HEAD)/',
-            'lastest_canary_hash=$(gsutil cat gs://dl.deno.land/canary-$(rustc -vV | sed -n "s|host: ||p")-latest.txt)',
-            "git cat-file -e $(lastest_canary_hash)",
+            'latest_canary_hash=$(gsutil cat gs://dl.deno.land/canary-$(rustc -vV | sed -n "s|host: ||p")-latest.txt)',
+            "git cat-file -e $latest_canary_hash",
             "if [ $? -eq 0 ]; then",
             "  echo ${{ github.sha }} > canary-latest.txt",
             '  gsutil -h "Cache-Control: no-cache" cp canary-latest.txt gs://dl.deno.land/canary-$(rustc -vV | sed -n "s|host: ||p")-latest.txt',
@@ -1096,10 +1096,10 @@ const ci = {
         {
           name: "Upload canary version file to dl.deno.land",
           run: [
-            "lastest_canary_hash=$(gsutil cat gs://dl.deno.land/canary-latest.txt) && \\",
-            "git cat-file -e $(lastest_canary_hash)",
+            "latest_canary_hash=$(gsutil cat gs://dl.deno.land/canary-latest.txt)",
+            "git cat-file -e $latest_canary_hash",
             "if [ $? -eq 0]; then",
-            "  echo ${{ github.sha }} > canary-latest.txt && \\",
+            "  echo ${{ github.sha }} > canary-latest.txt",
             '  gsutil -h "Cache-Control: no-cache" cp canary-latest.txt gs://dl.deno.land/canary-latest.txt',
             "fi",
           ].join("\n"),

filename: .github/workflows/ci.yml
patch: @@ -486,8 +486,8 @@ jobs:
           github.ref == 'refs/heads/main')
         run: |-
           gsutil -h "Cache-Control: public, max-age=3600" cp ./target/release/*.zip gs://dl.deno.land/canary/$(git rev-parse HEAD)/
-          lastest_canary_hash=$(gsutil cat gs://dl.deno.land/canary-$(rustc -vV | sed -n "s|host: ||p")-latest.txt)
-          git cat-file -e $(lastest_canary_hash)
+          latest_canary_hash=$(gsutil cat gs://dl.deno.land/canary-$(rustc -vV | sed -n "s|host: ||p")-latest.txt)
+          git cat-file -e $latest_canary_hash
           if [ $? -eq 0 ]; then
             echo ${{ github.sha }} > canary-latest.txt
             gsutil -h "Cache-Control: no-cache" cp canary-latest.txt gs://dl.deno.land/canary-$(rustc -vV | sed -n "s|host: ||p")-latest.txt
@@ -694,9 +694,9 @@ jobs:
           project_id: denoland
       - name: Upload canary version file to dl.deno.land
         run: |-
-          lastest_canary_hash=$(gsutil cat gs://dl.deno.land/canary-latest.txt) && \
-          git cat-file -e $(lastest_canary_hash)
+          latest_canary_hash=$(gsutil cat gs://dl.deno.land/canary-latest.txt)
+          git cat-file -e $latest_canary_hash
           if [ $? -eq 0]; then
-            echo ${{ github.sha }} > canary-latest.txt && \
+            echo ${{ github.sha }} > canary-latest.txt
             gsutil -h "Cache-Control: no-cache" cp canary-latest.txt gs://dl.deno.land/canary-latest.txt
           fi
Repository: facebook/react
Pull request: Add 4.5.0 release to eslint rules CHANGELOG



## Summary

Closes https://github.com/facebook/react/issues/24777

## How did you test this change?

Eye-balled from https://app.renovatebot.com/package-diff?name=eslint-plugin-react-hooks&from=4.4.0&to=4.5.0#d2h-042857 which changes were included.

Changed files:
filename: packages/eslint-plugin-react-hooks/CHANGELOG.md
patch: @@ -1,3 +1,7 @@
+## 4.5.0
+
+* Fix false positive error with large number of branches. ([@scyron6](https://github.com/scyron6) in [#24287](https://github.com/facebook/react/pull/24287))
+
 ## 4.4.0
 
 * No changes, this was an automated release together with React 18.
Repository: huggingface/transformers
Pull request: make `test_speculative_decoding_non_distil` device-agnostic

## What does this PR do?
This test is not a cuda-specific test and can work on other GPUs, e.g. on XPU it can pass. 

cc @ydshieh @yao-matrix 

Changed files:
filename: tests/models/whisper/test_modeling_whisper.py
patch: @@ -2495,9 +2495,9 @@ def test_speculative_decoding_distil(self):
         self.assertTrue(total_time_non_assist > total_time_assist, "Make sure that assistant decoding is faster")
 
     @slow
-    @require_torch_gpu
+    @require_torch_accelerator
     def test_speculative_decoding_non_distil(self):
-        torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32
+        torch_dtype = torch.float16 if torch_device in ["cuda", "xpu"] else torch.float32
         model_id = "openai/whisper-large-v2"
         model = WhisperForConditionalGeneration.from_pretrained(
             model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True
Repository: vercel/next.js
Pull request: Add `rustc-ice` files to gitignore

We are using some rustc features that routinely lead to compiler crashes which get dumped as `rustc-ice` files.

We never want to commit these.


Closes PACK-4607

Changed files:
filename: .gitignore
patch: @@ -8,6 +8,9 @@ tarballs/
 packages/**/*.tgz
 .errors/
 
+# rust compiler crashes
+rustc-ice-*.txt
+
 # dependencies
 node_modules
 package-lock.json
Repository: facebook/react
Pull request: [Transition Tracing] Add Transition Callbacks to hydrateRoot

This PR adds transition callbacks to `hydrateRoot`.

Changed files:
filename: packages/react-dom/src/client/ReactDOMRoot.js
patch: @@ -40,6 +40,7 @@ export type HydrateRootOptions = {
   // Options for all roots
   unstable_strictMode?: boolean,
   unstable_concurrentUpdatesByDefault?: boolean,
+  unstable_transitionCallbacks?: TransitionTracingCallbacks,
   identifierPrefix?: string,
   onRecoverableError?: (error: mixed) => void,
   ...
@@ -282,6 +283,7 @@ export function hydrateRoot(
   let concurrentUpdatesByDefaultOverride = false;
   let identifierPrefix = '';
   let onRecoverableError = defaultOnRecoverableError;
+  let transitionCallbacks = null;
   if (options !== null && options !== undefined) {
     if (options.unstable_strictMode === true) {
       isStrictMode = true;
@@ -298,6 +300,9 @@ export function hydrateRoot(
     if (options.onRecoverableError !== undefined) {
       onRecoverableError = options.onRecoverableError;
     }
+    if (options.unstable_transitionCallbacks !== undefined) {
+      transitionCallbacks = options.unstable_transitionCallbacks;
+    }
   }
 
   const root = createHydrationContainer(
@@ -310,8 +315,7 @@ export function hydrateRoot(
     concurrentUpdatesByDefaultOverride,
     identifierPrefix,
     onRecoverableError,
-    // TODO(luna) Support hydration later
-    null,
+    transitionCallbacks,
   );
   markContainerAsRoot(root.current, container);
   // This can't be a comment node since hydration doesn't work on comment nodes anyway.
Repository: ggml-org/llama.cpp
Pull request: CUDA: fix typo in FlashAttention code

See https://github.com/ggml-org/llama.cpp/pull/13306#issuecomment-2922675815 .

To my knowledge this should not make a difference but I think we should fix it regardless.

Changed files:
filename: ggml/src/ggml-cuda/fattn-mma-f16.cuh
patch: @@ -1246,7 +1246,7 @@ static __global__ void flash_attn_ext_f16(
         NO_DEVICE_CODE;
         return;
     }
-#endif __CUDA_ARCH__ == GGML_CUDA_CC_TURING
+#endif // __CUDA_ARCH__ == GGML_CUDA_CC_TURING
 
     static_assert(!mla || DKQ >= DV, "MLA needs DKQ >= DV");
Repository: denoland/deno
Pull request: fix(npm): better error handling for remote npm deps

* https://github.com/denoland/deno_npm/pull/68

Changed files:
filename: Cargo.lock
patch: @@ -1868,9 +1868,9 @@ dependencies = [
 
 [[package]]
 name = "deno_npm"
-version = "0.25.0"
+version = "0.25.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efb2dd7efaf478d780a6ca43e6127667d5329ed9a5ff89f42cec0dc21ee58342"
+checksum = "e61b112e9bb332e8e6b0d82fcea7664423933de476e1726dd23a924a2d94f4ef"
 dependencies = [
  "anyhow",
  "async-trait",

filename: cli/Cargo.toml
patch: @@ -71,7 +71,7 @@ deno_doc = { version = "0.148.0", features = ["html", "syntect"] }
 deno_graph = { version = "=0.82.1" }
 deno_lint = { version = "=0.65.0", features = ["docs"] }
 deno_lockfile.workspace = true
-deno_npm = "=0.25.0"
+deno_npm = "=0.25.1"
 deno_package_json.workspace = true
 deno_runtime = { workspace = true, features = ["include_js_files_for_snapshotting"] }
 deno_semver.workspace = true

filename: tests/specs/npm/dynamic_npm_resolution_failure/main.out
patch: @@ -4,7 +4,7 @@ Download http://localhost:4260/@denotest/dep-cannot-parse
 [UNORDERED_END]
 Download http://localhost:4260/chalk/chalk-5.0.1.tgz
 Hi
-TypeError: Error in @denotest/dep-cannot-parse@1.0.0 parsing version requirement for dependency: @denotest/esm-basic@unknown-scheme:unknown
+TypeError: Error in @denotest/dep-cannot-parse@1.0.0 parsing version requirement for dependency "@denotest/esm-basic": "unknown-scheme:unknown"
     0: Invalid version requirement
     1: Unexpected character.
          unknown-scheme:unknown