Использование пакетного анализатора webpack с файлом угловой рабочей области - PullRequest
1 голос
/ 19 июня 2019

Я пытаюсь оптимизировать пакет ng2-smart-table , который мы используем как зависимость, так как я заметил, что он имеет большую ненужную зависимость от lodash , даже хотя он использует только небольшую часть lodash.

Однако у меня возникают некоторые проблемы при попытке анализатора пакетов веб-пакетов работать с их angular.json файлом рабочей области .

Если я просто пытаюсь запустить ng build, я получаю это:

❯ ng build --statsJson
Unknown option: '--statsJson'
❯ ng build --stats-json
Unknown option: '--stats-json'

Теперь в проекте используется файл рабочего пространства angular.json со следующим содержимым:

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "ng2-smart-table": {
      "projectType": "library",
      "root": "projects/ng2-smart-table",
      "sourceRoot": "projects/ng2-smart-table/src",
      "prefix": "lib",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-ng-packagr:build",
          "options": {
            "tsConfig": "projects/ng2-smart-table/tsconfig.lib.json",
            "project": "projects/ng2-smart-table/ng-package.json"
          }
        },
        ...

Если я пытаюсь добавить "statsJson": true к опциям, я получаю эту ошибку:

❯ ng build ng2-smart-table
Schema validation failed with the following errors:
  Data path "" should NOT have additional properties(statsJson).

Я подозреваю, что это как-то связано с проектом, использующим @angular-devkit/build-ng-packagr:build вместо стандартного @angular-devkit/build-angular:browser. Однако, поскольку packagr, по-видимому, не поддерживает анализ, я просто не знаю, как мне сгенерировать файл анализа.

...