Ng Xi18n Not Working For Library · Issue #17140 - GitHub

🐞 Bug report

Command (mark with an x)

  • new
  • build
  • serve
  • test
  • e2e
  • generate
  • add
  • update
  • lint
  • xi18n
  • run
  • config
  • help
  • version
  • doc

Is this a regression?

No. Related functionaliy only available with new i18n capabilities of angular 9.

Description

I want to use ng xi18n command to extract messages for i18n tags which are part of a library project which is part of a monrepo setup created by the cli. According to docs at

https://angular.io/cli/xi18n this is supposed to be possible

ng xi18n <project> <project> The name of the project to build. Can be an application or a library.

🔬 Minimal Reproduction

  1. create project: ng new lib-i18n
  2. add localize: ng add @angular/localize
  3. generate library: ng g library my-lib
  4. add i18n attribute in my-lib.component.ts <p i18n> my-lib works! </p>
  5. run ng xi18n my-lib: Result will be An unhandled exception occurred: Project 'my-lib' does not support the 'extract-i18n' target. After adding corresponding extract-i18n target in angular.json, error output as below.

I created a minimal demo project which incorporates the scenario describe above. It is located here: https://github.com/multimike77/lib-i18n-issue

Checkout and run npm install. Then run ng xi18n my-lib and it should produce error as below.

🔥 Exception or Error

An unhandled exception occurred: The "path" argument must be of type string. Received undefined [error] TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined at validateString (internal/validators.js:117:11) at Object.resolve (path.js:980:7) at Object.getCommonConfig (/Users/.../lib-i18n/node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/common.js:390:24) at /Users/.../lib-i18n/node_modules/@angular-devkit/build-angular/src/extract-i18n/index.js:91:27 at generateWebpackConfig (/Users/.../lib-i18n/node_modules/@angular-devkit/build-angular/src/utils/webpack-browser-config.js:62:22) at async Object.generateBrowserWebpackConfigFromContext (/Users/.../lib-i18n/node_modules/@angular-devkit/build-angular/src/utils/webpack-browser-config.js:137:20) at async execute (/Users/.../lib-i18n/node_modules/@angular-devkit/build-angular/src/extract-i18n/index.js:73:24)

🌍 Your Environment

Angular CLI: 9.0.4 Node: 12.16.1 OS: darwin x64 Angular: 9.0.4 ... animations, cli, common, compiler, compiler-cli, core, forms ... language-service, localize, platform-browser ... platform-browser-dynamic, router Ivy Workspace: Yes Package Version ------------------------------------------------------------ @angular-devkit/architect 0.900.4 @angular-devkit/build-angular 0.900.4 @angular-devkit/build-ng-packagr 0.900.4 @angular-devkit/build-optimizer 0.900.4 @angular-devkit/build-webpack 0.900.4 @angular-devkit/core 9.0.4 @angular-devkit/schematics 9.0.4 @ngtools/webpack 9.0.4 @schematics/angular 9.0.4 @schematics/update 0.900.4 ng-packagr 9.0.2 rxjs 6.5.4 typescript 3.7.5 webpack 4.41.2

Anything else relevant?

Từ khóa » Ng Xi18n