Webpack: привязка жизненного цикла предварительной сборки для библиотек

#javascript #webpack #babeljs #rollupjs #parceljs

#javascript #webpack #babeljs #rollupjs #parceljs

Вопрос:

Я автор библиотеки, и мне нужен скрипт, который будет запускаться каждый раз, прежде чем webpack объединит мою библиотеку в код пользовательского приложения.

Моя библиотека package.json была бы чем-то вроде этого:

 {
  "name": "some-js-library",
  "version": "0.1.0",
  "scripts": {
    "prebuild": "./path/to/my-libs-prebuild-script.js"
  }
}
  

Имя пользователя package.json может быть любым, например:

 {
  "scripts": {
    "//": "or however the user uses webpack",
    "build": "webpack"
  },
  "dependencies": {
    "some-js-library": "^0.1.0"
  }
}
  

У меня нет никакого контроля над моими пользователями package.json , поэтому мне остается задаться вопросом, возможно ли my-libs-prebuild-script.js выполнять каждый раз, прежде чем webpack начнет сборку?

В идеале это был бы стандарт, с которым согласен каждый пакет, но решение только для webpack было бы прекрасным.

Спасибо!

Комментарии:

1. Я не думаю, что существует поддерживаемый способ изменения конфигурации пользовательского веб-пакета из внешней библиотеки, и на то есть веские причины. Что конкретно делает ваш сценарий предварительной сборки?

2. он запускается git shortlog , чтобы проверить, сколько авторов Git у репозитория пользователя. Моей библиотеке нужна эта информация. Когда моя библиотека используется в Node.js контекст, это не проблема. Но когда он используется на стороне браузера, мне нужно передать эту информацию из времени сборки в среду выполнения.