microsoft / microsoft/TypeScript
bug of multi re-export with interface
オープン
まだ誰も着手していません。
Needs Investigation
- 主要言語
- Go
- スター
- 111k
- フォーク
- 14.3k
- 平均マージ
- 2日 4時間
- マージ済み PR(30日)
- 132
説明
TypeScript Version: 3.7.x-dev.201xxxxx
Search Terms:
Code
export interface IOptions
{
/**
* 忽略的字 or 任何支援 indexOf 的 Object
*/
skip?,
/**
* safe mode
*/
safe?: boolean,
}
- https://github.com/bluelovers/ws-regexp/blob/master/packages/%40lazy-cjk/jp-table-convert/index.ts
- https://github.com/bluelovers/ws-regexp/blob/master/packages/cjk-conv/lib/jp/core.ts
- (last) https://github.com/bluelovers/ws-regexp/blob/master/packages/cjk-conv/lib/jp/index.ts
export { zh2jp, zht2jp, zhs2jp, zhs2zht, zht2zhs, cjk2zhs, jp2zhs, jp2zht, cjk2zht, cjk2jp, IOptions } from './core';
Expected behavior:
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("./core");
Object.defineProperty(exports, "zh2jp", { enumerable: true, get: function () { return core_1.zh2jp; } });
Object.defineProperty(exports, "zht2jp", { enumerable: true, get: function () { return core_1.zht2jp; } });
Object.defineProperty(exports, "zhs2jp", { enumerable: true, get: function () { return core_1.zhs2jp; } });
Object.defineProperty(exports, "zhs2zht", { enumerable: true, get: function () { return core_1.zhs2zht; } });
Object.defineProperty(exports, "zht2zhs", { enumerable: true, get: function () { return core_1.zht2zhs; } });
Object.defineProperty(exports, "cjk2zhs", { enumerable: true, get: function () { return core_1.cjk2zhs; } });
Object.defineProperty(exports, "jp2zhs", { enumerable: true, get: function () { return core_1.jp2zhs; } });
Object.defineProperty(exports, "jp2zht", { enumerable: true, get: function () { return core_1.jp2zht; } });
Object.defineProperty(exports, "cjk2zht", { enumerable: true, get: function () { return core_1.cjk2zht; } });
Object.defineProperty(exports, "cjk2jp", { enumerable: true, get: function () { return core_1.cjk2jp; } });
Actual behavior:
the (last) will emit wrong js code in Version 4.0.0-dev.20200601
this bug happen in super low chance
***************
*** 11,18 ****
--- 11,19 ----
Object.defineProperty(exports, "zht2zhs", { enumerable: true, get: function () { return core_1.zht2zhs; } });
Object.defineProperty(exports, "cjk2zhs", { enumerable: true, get: function () { return core_1.cjk2zhs; } });
Object.defineProperty(exports, "jp2zhs", { enumerable: true, get: function () { return core_1.jp2zhs; } });
Object.defineProperty(exports, "jp2zht", { enumerable: true, get: function () { return core_1.jp2zht; } });
Object.defineProperty(exports, "cjk2zht", { enumerable: true, get: function () { return core_1.cjk2zht; } });
Object.defineProperty(exports, "cjk2jp", { enumerable: true, get: function () { return core_1.cjk2jp; } });
+ Object.defineProperty(exports, "IOptions", { enumerable: true, get: function () { return core_1.IOptions; } });
exports.default = exports;
//# sourceMappingURL=index.js.map
Playground Link:
Related Issues:
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
リンクされている TypeScript ファイル、特に packages/cjk-conv/lib/jp/index.ts と ./core からの再エクスポートから始め、報告されたコンパイラーバージョンで出力される JavaScript を再現します。IOptions インターフェースの出力を期待される出力と比較します。multi re-export が誤ったランタイムエクスポートを出力しなくなれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- typescript
- 領域
- compilers
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100