Узнайте, как извлечь зависимости из файла package.json для углового приложения для сканирования не связанной / минифицированной версии - PullRequest
0 голосов
/ 16 апреля 2019

Мне нужно отсканировать все библиотеки, которые мы развертываем с нашим угловым приложением. Однако, поскольку процесс сборки объединяет все библиотеки, я не могу сканировать отдельные библиотеки. Я могу сканировать каталог raw node_modules, который имеет как devDependencies, так и зависимости. Я действительно хочу сканировать зависимости, потому что это то, что на самом деле развернуто.

Я пытался настроить свою собственную конфигурацию веб-пакета, но, похоже, я не могу добавить свой собственный раздел "architect" в angular.json. Я хочу сохранить существующий процесс сборки без изменений и просто иметь дополнительный, который может использовать пользовательскую конфигурацию веб-пакета. К сожалению, когда я попробовал это, он сказал, что команда не существует для ng.

Если у кого-то есть какие-либо мысли, идеи или другие ссылки для меня, это было бы очень признательно. Это не должно быть изменение в angular.json. Возможно, есть и другие возможности, которые я мог бы изучить, чтобы включить все библиотеки, перечисленные в разделе зависимостей package.json.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Итак, покопавшись в поисках других решений, я обнаружил, что могу просто сделать npm prune --production или начать с npm install --only=production, что делает именно то, что мне нужно, чтобы изолировать зависимости от devDependencies в каталоге node_modules. Мне не нужно изменять или изменять процесс сборки для моего приложения в angular-cli. После выполнения команды prune я могу получить все файлы * .js из каталога node_modules, а затем запустить проверку безопасности этих файлов.

0 голосов
/ 16 апреля 2019

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

  "architect": {
    "build": {
      // ...
      "configurations": {
        "quality": {
          // ...
        },
        "production": {
          // ...
        }
      }
    },

В этом примере я создал пользовательскую конфигурацию quality как копию производства и изменил ее для своих нужд. Кроме того, я создал собственный файл environment.qa.ts в папке сред (и указал на него конфигурацию quality), чтобы установить соответствующие константы, которые будут использоваться в сборке.

Затем вы можете запустить сборку, используя вашу пользовательскую конфигурацию, с помощью этой команды: ng build --configuration quality

Чтобы получить представление о содержимом пакета и размерах пакета, вы можете использовать webpack-bundle-analyzer , который обеспечивает очень хороший обзор вашего пакета.

...