Как собрать проект чтобы в конце бандла были лицензии всех пакетов?

Ссылка скопирована
1 ответ

https://www.npmjs.com/package/react-native-rename?...

lib/index.js

Попробовал собрать вебпаком, но не получил лицензию в конце файла, как у него. (path/normalize) например.

const path = require('path');  module.exports = {     target: 'node',     mode: 'production',     entry: './main.js',     output: {         filename: 'main.js',         path: path.resolve(__dirname, 'dist'),     }, };

const path = require('path'); module.exports = { target: 'node', mode: 'production', entry: './main.js', output: { filename: 'main.js', path: path.resolve(__dirname, 'dist'), }, };

И нужно ли это вообще?

Дополнительно:

И нужно ли это вообще?

вот именно. нафига это нужно? мы стараемся уменьшить размер бандла, а лишние символы лицензий этому не способствуют.

  • Сергей delphinpro,

    Нужно ли это, в плане распространения, допустим кто-то включит пакет в платное п.о. или я включу какой-то пакет в платное п.о.

    Следовательно могут возникнуть проблемы, если я не укажу что использую чужой код с лицензией позволяющей мне это делать.

    Размер бандла это десятое дело, можно вынести лицензии в json файл и не будут они в бандле.
    В данном случае я бы хотел указать их в конце файла или начале файла, для информации и узнать как это сделать.

  • historydev, ну так чем вас не устраивает распространение текстов в отдельном файле bundle.LICENSES.js? Это вроде как дефолтная возможность сборщика.
  • Сергей delphinpro, Так я и спрашиваю, как мне в сборщике указать, чтобы он собрал все лицензии пакетов и поместил куда укажу. Я нашёл только пакеты которые вручную позволяют это всё добавлять, один пакет автоматом, только импорты смотрит и не учитывает нодовские дефолтные пакеты, такие как path.
  • webpack 5 вроде из коробки это делает(через TerserPlugin включённый по умолчанию)...
    А так есть https://github.com/codepunkt/webpack-license-plugin.
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Игорь Волков Ответ

    Для того чтобы включить лицензии всех используемых пакетов в итоговый бандл проекта, необходимо выполнить следующие шаги:

    1. Добавить зависимости для всех пакетов, включая их лицензии, в файл composer.json. Для этого необходимо вручную указать лицензию каждого пакета в секции "require" или "require-dev" следующим образом:

    "require": {
        "vendor/package": "^1.0",
        "vendor/package2": "^2.0"
    },
    "license": "MIT",

    "require": { "vendor/package": "^1.0", "vendor/package2": "^2.0" }, "license": "MIT",

    2. После добавления лицензий в composer.json необходимо запустить команду `composer update`. Это обновит зависимости проекта и включит лицензии всех пакетов в итоговый бандл.

    3. Для того чтобы убедиться, что лицензии всех пакетов были включены, можно воспользоваться командой `composer licenses`. Эта команда покажет информацию о лицензиях всех используемых пакетов.

    4. Наконец, для того чтобы включить лицензии в итоговый бандл проекта, необходимо убедиться, что включена опция `--optimize-autoloader` при запуске `composer install` или `composer update`. Это позволит оптимизировать автозагрузчик и включить лицензии всех пакетов.

    После выполнения этих шагов, лицензии всех использованных пакетов должны быть включены в итоговый бандл проекта.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно