ionic-team / ionic-app-scripts

App Build Scripts for Ionic Projects
http://ionicframework.com/
MIT License
608 stars 302 forks source link

"ionic run android --prod" fails with "Error: [object Object]" when "ionic_source_map_type" is set to "eval" #853

Open realfreebird opened 7 years ago

realfreebird commented 7 years ago

Note: for support questions, please use one of these channels:

https://forum.ionicframework.com/ http://ionicworldwide.herokuapp.com/

Short description of the problem:

"ionic run android --prod" fails with "Error: [object Object]" when "ionic_source_map_type" is set to "eval"

What behavior are you expecting?

Steps to reproduce:

  1. git clone https://github.com/realfreebird/ionic-hello-world-prod-ionic_source_map_type-eval-fail.git
  2. npm i
  3. add to package.json "config": { "ionic_source_map_type": "eval" },
  4. ionic serve
  5. ionic platform add android
  6. ionic run android --prod
    "config": {
      "ionic_source_map_type": "eval"
    },

Which @ionic/app-scripts version are you using? ordova CLI: 6.5.0 Ionic Framework Version: 2.3.0 Ionic CLI Version: 2.2.1 Ionic App Lib Version: 2.2.0 Ionic App Scripts Version: 1.2.2 ios-deploy version: Not installed ios-sim version: Not installed OS: Windows 7 Node Version: v6.10.1 Xcode version: Not installed

Other information:

d:\tmp\ionic-hello-world-prod-ionic_source_map_type-eval-fail>ionic run android --prod

ionic-hello-world@ ionic:build d:\tmp\ionic-hello-world-prod-ionic_source_map_type-eval-fail ionic-app-scripts build "--prod"

[11:46:51] ionic-app-scripts 1.2.2 [11:46:51] build prod started ... [11:46:51] clean started ... [11:46:51] clean finished in 7 ms [11:46:51] copy started ... [11:46:51] ngc started ... [11:46:59] ngc finished in 8.44 s [11:46:59] preprocess started ... [11:46:59] deeplinks started ... [11:46:59] deeplinks finished in 66 ms [11:46:59] optimization started ... [11:46:59] optimization finished in 5 ms [11:46:59] preprocess finished in 72 ms [11:46:59] webpack started ... [11:47:00] copy finished in 8.69 s [11:47:07] webpack finished in 7.09 s [11:47:07] sass started ... [11:47:07] transpile bundle started ... [11:47:07] transpile bundle finished in 895 ms [11:47:07] uglifyjs started ... [11:47:08] sass finished in 1.65 s [11:47:08] cleancss started ... [11:47:09] ionic-app-script task: "build" [11:47:09] Error: [object Object] Error: [object Object] at BuildError.Error (native) at new BuildError (d:\tmp\ionic-hello-world-prod-ionic_source_map_type-eval-fail\node_modules\@ionic\app-scripts\dist\util\errors.js:16:28) at ChildProcess. (d:\tmp\ionic-hello-world-prod-ionic_source_map_type-eval-fail\node_modules\@ionic\app-scripts\dist\worker-client.js:38:24 ) at emitTwo (events.js:106:13) at ChildProcess.emit (events.js:191:7) at process.nextTick (internal/child_process.js:753:12) at _combinedTickCallback (internal/process/next_tick.js:73:7) at process._tickCallback (internal/process/next_tick.js:104:9) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! ionic-hello-world@ ionic:build: ionic-app-scripts build "--prod" npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the ionic-hello-world@ ionic:build script 'ionic-app-scripts build "--prod"'. npm ERR! Make sure you have the latest version of node.js and npm installed. npm ERR! If you do, this is most likely a problem with the ionic-hello-world package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! ionic-app-scripts build "--prod" npm ERR! You can get information on how to open an issue for this project with: npm ERR! npm bugs ionic-hello-world npm ERR! Or if that isn't available, you can get their info via: npm ERR! npm owner ls ionic-hello-world npm ERR! There is likely additional logging output above.

npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\me\AppData\Roaming\npm-cache_logs\2017-03-28T08_47_09_301Z-debug.log

C:\Users\me\AppData\Roaming\npm-cache_logs\2017-03-28T08_47_09_301Z-debug.log

0 info it worked if it ends with ok 1 verbose cli [ 'C:\Program Files\nodejs\node.exe', 1 verbose cli 'C:\Users\me\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js', 1 verbose cli 'run', 1 verbose cli 'ionic:build', 1 verbose cli '--', 1 verbose cli '--prod' ] 2 info using npm@4.4.4 3 info using node@v6.10.1 4 verbose run-script [ 'preionic:build', 'ionic:build', 'postionic:build' ] 5 info lifecycle ionic-hello-world@~preionic:build: ionic-hello-world@ 6 silly lifecycle ionic-hello-world@~preionic:build: no script for preionic:build, continuing 7 info lifecycle ionic-hello-world@~ionic:build: ionic-hello-world@ 8 verbose lifecycle ionic-hello-world@~ionic:build: unsafe-perm in lifecycle true 9 verbose lifecycle ionic-hello-world@~ionic:build: PATH: C:\Users\me\AppData\Roaming\npm\node_modules\npm\bin\node-gyp-bin;d:\tmp\ionic-hello-world-prod-ionic_source_map_type-eval-fail\node_modules.bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\DMIX;C:\M2K;C:\Program Files (x86)\cvsnt;C:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program Files (x86)\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\;c:\util;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\TortoiseGit\bin;C:\Program Files\cURL\bin;C:\Users\me.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\;C:\Program Files (x86)\Brackets\command;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Git\cmd;%ANT_HOME%\bin;C:\Program Files (x86)\Git\cmd;C:\Program Files (x86)\GitExtensions\;C:\Program Files\nodejs\;C:\Windows\system32;C:\Program Files (x86)\Microsoft VS Code\bin;C:\Users\me\AppData\Local\atom\bin;C:\Users\me\AppData\Roaming\npm 10 verbose lifecycle ionic-hello-world@~ionic:build: CWD: d:\tmp\ionic-hello-world-prod-ionic_source_map_type-eval-fail 11 silly lifecycle ionic-hello-world@~ionic:build: Args: [ '/d /s /c', 'ionic-app-scripts build "--prod"' ] 12 silly lifecycle ionic-hello-world@~ionic:build: Returned: code: 1 signal: null 13 info lifecycle ionic-hello-world@~ionic:build: Failed to exec ionic:build script 14 verbose stack Error: ionic-hello-world@ ionic:build: ionic-app-scripts build "--prod" 14 verbose stack Exit status 1 14 verbose stack at EventEmitter. (C:\Users\me\AppData\Roaming\npm\node_modules\npm\lib\utils\lifecycle.js:279:16) 14 verbose stack at emitTwo (events.js:106:13) 14 verbose stack at EventEmitter.emit (events.js:191:7) 14 verbose stack at ChildProcess. (C:\Users\me\AppData\Roaming\npm\node_modules\npm\lib\utils\spawn.js:40:14) 14 verbose stack at emitTwo (events.js:106:13) 14 verbose stack at ChildProcess.emit (events.js:191:7) 14 verbose stack at maybeClose (internal/child_process.js:886:16) 14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5) 15 verbose pkgid ionic-hello-world@ 16 verbose cwd d:\tmp\ionic-hello-world-prod-ionic_source_map_type-eval-fail 17 verbose Windows_NT 6.1.7601 18 verbose argv "C:\Program Files\nodejs\node.exe" "C:\Users\me\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js" "run" "ionic:build" "--" "--prod" 19 verbose node v6.10.1 20 verbose npm v4.4.4 21 error code ELIFECYCLE 22 error errno 1 23 error ionic-hello-world@ ionic:build: ionic-app-scripts build "--prod" 23 error Exit status 1 24 error Failed at the ionic-hello-world@ ionic:build script 'ionic-app-scripts build "--prod"'. 24 error Make sure you have the latest version of node.js and npm installed. 24 error If you do, this is most likely a problem with the ionic-hello-world package, 24 error not with npm itself. 24 error Tell the author that this fails on your system: 24 error ionic-app-scripts build "--prod" 24 error You can get information on how to open an issue for this project with: 24 error npm bugs ionic-hello-world 24 error Or if that isn't available, you can get their info via: 24 error npm owner ls ionic-hello-world 24 error There is likely additional logging output above. 25 verbose exit [ 1, true ]

SkogDev commented 7 years ago

+1

grapemix commented 7 years ago

I got the same error w/ version 1.2.5

But my package.json is like this:

"config": { "ionic_rollup": "./config/rollup.config.js", "ionic_generate_source_map": true, "ionic_bundler": "rollup" },

kleeb commented 7 years ago

the same for me on rollup using version 1.2.5, ionic 3.0_beta3, TS 2.2.2

[ DEBUG! ]  worker resolve, taskModule: cleancss, pid: 36407  MEM: 100.7MB 
[14:47:28]  cleancss finished in 1.81 s MEM: 2650.9MB 
[ DEBUG! ]  worker exited, taskModule: cleancss, pid: 36407  MEM: 2651.0MB 
WARN: Output exceeds 32000 characters
[14:47:52]  ionic-app-script task: "build"  MEM: 2108.0MB
[14:47:52]  Error: [object Object]  MEM: 2108.0MB
Error: [object Object]
    at new BuildError (/Users/kleeb/workspace/ionic/node_modules/@ionic/app-scripts/dist/util/errors.js:16:28)
    at ChildProcess.<anonymous> (/Users/kleeb/workspace/ionic/node_modules/@ionic/app-scripts/dist/worker-client.js:38:24)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at process.nextTick (internal/child_process.js:744:12)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)

I JSON.stringified the object, as I guess everyone has slightly different problem there, which always ends up with [object Object] and received:

{"taskModule":"uglifyjs","taskWorker":"uglifyjsWorker","reject":{"message":"ENOENT: no such file or directory, open 'www/build/raven.min.js.map'","name":"Error","stack":"Error: ENOENT: no such file or directory, open 'www/build/raven.min.js.map'\n    at new BuildError (node_modules/@ionic/app-scripts/dist/util/errors.js:16:28)\n    at taskReject (node_modules/@ionic/app-scripts/dist/worker-process.js:36:22)\n    at node_modules/@ionic/app-scripts/dist/worker-process.js:14:13\n    at process._tickCallback (internal/process/next_tick.js:103:7)","hasBeenLogged":false,"isFatal":false},"pid":37891}

which clearly says that I am missing sourcemap for some external js library that we are using adding sourcemap to copy scripts solved the problem

danbucholtz commented 7 years ago

@kleeb,

Can you give me steps to reproduce?

Thanks, Dan

kleeb commented 7 years ago

Yes. Add some external js library (like for instance https://www.npmjs.com/package/raven-js) and add it to copy.config.js in module.exports

  copyRaven: {
    src: ['{{ROOT}}/node_modules/raven-js/dist/raven.min.js'],
    dest: '{{BUILD}}'
  }

not sure if this is enough. If not add it to index.html and add declare var Raven somewhere in the code (like app.component.ts)

danbucholtz commented 7 years ago

Okay, thanks, we'll fix it.

Thanks, Dan

whitecat commented 6 years ago

I am still facing this issue when compiling code with ionic 3.