Vandré Sandes
Vandré Sandes

Reputation: 21

Failed "tns run android –bundle" Invalid options object

My application runs fine when I run using ng serve but when i use tns run android --bundle or tns run android then it gives me following exception.

Searching for devices...
Preparing project...
Invalid options object. Copy Plugin has been initialized using an options object that does not match the API schema.
 - options[0] misses the property 'patterns'. Should be:
   [non-empty string | object { from, to?, context?, globOptions?, toType?, force?, flatten?, transform?, cacheTransform?, transformPath?, noErrorOnMissing? }, ...] (should not have fewer than 1 item)
 - options[1] misses the property 'patterns'. Should be:
   [non-empty string | object { from, to?, context?, globOptions?, toType?, force?, flatten?, transform?, cacheTransform?, transformPath?, noErrorOnMissing? }, ...] (should not have fewer than 1 item)
 - options[2] misses the property 'patterns'. Should be:
   [non-empty string | object { from, to?, context?, globOptions?, toType?, force?, flatten?, transform?, cacheTransform?, transformPath?, noErrorOnMissing? }, ...] (should not have fewer than 1 item)
ValidationError: Invalid options object. Copy Plugin has been initialized using an options object that does not match the API schema.
    at validate (C:\Ambiente PGE\workspace\ui\app-mobile\node_modules\schema-utils\dist\validate.js:96:11)
    at new CopyPlugin (C:\Ambiente PGE\workspace\ui\app-mobile\node_modules\copy-webpack-plugin\dist\index.js:24:30)
    at module.exports (C:\Ambiente PGE\workspace\ui\app-mobile\webpack.config.js:304:13)
    at handleFunction (C:\Ambiente PGE\workspace\ui\app-mobile\node_modules\webpack-cli\bin\prepareOptions.js:23:13)
    at prepareOptions (C:\Ambiente PGE\workspace\ui\app-mobile\node_modules\webpack-cli\bin\prepareOptions.js:9:5)
    at requireConfig (C:\Ambiente PGE\workspace\ui\app-mobile\node_modules\webpack-cli\bin\convert-argv.js:136:14)
    at C:\Ambiente PGE\workspace\ui\app-mobile\node_modules\webpack-cli\bin\convert-argv.js:142:17
    at Array.forEach (<anonymous>)
    at module.exports (C:\Ambiente PGE\workspace\ui\app-mobile\node_modules\webpack-cli\bin\convert-argv.js:140:15)
    at C:\Ambiente PGE\workspace\ui\app-mobile\node_modules\webpack-cli\bin\cli.js:241:39
    at Object.parse (C:\Ambiente PGE\workspace\ui\app-mobile\node_modules\webpack-cli\node_modules\yargs\yargs.js:567:18)
    at C:\Ambiente PGE\workspace\ui\app-mobile\node_modules\webpack-cli\bin\cli.js:219:8
    at Object.<anonymous> (C:\Ambiente PGE\workspace\ui\app-mobile\node_modules\webpack-cli\bin\cli.js:538:3)
    at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
    at Module.require (internal/modules/cjs/loader.js:1026:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (C:\Ambiente PGE\workspace\ui\app-mobile\node_modules\webpack\bin\webpack.js:156:2)
    at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47
Executing webpack failed with exit code 1.

I created the project as follows:

ng new my-mobile
ng add @nativescript/schematics

I have already updated cli, npm and nativescript to the latest version

Upvotes: 2

Views: 413

Answers (1)

Medhat Mahmoud
Medhat Mahmoud

Reputation: 552

The same happened to me and When I try to edit webpack.config.js it works for me just replace the lines

    new CopyWebpackPlugin([
            { from: { glob: "fonts/**" } },
            { from: { glob: "**/*.jpg" } },
            { from: { glob: "**/*.png" } },
        ], { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }),

to be

  new CopyWebpackPlugin({
                patterns: [
                  { from: "fonts/**", globOptions: { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] } },
                  { from: "**/*.{jpg,png}", globOptions: { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] } },
                ]
              }, { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }),

and do not forget to add fonts folder if you do not have one

Upvotes: 2

Related Questions