1

在我的项目中,有一个用于 NewRelic 的 YAML 文件,newrelic.yml其中有一行用于设置的 Ruby 代码app_name。现有配置正在运行,我需要编辑文件,但是当我尝试执行yarn commit它时失败并出现以下错误,对我来说这看起来像一个更漂亮的错误。

我试图#prettier-ignore在该行之前添加,但它仍然导致提交失败。

node_modules/prettier/index.js:13588
      throw error;
      ^

SyntaxError: Nested mappings are not allowed in compact mappings (18:13)
  17 |   # Relic.  For more details, see https://docs.newrelic.com/docs/apm/new-relic-apm/maintenance/renaming-applications
> 18 |   app_name: <%= ENV["SERVER_ENV"] == 'staging' ? 'MyApp (Staging)' : 'MyApp' %>
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

我的代码编辑器是相关的 VSCode。

所以我想弄清楚为什么# prettier-ignore它不能像更漂亮的文档所表明的那样工作。或者弄清楚如何让事情格式化以通过,这显然是首选选项。

4

1 回答 1

1

似乎 Prettier 不处理 YAML 文件中的 ERB。

我会将所有常见配置添加到一个块中,然后使用 YAML别名重新使用该块。

common: &default_settings
  license_key: 1234
  log_lever: info
  # ...

production:
  <<: *default_settings
  app_name: MyApp

staging:
  <<: *default_settings
  app_name: MyApp (Staging)
于 2020-11-28T13:34:58.530 回答