对于babel提议装饰器和typescriptdecorator之间的不兼容性怎么办?

6yoyoihd  于 2022-12-08  发布在  Babel
关注(0)|答案(1)|浏览(200)

我最近重写了CyriacBr/class-fixtures-factory,更新了https://github.com/MOCHI-inc-JAPAN/class-fixtures-factory的库版本。我成功地在ts-jest环境中运行了它,但是切换jest-expo不起作用。我怀疑装饰器在jest-expo中没有正确处理,因为typescript的一个不兼容。装饰器看起来在两个环境中都能工作,但是没有正确地反映属性类型的元数据,在typescript中装饰器元数据包括typeClassification,但是在jest-expo(可能是babel-proposal-decorators)中却没有。为什么会出现这种差异?我如何将jest-expo行为调整为ts-jest?此外,我们希望在expo环境中使用这个库,因为我们的产品有一些快照测试。
This repository可以复制它。

ff29svar

ff29svar1#

module.exports = function(api) {
  api.cache(true);
  return {
    "plugins": [
      ["babel-plugin-transform-typescript-metadata"],
    ],
    presets: ['babel-preset-expo'],
  };
};

我只能用它来添加babel-plugin-transform-typescript-metadata。它可以像typescript编译器一样存储元数据。

相关问题