[Pkg-javascript-devel] Bug#997592: node-copy-webpack-plugin: FTBFS: dh_auto_test: error: /bin/sh -ex debian/tests/pkg-js/test returned exit code 1

Lucas Nussbaum lucas at debian.org
Sat Oct 23 22:05:59 BST 2021


Source: node-copy-webpack-plugin
Version: 5.1.2+~cs9.0.2-4
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20211023 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> node `nodepath ajv`/scripts/compile-dots.js `nodepath ajv`/lib ajv-errors/lib
> 
> 
> Compiling:
> compiled errorMessage
> babeljs src -d dist --copy-files
> Successfully compiled 9 files with Babel (601ms).
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test --buildsystem=nodejs
> 	ln -s ../debian/tests/test_modules/dir-glob node_modules/dir-glob
> 	ln -s ../debian/tests/test_modules/loader-utils node_modules/loader-utils
> 	ln -s ../debian/tests/test_modules/path-type node_modules/path-type
> 	ln -s ../. node_modules/copy-webpack-plugin
> 	/bin/sh -ex debian/tests/pkg-js/test
> + jest --ci --testRegex test/CopyPlugin.test.js test/cache-option.test.js test/cjs.test.js test/flatten-option.test.js test/force-option.test.js test/globOptions-option.test.js test/ignore-option.test.js test/test-option.test.js test/transform-option.test.js test/transformPath-option.test.js test/validate-options.test.js
> FAIL test/cache-option.test.js (6.571 s)
>   ● cache option › should cache when "from" is a file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/cache-option.test.js:22:5)
> 
>   ● cache option › should cache files when "from" is a directory
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/cache-option.test.js:62:5)
> 
>   ● cache option › should cache when "from" is a glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/cache-option.test.js:109:5)
> 
>   ● cache option › should cache file with custom cache key
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/cache-option.test.js:151:5)
> 
>   ● cache option › should cache binary file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/cache-option.test.js:193:5)
> 
> FAIL test/force-option.test.js (6.742 s)
>   ● force option › is not specified › should not overwrite a file already in the compilation by default when "from" is a file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at runForce (test/helpers/run.js:154:10)
>       at Object.<anonymous> (test/force-option.test.js:6:7)
> 
>   ● force option › is not specified › should not overwrite files already in the compilation when "from" is a directory
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at runForce (test/helpers/run.js:154:10)
>       at Object.<anonymous> (test/force-option.test.js:23:7)
> 
>   ● force option › is not specified › should not overwrite files already in the compilation when "from" is a glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at runForce (test/helpers/run.js:154:10)
>       at Object.<anonymous> (test/force-option.test.js:53:7)
> 
>   ● force option › is "false" (Boolean) › should not overwrite a file already in the compilation by default when "from" is a file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at runForce (test/helpers/run.js:154:10)
>       at Object.<anonymous> (test/force-option.test.js:82:7)
> 
>   ● force option › is "false" (Boolean) › should not overwrite files already in the compilation when "from" is a directory
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at runForce (test/helpers/run.js:154:10)
>       at Object.<anonymous> (test/force-option.test.js:100:7)
> 
>   ● force option › is "false" (Boolean) › should not overwrite files already in the compilation when "from" is a glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at runForce (test/helpers/run.js:154:10)
>       at Object.<anonymous> (test/force-option.test.js:131:7)
> 
>   ● force option › is "true" (Boolean) › should force overwrite a file already in the compilation when "from" is a file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at runForce (test/helpers/run.js:154:10)
>       at Object.<anonymous> (test/force-option.test.js:161:7)
> 
>   ● force option › is "true" (Boolean) › should force overwrite files already in the compilation when "from" is a directory
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at runForce (test/helpers/run.js:154:10)
>       at Object.<anonymous> (test/force-option.test.js:179:7)
> 
>   ● force option › is "true" (Boolean) › should force overwrite files already in the compilation when "from" is a glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at runForce (test/helpers/run.js:154:10)
>       at Object.<anonymous> (test/force-option.test.js:210:7)
> 
> FAIL test/CopyPlugin.test.js (6.767 s)
>   ● apply function › basic › should copy a file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:12:7)
> 
>   ● apply function › basic › should copy a file to a new file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:25:7)
> 
>   ● apply function › basic › should copy a file to a new file with context
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:39:7)
> 
>   ● apply function › basic › should copy files
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:54:7)
> 
>   ● apply function › basic › should copy files to new directory
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:72:7)
> 
>   ● apply function › basic › should copy files to new directory with context
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:91:7)
> 
>   ● apply function › basic › should copy files using glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:109:7)
> 
>   ● apply function › basic › should copy files using glob to new directory
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:126:7)
> 
>   ● apply function › basic › should copy files using glob to new directory with context
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:144:7)
> 
>   ● apply function › basic › should copy a file to a new file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:162:7)
> 
>   ● apply function › basic › should copy a file to a new file with context
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:176:7)
> 
>   ● apply function › basic › should multiple files to a new file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:191:7)
> 
>   ● apply function › basic › should copy multiple files with same "from"
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:209:7)
> 
>   ● apply function › basic › should works with multiple patterns as String
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:227:7)
> 
>   ● apply function › basic › should works with multiple patterns as Object
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:236:7)
> 
>   ● apply function › difference path segment separation › should work with linux path segment separation path when "from" is glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:257:7)
> 
>   ● apply function › difference path segment separation › should work with windows path segment separation path when "from" is glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:270:7)
> 
>   ● apply function › difference path segment separation › should work with mixed path segment separation path when "from" is glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:285:7)
> 
>   ● apply function › difference path segment separation › should exclude path with linux path segment separators
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:300:7)
> 
>   ● apply function › difference path segment separation › should exclude path with windows path segment separators
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:321:7)
> 
>   ● apply function › dev server › should work with absolute to if outpath is defined with webpack-dev-server
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:344:7)
> 
>   ● apply function › dev server › should throw an error when output path isn't defined with webpack-dev-server
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:364:7)
> 
>   ● apply function › watch mode › should add the file to the watch list when "from" is a file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:388:7)
> 
>   ● apply function › watch mode › should add a directory to the watch list when "from" is a directory
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:407:7)
> 
>   ● apply function › watch mode › should add a directory to the watch list when "from" is a glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:426:7)
> 
>   ● apply function › watch mode › should not add the directory to the watch list when glob is a file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:445:7)
> 
>   ● apply function › watch mode › only include files that have changed
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runChange (test/helpers/run.js:172:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:464:7)
> 
>   ● apply function › watch mode › only include files that have changed
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runChange (test/helpers/run.js:172:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:482:7)
> 
>   ● apply function › watch mode › include all files if copyUnmodified is true
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runChange (test/helpers/run.js:172:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:507:7)
> 
>   ● apply function › watch mode › copy only changed files
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runChange (test/helpers/run.js:172:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:535:7)
> 
>   ● apply function › watch mode › copy only changed files (multiple patterns)
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runChange (test/helpers/run.js:172:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:562:7)
> 
>   ● apply function › watch mode › copy only changed files (multiple patterns with difference context)
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runChange (test/helpers/run.js:172:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:594:7)
> 
>   ● apply function › watch mode › copy only changed files (multiple patterns with difference context 1)
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runChange (test/helpers/run.js:172:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:623:7)
> 
>   ● apply function › watch mode › copy only changed files (multiple patterns with difference context 2)
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runChange (test/helpers/run.js:172:10)
>       at Object.<anonymous> (test/CopyPlugin.test.js:652:7)
> 
> FAIL test/validate-options.test.js
>   ● validate options › should successfully validate the "patterns" option with "[]" value
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at Object.<anonymous> (test/validate-options.test.js:261:9)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
>       at Object.<anonymous> (test/validate-options.test.js:9:97)
> 
>   ● validate options › should successfully validate the "patterns" option with "["test.txt"]" value
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at Object.<anonymous> (test/validate-options.test.js:261:9)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
>       at Object.<anonymous> (test/validate-options.test.js:9:97)
> 
>   ● validate options › should successfully validate the "patterns" option with "["test.txt","test-other.txt"]" value
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at Object.<anonymous> (test/validate-options.test.js:261:9)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
>       at Object.<anonymous> (test/validate-options.test.js:9:97)
> 
>   ● validate options › should successfully validate the "patterns" option with "["test.txt",{"from":"test.txt","to":"dir","context":"context"}]" value
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at Object.<anonymous> (test/validate-options.test.js:261:9)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
>       at Object.<anonymous> (test/validate-options.test.js:9:97)
> 
>   ● validate options › should successfully validate the "patterns" option with "[{"from":"test.txt"}]" value
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at Object.<anonymous> (test/validate-options.test.js:261:9)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
>       at Object.<anonymous> (test/validate-options.test.js:9:97)
> 
>   ● validate options › should successfully validate the "patterns" option with "[{"from":"test.txt","to":"dir"}]" value
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at Object.<anonymous> (test/validate-options.test.js:261:9)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
>       at Object.<anonymous> (test/validate-options.test.js:9:97)
> 
>   ● validate options › should successfully validate the "patterns" option with "[{"from":"test.txt","context":"context"}]" value
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at Object.<anonymous> (test/validate-options.test.js:261:9)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
>       at Object.<anonymous> (test/validate-options.test.js:9:97)
> 
>   ● validate options › should successfully validate the "patterns" option with "[{"from":"test.txt","to":"dir","context":"context","toType":"file","test":{},"force":true,"ignore":["ignore-1","ignore-2",{"dot":false,"glob":"**/*"}],"flatten":true,"cache":true}]" value
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at Object.<anonymous> (test/validate-options.test.js:261:9)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
>       at Object.<anonymous> (test/validate-options.test.js:9:97)
> 
>   ● validate options › should successfully validate the "patterns" option with "[{"from":{"glob":"**/*","dot":false},"to":"dir","context":"context","globOptions":{"dot":false}}]" value
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at Object.<anonymous> (test/validate-options.test.js:261:9)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
>       at Object.<anonymous> (test/validate-options.test.js:9:97)
> 
>   ● validate options › should successfully validate the "patterns" option with "[{"from":"test.txt","to":"dir","context":"context","globOptions":{"dot":false}}]" value
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at Object.<anonymous> (test/validate-options.test.js:261:9)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
>       at Object.<anonymous> (test/validate-options.test.js:9:97)
> 
>   ● validate options › should successfully validate the "patterns" option with "[{"from":"test.txt","to":"dir","context":"context","test":"test"}]" value
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at Object.<anonymous> (test/validate-options.test.js:261:9)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
>       at Object.<anonymous> (test/validate-options.test.js:9:97)
> 
>   ● validate options › should successfully validate the "patterns" option with "[{"from":"test.txt","to":"dir","context":"context","test":{}}]" value
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at Object.<anonymous> (test/validate-options.test.js:261:9)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
>       at Object.<anonymous> (test/validate-options.test.js:9:97)
> 
>   ● validate options › should successfully validate the "patterns" option with "[{"from":"test.txt","to":"dir","context":"context","cache":{"foo":"bar"}}]" value
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at Object.<anonymous> (test/validate-options.test.js:261:9)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
>       at Object.<anonymous> (test/validate-options.test.js:9:97)
> 
>   ● validate options › should throw an error on the "patterns" option with "true" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "true" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "{}" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[""]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[{}]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[{"from":"","to":"dir","context":"context"}]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[{"from":true,"to":"dir","context":"context"}]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[{"from":"test.txt","to":true,"context":"context"}]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[{"from":"test.txt","to":"dir","context":true}]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[{"from":"test.txt","to":"dir","context":"context","toType":"foo"}]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[{"from":"test.txt","to":"dir","context":"context","test":true}]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[{"from":"test.txt","to":"dir","context":"context","force":"true"}]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[{"from":"test.txt","to":"dir","context":"context","ignore":true}]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[{"from":"test.txt","to":"dir","context":"context","ignore":[true]}]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[{"from":"test.txt","to":"dir","context":"context","ignore":["test.txt",true]}]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[{"from":"test.txt","to":"dir","context":"context","flatten":"true"}]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[{"from":"test.txt","to":"dir","context":"context"}]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[{"from":"test.txt","to":"dir","context":"context","transform":true}]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
>   ● validate options › should throw an error on the "patterns" option with "[{"from":"test.txt","to":"dir","context":"context","transformPath":true}]" value
> 
>     expect(received).toThrowErrorMatchingSnapshot()
> 
>     Received function did not throw
> 
>       406 |   if (error === undefined) {
>       407 |     // Because the received value is a function, this is not a matcher error.
>     > 408 |     throw new Error((0, _printSnapshot.matcherHintFromConfig)(config, false) + '\n\n' + DID_NOT_THROW);
>           |           ^
>       409 |   }
>       410 | 
>       411 |   return _toMatchSnapshot({
> 
>       at _toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/jest-snapshot/build/index.js:408:11)
>       at __EXTERNAL_MATCHER_TRAP__ (../../../usr/share/nodejs/expect/build/index.js:248:22)
>       at Object.toThrowErrorMatchingSnapshot (../../../usr/share/nodejs/expect/build/index.js:249:6)
>       at Object.<anonymous> (test/validate-options.test.js:274:14)
>       at asyncGeneratorStep (test/validate-options.test.js:7:103)
>       at _next (test/validate-options.test.js:9:194)
>       at test/validate-options.test.js:9:364
> 
> FAIL test/transformPath-option.test.js
>   ● transformPath option › should transform target path when "from" is a file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transformPath-option.test.js:9:5)
> 
>   ● transformPath option › should transform target path of every when "from" is a directory
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transformPath-option.test.js:27:5)
> 
>   ● transformPath option › should transform target path of every file when "from" is a glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transformPath-option.test.js:52:5)
> 
>   ● transformPath option › should transform target path when function return Promise
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transformPath-option.test.js:74:5)
> 
>   ● transformPath option › should transform target path when async function used
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transformPath-option.test.js:94:5)
> 
>   ● transformPath option › should warn when function throw error
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transformPath-option.test.js:116:5)
> 
>   ● transformPath option › should warn when Promise was rejected
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transformPath-option.test.js:133:5)
> 
>   ● transformPath option › should warn when async function throw error
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transformPath-option.test.js:152:5)
> 
>   ● transformPath option › should transform target path of every file in glob after applying template
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transformPath-option.test.js:171:5)
> 
> FAIL test/ignore-option.test.js
>   ● ignore option › should ignore files when "from" is a file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/ignore-option.test.js:5:5)
> 
>   ● ignore option › should files when "from" is a directory
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/ignore-option.test.js:19:5)
> 
>   ● ignore option › should files in nested directory when "from" is a directory
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/ignore-option.test.js:37:5)
> 
>   ● ignore option › should files when from is a glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/ignore-option.test.js:51:5)
> 
>   ● ignore option › should files in nested directory when from is a glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/ignore-option.test.js:68:5)
> 
>   ● ignore option › should ignore files with a certain extension
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/ignore-option.test.js:82:5)
> 
>   ● ignore option › should ignore files with multiple ignore patterns
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/ignore-option.test.js:96:5)
> 
>   ● ignore option › should ignore files except those with dots
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/ignore-option.test.js:110:5)
> 
>   ● ignore option › should ignore files that start with a dot
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/ignore-option.test.js:137:5)
> 
>   ● ignore option › should ignores all files even if they start with a dot
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/ignore-option.test.js:155:5)
> 
>   ● ignore option › should ignore files when "from" is a file (global ignore)
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/ignore-option.test.js:171:5)
> 
> FAIL test/transform-option.test.js
>   ● transform option › should transform file when "from" is a file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transform-option.test.js:9:5)
> 
>   ● transform option › should transform target path of every when "from" is a directory
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transform-option.test.js:30:5)
> 
>   ● transform option › should transform target path of every file when "from" is a glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transform-option.test.js:59:5)
> 
>   ● transform option › should transform file when function return Promise
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transform-option.test.js:86:5)
> 
>   ● transform option › should transform target path when async function used
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transform-option.test.js:107:5)
> 
>   ● transform option › should warn when function throw error
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transform-option.test.js:130:5)
> 
>   ● transform option › should warn when Promise was rejected
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transform-option.test.js:148:5)
> 
>   ● transform option › should warn when async function throw error
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/transform-option.test.js:167:5)
> 
> FAIL test/flatten-option.test.js
>   ● flatten option › should flatten a directory's files to a root directory when "from" is a file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/flatten-option.test.js:5:5)
> 
>   ● flatten option › should flatten a directory's files to a new directory when "from" is a file
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/flatten-option.test.js:19:5)
> 
>   ● flatten option › should flatten a directory's files to a root directory when "from" is a directory
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/flatten-option.test.js:34:5)
> 
>   ● flatten option › should flatten a directory's files to new directory when "from" is a directory
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/flatten-option.test.js:53:5)
> 
>   ● flatten option › should flatten a directory's files to a root directory when "from" is a glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/flatten-option.test.js:73:5)
> 
>   ● flatten option › should flatten a directory's files to a new directory when "from" is a glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/flatten-option.test.js:91:5)
> 
>   ● flatten option › should flatten files in a relative context to a root directory when "from" is a glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/flatten-option.test.js:110:5)
> 
>   ● flatten option › should flatten files in a relative context to a non-root directory when "from" is a glob
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/flatten-option.test.js:129:5)
> 
> FAIL test/test-option.test.js
>   ● test option › should move files to a root directory with [1]
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/test-option.test.js:7:5)
> 
>   ● test option › should move files to a non-root directory with [1]
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/test-option.test.js:22:5)
> 
>   ● test option › should move files and flatten them to a non-root directory with [1]-[2].[ext]
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/test-option.test.js:37:5)
> 
>   ● test option › should move files and flatten them to a root directory with [1]-[2].[ext]
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/test-option.test.js:56:5)
> 
> FAIL test/globOptions-option.test.js
>   ● from option › should move files exclude dot files
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/globOptions-option.test.js:5:5)
> 
>   ● from option › should move files include dot files
> 
>     TypeError: (0 , _schemaUtils.default) is not a function
> 
>       11 | class CopyPlugin {
>       12 |   constructor(patterns = [], options = {}) {
>     > 13 |     validateOptions(schema, patterns, this.constructor.name);
>          |     ^
>       14 | 
>       15 |     this.patterns = patterns;
>       16 |     this.options = options;
> 
>       at new CopyPlugin (src/index.js:13:5)
>       at test/helpers/run.js:45:5
>       at run (test/helpers/run.js:11:10)
>       at runEmit (test/helpers/run.js:101:10)
>       at Object.<anonymous> (test/globOptions-option.test.js:21:5)
> 
> PASS test/cjs.test.js
> 
> Test Suites: 10 failed, 1 passed, 11 total
> Tests:       123 failed, 1 passed, 124 total
> Snapshots:   0 total
> Time:        9.114 s
> Ran all test suites.
> dh_auto_test: error: /bin/sh -ex debian/tests/pkg-js/test returned exit code 1


The full build log is available from:
http://qa-logs.debian.net/2021/10/23/node-copy-webpack-plugin_5.1.2+~cs9.0.2-4_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.



More information about the Pkg-javascript-devel mailing list