Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

fails on regular expressions with Unicode property escapes

オープン
#177 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
30/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
javascript, wasm
領域
tooling

調査の方向性

報告されたコマンド bunx jco componentize world.js --wit wit -o ts-typescript.wasm -d clocks -d random -d http で失敗を再現し、node_modules/.pnpm/change-case@5.4.4/node_modules/change-case/dist/index.js にある Unicode プロパティ正規表現を調査します。src/componentize.js の 305 行目付近と、報告された jco エントリポイントを通して失敗を追跡します。同じ入力を Wizer の初期化エラーなしで componentize できれば完了です。

索引モデルが issue の本文から書いたものです。

説明

bug good first issue

I am trying to wrap typespec into a component. It pulls in change-case library which uses regular expressions with Unicode. componetize is failing on these regular expressions:

var SPLIT_LOWER_UPPER_RE = /([\p{Ll}\d])(\p{Lu})/gu;
var SPLIT_UPPER_UPPER_RE = /(\p{Lu})([\p{Lu}][\p{Ll}])/gu;
var SPLIT_SEPARATE_NUMBER_RE = /(\d)\p{Ll}|(\p{L})\d/u;
var DEFAULT_STRIP_REGEXP = /[^\p{L}\d]+/giu;

The code is from here:
node_modules/.pnpm/change-case@5.4.4/node_modules/change-case/dist/index.js
https://www.npmjs.com/package/change-case
https://github.com/blakeembrey/change-case/blob/main/packages/change-case/src/index.ts

$ bunx jco componentize world.js --wit wit -o ts-typescript.wasm -d clocks -d random -d http

Exception while evaluating top-level script
world.js:31083:32 SyntaxError: invalid class property name in regular expression:
world.js:31083:32 ([\p{Ll}\d])(\p{Lu})
world.js:31083:32 ....^
Error: the `componentize.wizer` function trapped

Caused by:
    0: error while executing at wasm backtrace:
           0: 0x79597a - <unknown>!<wasm function 12739>
           1: 0x7962ed - <unknown>!<wasm function 12755>
           2: 0x20646 - <unknown>!<wasm function 98>
           3: 0x1f5f9 - <unknown>!<wasm function 96>
           4: 0xa6a5 - <unknown>!<wasm function 78>
           5: 0x22acba - <unknown>!<wasm function 5037>
    1: Exited with i32 exit status 1
Error: Failed to initialize the compiled Wasm binary with Wizer:
Wizering failed to complete
    at componentize (file:///Users/cataggar/ms/ComponentizeJS/src/componentize.js:305:13)
    at async componentize (file:///Users/cataggar/ms/jco/src/cmd/componentize.js:11:25)
    at async file:///Users/cataggar/ms/jco/src/jco.js:213:9
error: script "componentize" exited with code 1
(jco componentize) 
In 'typescript' script 'componentize' failed with exit code 1

Copilot says:

SpiderMonkey, the JavaScript and WebAssembly engine used in Mozilla Firefox, supports Unicode property escapes as part of the ECMAScript 2018 (ES9) specification. This feature allows you to use Unicode property escapes in regular expressions to match characters based on their Unicode properties.

Enabling Unicode Property Escapes in SpiderMonkey

To ensure that SpiderMonkey is compiled with support for Unicode property escapes, you need to use a version of SpiderMonkey that supports ECMAScript 2018 or later. Most modern versions of SpiderMonkey, including those used in recent versions of Firefox, already include this support.

主要言語
Rust
スター
392
フォーク
54
平均マージ
2日 18時間
マージ済み PR(30日)
3

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

bytecodealliance/ComponentizeJS のほかの issue

bytecodealliance/ComponentizeJS の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。