Angular bazel ts_devserver добавляет полифиллы

ts_devserver(
    name = "devserver",
    additional_root_paths = ["project/src/_"],
    entry_module = "project/src/main.dev",
    port = 4200,
    scripts = [
        "@npm//:node_modules/tslib/tslib.js",
        "@npm//:node_modules/@angular/localize/bundles/localize-init.umd.js",
        "@npm//:node_modules/@angular/common/locales/es-MX.js",
        "@npm//date-fns:date-fns.umd.js",
        "@npm//immutable:immutable.umd.js",
        ":date_fns_locale_umd",
    ],
    serving_path = "/bundle.min.js",
    static_files = [
        "@npm//:node_modules/zone.js/dist/zone.min.js",
        ":global_stylesheet",
        ":asset_injected_index_html",
        "favicon.ico",
        "manifest.json"
    ],
    deps = [
        ":polyfills",
        ":bazel_umd_modules",
        ":src"
        ],
)

Я получаю следующую ошибку

Uncaught Error: It looks like your application or one of its dependencies is using i18n.
Angular 9 introduced a global `$localize()` function that needs to be loaded.
Please run `ng add @angular/localize` from the Angular CLI.
(For non-CLI projects, add `import '@angular/localize/init';` to your `polyfills.ts` file.
For server-side rendering applications add the import to your `main.server.ts` file.)
    at _global.$localize (core.umd.js:32815)
    at Object.eval (ng-bootstrap.umd.js:63)
    at Object.execCb (es-MX.ts:78)
    at Module.check (es-MX.ts:78)
    at Module.enable (es-MX.ts:78)
    at Object.enable (es-MX.ts:78)
    at Module.<anonymous> (es-MX.ts:78)
    at es-MX.ts:78
    at each (es-MX.ts:53)
    at Module.enable (es-MX.ts:78)

polyfills.ts - это ts_library()

import '@angular/localize/init';

Я сейчас не понимаю, зачем запускать перед запуском приложения... В тестах я делаю это, добавляя //src:polyfills для runtime_deps и локализации init в srcs.

Любые идеи?

1 ответ

Я решил это, добавив этот скрипт в начальную загрузку ts_devserver

      ts_devserver(
    name = "devserver",
    additional_root_paths = ["project/src/_"],
    bootstrap = [
        "@npm//:node_modules/@angular/localize/bundles/localize-init.umd.js",
    ]
)
Другие вопросы по тегам