Плагин Watch Ignore был инициализирован с использованием объекта options, который не соответствует схеме API

#webpack #webpack-5

#webpack #webpack-5

Вопрос:

 Webpack: Starting ...
ui/node_modules/schema-utils/dist/validate.js:104
    throw new _ValidationError.default(errors, schema, configuration);
    ^

ValidationError: Invalid options object. Watch Ignore Plugin has been initialized using an options object that does not match the API schema. {
  schema: {
    title: 'WatchIgnorePluginOptions',
    type: 'object',
    additionalProperties: false,
    properties: {
      paths: {
        description: 'A list of RegExps or absolute paths to directories or files that should be ignored.',
        type: 'array',
        items: {
          description: 'RegExp or absolute path to directories or files that should be ignored.',
          anyOf: [ [Object], [Object] ]
        },
        minItems: 1
      }
    },
    required: [ 'paths' ]
  },
  headerName: 'Watch Ignore Plugin',
  baseDataPath: 'options',
  postFormatter: null
}
  

Он генерируется со следующей конфигурацией:

 new webpack.WatchIgnorePlugin([ 'src/test' ])
  

Версия webpack — «^ 5.0.0-rc.6».
В соответствии с конструктором

 constructor(paths: Array<string | RegExp>)
  

[ 'src/test' ] должно быть хорошо. Где я допустил ошибку?

Ответ №1:

Я получил ответ на этот вопрос.

Параметры WatchIgnorePlugin должны быть преобразованы в

 new webpack.WatchIgnorePlugin({paths: [ 'src/test' ]})
  

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

1. Тогда как устранить приведенное ниже предупреждение при вызове new webpack.WatchIgnorePlugin({paths: [ 'src/test' ]}) из js: Argument type {paths: [string]} is not assignable to parameter type Array<string | RegExp>