Bud error upgrading from 6.3.5 to 6.5.0

FROM

    "@roots/bud": "^6.3.5",
    "@roots/bud-eslint": "^6.3.5",
    "@roots/bud-prettier": "^6.3.5",
    "@roots/bud-sass": "^6.3.5",
    "@roots/bud-stylelint": "^6.3.5",
    "@roots/bud-tailwindcss": "^6.3.5",
    "@roots/eslint-config": "^6.3.5",
    "@roots/sage": "6.3.5",

TO

    "@roots/bud": "^6.5.0",
    "@roots/bud-eslint": "^6.5.0",
    "@roots/bud-prettier": "^6.5.0",
    "@roots/bud-sass": "^6.5.0",
    "@roots/bud-stylelint": "^6.5.0",
    "@roots/bud-tailwindcss": "^6.5.0",
    "@roots/eslint-config": "^6.5.0",
    "@roots/sage": "6.5.0",

Error (yarn build)

$ bud dev
[bud@6.5.0] [sage] [copy-webpack-plugin] › ✘  error     error instantiating plugin ValidationError: Invalid options object. Copy Plugin has been initialized using an options object that does not match the API schema.
 - options.patterns[0] should be one of these:
   non-empty string | object { from, to?, context?, globOptions?, filter?, transformAll?, toType?, force?, priority?, info?, transform?, noErrorOnMissing? }
   Details:
    * options.patterns[0] has an unknown property '0'. These properties are valid:
      object { from, to?, context?, globOptions?, filter?, transformAll?, toType?, force?, priority?, info?, transform?, noErrorOnMissing? }
    * options.patterns[0] has an unknown property '1'. These properties are valid:
      object { from, to?, context?, globOptions?, filter?, transformAll?, toType?, force?, priority?, info?, transform?, noErrorOnMissing? }
    * options.patterns[0] has an unknown property '2'. These properties are valid:
      object { from, to?, context?, globOptions?, filter?, transformAll?, toType?, force?, priority?, info?, transform?, noErrorOnMissing? }
    * options.patterns[0] has an unknown property '3'. These properties are valid:
      object { from, to?, context?, globOptions?, filter?, transformAll?, toType?, force?, priority?, info?, transform?, noErrorOnMissing? }
    * options.patterns[0] has an unknown property '4'. These properties are valid:
      object { from, to?, context?, globOptions?, filter?, transformAll?, toType?, force?, priority?, info?, transform?, noErrorOnMissing? }
    at validate (/Users/aitor/Documents/Trellis/angelgiraldez.com/site/web/app/themes/sage/node_modules/schema-utils/dist/validate.js:115:11)
    at new CopyPlugin (/Users/aitor/Documents/Trellis/angelgiraldez.com/site/web/app/themes/sage/node_modules/copy-webpack-plugin/dist/index.js:172:5)
    at Object._make (file:///Users/aitor/Documents/Trellis/angelgiraldez.com/site/web/app/themes/sage/node_modules/@roots/bud-framework/lib/extension/index.js:176:32)
    at async file:///Users/aitor/Documents/Trellis/angelgiraldez.com/site/web/app/themes/sage/node_modules/@roots/bud-extensions/lib/service.js:287:90
    at async Promise.all (index 8)
    at async Extensions.make (file:///Users/aitor/Documents/Trellis/angelgiraldez.com/site/web/app/themes/sage/node_modules/@roots/bud-extensions/lib/service.js:287:16)
    at async plugins (file:///Users/aitor/Documents/Trellis/angelgiraldez.com/site/web/app/themes/sage/node_modules/@roots/bud-build/lib/config/builder.js:20:39)
    at async file:///Users/aitor/Documents/Trellis/angelgiraldez.com/site/web/app/themes/sage/node_modules/@roots/bud-build/lib/service.js:58:31
    at async Promise.all (index 17)
    at async file:///Users/aitor/Documents/Trellis/angelgiraldez.com/site/web/app/themes/sage/node_modules/@roots/bud-build/lib/service.js:56:65 {
  errors: [
    {
      instancePath: '/patterns/0',
      schemaPath: '#/properties/patterns/items/anyOf',
      keyword: 'anyOf',
      params: {},
      message: 'must match a schema in anyOf',
      schema: [Array],
      parentSchema: [Object],
      data: [Object],
      children: [Array]
    }
  ],
  schema: {
    definitions: { ObjectPattern: [Object], StringPattern: [Object] },
    type: 'object',
    additionalProperties: false,
    properties: { patterns: [Object], options: [Object] },
    required: [ 'patterns' ]
  },
  headerName: 'Copy Plugin',
  baseDataPath: 'options',
  postFormatter: null
}

Please, help. :sos:

What’s your Bud config?

1 Like

You are calling bud.assets with multiple arguments. Wrap them in an array.

 bud.assets('images', 'fonts')

should become:

bud.assets([`images`, `fonts`])

It used to accept n-arguments but it doesn’t anymore. don’t remember when that changed but it was a while ago. I think you’ve been coasting and I finally did something to break it.

3 Likes