electron-userland / electron-builder

A complete solution to package and build a ready for distribution Electron app with “auto update” support out of the box
https://www.electron.build
MIT License
13.6k stars 1.73k forks source link

electron module being copied in install-app-deps, and bundled into app.asar #2053

Closed TimNZ closed 7 years ago

TimNZ commented 7 years ago

v19.27.7

Using 2 package.json structure -> main dir -> main/app dir

This is the first time I've purged my app/node_modules in a quite a while and done a fresh install-app-deps.

The 'electron' dir/module is being copied into app/node_modules And it is bundled into app.asar when I build the dir/installers.

main/package.json has electron as a devDependency app/package.json does not have electron as any dependency.

What should I do to debug this?

develar commented 7 years ago

Please do npm ls --production

TimNZ commented 7 years ago

Which dir?

TimNZ commented 7 years ago

I presume main?

develar commented 7 years ago

in the main/app

develar commented 7 years ago

And please set env DEBUG=electron-builder and attach log of the terminal output.

TimNZ commented 7 years ago

I did just add my own fork of NightmareJS as a dependency, the fork changed electron to be an optionalDependency.

Removing this results in 'electron' no longer being copied across in install-app-deps

This is in both package.json as a dependency:

        "nightmare": "timnz/nightmare#in-process",

Output coming...

TimNZ commented 7 years ago

├── appdirectory@0.1.0 ├─┬ babel-core@6.26.0 │ ├─┬ babel-code-frame@6.26.0 │ │ ├── esutils@2.0.2 │ │ └── js-tokens@3.0.2 │ ├─┬ babel-generator@6.26.0 │ │ ├─┬ detect-indent@4.0.0 │ │ │ └─┬ repeating@2.0.1 │ │ │ └── is-finite@1.0.2 │ │ ├── jsesc@1.3.0 │ │ └── trim-right@1.0.1 │ ├── babel-helpers@6.24.1 │ ├── babel-messages@6.23.0 │ ├─┬ babel-runtime@6.26.0 │ │ └── regenerator-runtime@0.11.0 │ ├── babel-template@6.26.0 │ ├─┬ babel-traverse@6.26.0 │ │ └── globals@9.18.0 │ ├─┬ babel-types@6.26.0 │ │ └── to-fast-properties@1.0.3 │ ├── babylon@6.18.0 │ ├── convert-source-map@1.5.0 │ ├─┬ debug@2.6.8 │ │ └── ms@2.0.0 │ ├── json5@0.5.1 │ ├─┬ minimatch@3.0.4 │ │ └─┬ brace-expansion@1.1.8 │ │ ├── balanced-match@1.0.0 │ │ └── concat-map@0.0.1 │ ├── path-is-absolute@1.0.1 │ ├── private@0.1.7 │ ├── slash@1.0.0 │ └── source-map@0.5.6 ├── babel-eslint@7.2.3 ├─┬ babel-loader@6.4.1 │ ├─┬ find-cache-dir@0.1.1 │ │ ├── commondir@1.0.1 │ │ └─┬ pkg-dir@1.0.0 │ │ └─┬ find-up@1.1.2 │ │ ├── path-exists@2.1.0 │ │ └─┬ pinkie-promise@2.0.1 │ │ └── pinkie@2.0.4 │ ├─┬ loader-utils@0.2.17 │ │ ├── big.js@3.1.3 │ │ └── emojis-list@2.1.0 │ ├─┬ mkdirp@0.5.1 │ │ └── minimist@0.0.8 │ └── object-assign@4.1.1 ├── babel-plugin-add-module-exports@0.2.1 ├── babel-plugin-dev-expression@0.2.1 ├─┬ babel-plugin-transform-react-jsx@6.24.1 │ ├── babel-helper-builder-react-jsx@6.26.0 │ └── babel-plugin-syntax-jsx@6.18.0 ├── babel-plugin-transform-remove-console@6.8.4 ├── babel-plugin-transform-remove-debugger@6.8.4 ├─┬ babel-plugin-webpack-loaders@0.9.0 │ ├── colors@1.1.2 │ ├─┬ enhanced-resolve@2.3.0 │ │ ├─┬ memory-fs@0.3.0 │ │ │ ├─┬ errno@0.1.4 │ │ │ │ └── prr@0.0.0 │ │ │ └─┬ readable-stream@2.3.3 │ │ │ ├── core-util-is@1.0.2 │ │ │ ├── isarray@1.0.0 │ │ │ ├── process-nextick-args@1.0.7 │ │ │ ├── string_decoder@1.0.3 │ │ │ └── util-deprecate@1.0.2 │ │ └── tapable@0.2.8 │ └── rimraf@2.6.1 ├─┬ babel-polyfill@6.26.0 │ ├── core-js@2.5.0 │ └── regenerator-runtime@0.10.5 ├─┬ babel-preset-es2015@6.24.1 │ ├── babel-plugin-check-es2015-constants@6.22.0 │ ├── babel-plugin-transform-es2015-arrow-functions@6.22.0 │ ├── babel-plugin-transform-es2015-block-scoped-functions@6.22.0 │ ├── babel-plugin-transform-es2015-block-scoping@6.26.0 │ ├─┬ babel-plugin-transform-es2015-classes@6.24.1 │ │ ├── babel-helper-define-map@6.26.0 │ │ ├── babel-helper-function-name@6.24.1 │ │ ├── babel-helper-optimise-call-expression@6.24.1 │ │ └── babel-helper-replace-supers@6.24.1 │ ├── babel-plugin-transform-es2015-computed-properties@6.24.1 │ ├── babel-plugin-transform-es2015-destructuring@6.23.0 │ ├── babel-plugin-transform-es2015-duplicate-keys@6.24.1 │ ├── babel-plugin-transform-es2015-for-of@6.23.0 │ ├── babel-plugin-transform-es2015-function-name@6.24.1 │ ├── babel-plugin-transform-es2015-literals@6.22.0 │ ├── babel-plugin-transform-es2015-modules-amd@6.24.1 │ ├─┬ babel-plugin-transform-es2015-modules-commonjs@6.26.0 │ │ └── babel-plugin-transform-strict-mode@6.24.1 │ ├─┬ babel-plugin-transform-es2015-modules-systemjs@6.24.1 │ │ └── babel-helper-hoist-variables@6.24.1 │ ├── babel-plugin-transform-es2015-modules-umd@6.24.1 │ ├── babel-plugin-transform-es2015-object-super@6.24.1 │ ├─┬ babel-plugin-transform-es2015-parameters@6.24.1 │ │ ├── babel-helper-call-delegate@6.24.1 │ │ └── babel-helper-get-function-arity@6.24.1 │ ├── babel-plugin-transform-es2015-shorthand-properties@6.24.1 │ ├── babel-plugin-transform-es2015-spread@6.22.0 │ ├─┬ babel-plugin-transform-es2015-sticky-regex@6.24.1 │ │ └── babel-helper-regex@6.26.0 │ ├── babel-plugin-transform-es2015-template-literals@6.22.0 │ ├── babel-plugin-transform-es2015-typeof-symbol@6.23.0 │ ├─┬ babel-plugin-transform-es2015-unicode-regex@6.24.1 │ │ └─┬ regexpu-core@2.0.0 │ │ ├── regenerate@1.3.2 │ │ ├── regjsgen@0.2.0 │ │ └─┬ regjsparser@0.1.5 │ │ └── jsesc@0.5.0 │ └─┬ babel-plugin-transform-regenerator@6.26.0 │ └── regenerator-transform@0.10.0 ├─┬ babel-preset-react@6.24.1 │ ├── babel-plugin-transform-react-display-name@6.25.0 │ ├── babel-plugin-transform-react-jsx-self@6.22.0 │ ├── babel-plugin-transform-react-jsx-source@6.22.0 │ └─┬ babel-preset-flow@6.23.0 │ └─┬ babel-plugin-transform-flow-strip-types@6.22.0 │ └── babel-plugin-syntax-flow@6.18.0 ├─┬ babel-preset-react-hmre@1.1.1 │ ├── babel-plugin-react-transform@2.0.2 │ ├── react-transform-catch-errors@1.0.2 │ ├─┬ react-transform-hmr@1.0.4 │ │ ├─┬ global@4.3.2 │ │ │ ├─┬ min-document@2.19.0 │ │ │ │ └── dom-walk@0.1.1 │ │ │ └── process@0.5.2 │ │ └─┬ react-proxy@1.1.8 │ │ └── react-deep-force-update@1.1.0 │ └─┬ redbox-react@1.5.0 │ ├─┬ error-stack-parser@1.3.6 │ │ └── stackframe@0.3.1 │ └── sourcemapped-stacktrace@1.1.7 ├─┬ babel-preset-react-optimize@1.0.1 │ ├── babel-plugin-transform-react-constant-elements@6.23.0 │ ├── babel-plugin-transform-react-inline-elements@6.22.0 │ ├─┬ babel-plugin-transform-react-pure-class-to-function@1.0.1 │ │ └── babel-helper-is-react-class@1.0.0 │ └── babel-plugin-transform-react-remove-prop-types@0.2.12 ├─┬ babel-preset-stage-0@6.24.1 │ ├─┬ babel-plugin-transform-do-expressions@6.22.0 │ │ └── babel-plugin-syntax-do-expressions@6.13.0 │ ├─┬ babel-plugin-transform-function-bind@6.22.0 │ │ └── babel-plugin-syntax-function-bind@6.13.0 │ └─┬ babel-preset-stage-1@6.24.1 │ ├─┬ babel-plugin-transform-class-constructor-call@6.24.1 │ │ └── babel-plugin-syntax-class-constructor-call@6.18.0 │ ├─┬ babel-plugin-transform-export-extensions@6.22.0 │ │ └── babel-plugin-syntax-export-extensions@6.13.0 │ └─┬ babel-preset-stage-2@6.24.1 │ ├── babel-plugin-syntax-dynamic-import@6.18.0 │ ├─┬ babel-plugin-transform-class-properties@6.24.1 │ │ └── babel-plugin-syntax-class-properties@6.13.0 │ ├─┬ babel-plugin-transform-decorators@6.24.1 │ │ ├─┬ babel-helper-explode-class@6.24.1 │ │ │ └── babel-helper-bindify-decorators@6.24.1 │ │ └── babel-plugin-syntax-decorators@6.13.0 │ └─┬ babel-preset-stage-3@6.24.1 │ ├── babel-plugin-syntax-trailing-function-commas@6.22.0 │ ├─┬ babel-plugin-transform-async-generator-functions@6.24.1 │ │ ├── babel-helper-remap-async-to-generator@6.24.1 │ │ └── babel-plugin-syntax-async-generators@6.13.0 │ ├─┬ babel-plugin-transform-async-to-generator@6.24.1 │ │ └── babel-plugin-syntax-async-functions@6.13.0 │ ├─┬ babel-plugin-transform-exponentiation-operator@6.24.1 │ │ ├─┬ babel-helper-builder-binary-assignment-operator-visitor@6.24.1 │ │ │ └── babel-helper-explode-assignable-expression@6.24.1 │ │ └── babel-plugin-syntax-exponentiation-operator@6.13.0 │ └─┬ babel-plugin-transform-object-rest-spread@6.26.0 │ └── babel-plugin-syntax-object-rest-spread@6.13.0 ├─┬ babel-register@6.26.0 │ └─┬ home-or-tmp@2.0.0 │ ├── os-homedir@1.0.2 │ └── os-tmpdir@1.0.2 ├── bluebird@3.5.0 ├── classnames@2.2.5 ├── co@4.6.0 ├─┬ css-modules-require-hook@4.0.6 │ ├── generic-names@1.0.2 │ ├── glob-to-regexp@0.1.0 │ ├── icss-replace-symbols@1.1.0 │ ├─┬ postcss-modules-extract-imports@1.1.0 │ │ └─┬ postcss@6.0.8 │ │ ├─┬ chalk@2.1.0 │ │ │ └─┬ ansi-styles@3.2.0 │ │ │ └─┬ color-convert@1.9.0 │ │ │ └── color-name@1.1.3 │ │ └─┬ supports-color@4.2.1 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-local-by-default@1.2.0 │ │ ├─┬ css-selector-tokenizer@0.7.0 │ │ │ ├── cssesc@0.1.0 │ │ │ ├── fastparse@1.1.1 │ │ │ └── regexpu-core@1.0.0 │ │ └─┬ postcss@6.0.8 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ └─┬ supports-color@4.2.1 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-parser@1.1.1 │ │ └─┬ lodash.foreach@3.0.3 │ │ ├── lodash._arrayeach@3.0.0 │ │ ├── lodash._baseeach@3.0.4 │ │ └── lodash._bindcallback@3.0.1 │ ├─┬ postcss-modules-scope@1.1.0 │ │ └─┬ postcss@6.0.8 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ └─┬ supports-color@4.2.1 │ │ └── has-flag@2.0.0 │ ├─┬ postcss-modules-values@1.3.0 │ │ └─┬ postcss@6.0.8 │ │ ├─┬ chalk@2.1.0 │ │ │ └── ansi-styles@3.2.0 │ │ └─┬ supports-color@4.2.1 │ │ └── has-flag@2.0.0 │ └── seekout@1.0.2 ├─┬ datauri@1.0.5 │ ├── image-size@0.3.5 │ └── mimer@0.2.1 ├─┬ electron-context-menu@0.9.1 │ └── electron-is-dev@0.1.2 ├─┬ electron-debug@1.4.0 │ ├── electron-is-dev@0.3.0 │ └─┬ electron-localshortcut@3.0.2 │ ├── electron-is-accelerator@0.1.2 │ ├── keyboardevent-from-electron-accelerator@0.7.1 │ └── keyboardevents-areequal@0.2.2 ├─┬ electron-dl@1.10.0 │ ├─┬ ext-name@5.0.0 │ │ ├─┬ ext-list@2.2.0 │ │ │ └─┬ got@2.9.2 │ │ │ ├─┬ duplexify@3.5.1 │ │ │ │ ├── end-of-stream@1.4.0 │ │ │ │ └── stream-shift@1.0.0 │ │ │ ├── infinity-agent@2.0.3 │ │ │ ├── is-stream@1.1.0 │ │ │ ├── lowercase-keys@1.0.0 │ │ │ ├── nested-error-stacks@1.0.2 │ │ │ ├── object-assign@2.1.1 │ │ │ ├── read-all-stream@2.2.0 │ │ │ ├── statuses@1.3.1 │ │ │ └── timed-out@2.0.0 │ │ └─┬ sort-keys-length@1.0.1 │ │ └── sort-keys@1.1.2 │ ├── pupa@1.0.0 │ └─┬ unused-filename@1.0.0 │ ├── modify-filename@1.1.0 │ └── path-exists@3.0.0 ├── electron-is-dev@0.2.0 ├─┬ electron-remote@0.6.2 │ ├── debug-electron@0.0.1 │ ├── node-uuid@1.4.8 │ ├── pify@2.3.0 │ ├── rx@4.1.0 │ ├── rx-dom@7.0.3 │ └── xmlhttprequest@1.8.0 ├─┬ electron-simple-updater@1.2.1 │ └── httpreq@0.4.24 ├─┬ electron-updater@2.8.5 │ ├── bluebird-lst@1.0.3 │ ├─┬ electron-builder-http@19.20.1 │ │ └── debug@3.0.1 │ ├── electron-is-dev@0.3.0 │ ├─┬ fs-extra-p@4.4.0 │ │ └── fs-extra@4.0.1 │ ├─┬ js-yaml@3.9.1 │ │ ├─┬ argparse@1.0.9 │ │ │ └── sprintf-js@1.0.3 │ │ └── esprima@4.0.0 │ ├── lazy-val@1.0.2 │ ├── lodash.isequal@4.5.0 │ ├─┬ uuid-1345@0.99.6 │ │ └── macaddress@0.2.8 │ └─┬ xelement@1.0.16 │ └── sax@1.2.4 ├── event-emitter-mixin@0.3.8 ├── eventemitter2@4.1.2 ├── external-require@1.0.3 ├── font-awesome@4.7.0 ├─┬ fs-extra@3.0.1 │ ├── graceful-fs@4.1.11 │ ├── jsonfile@3.0.1 │ └── universalify@0.1.1 ├─┬ glob@7.1.2 │ ├── fs.realpath@1.0.0 │ ├─┬ inflight@1.0.6 │ │ └── wrappy@1.0.2 │ ├── inherits@2.0.3 │ └── once@1.4.0 ├── immutable@3.8.1 ├── javascript-detect-element-resize@0.5.3 ├── jquery.fancytree@2.24.0 ├── lodash@4.17.4 ├─┬ micromatch@2.3.11 │ ├─┬ arr-diff@2.0.0 │ │ └── arr-flatten@1.1.0 │ ├── array-unique@0.2.1 │ ├─┬ braces@1.8.5 │ │ ├─┬ expand-range@1.8.2 │ │ │ └─┬ fill-range@2.2.3 │ │ │ ├── is-number@2.1.0 │ │ │ ├── isobject@2.1.0 │ │ │ ├─┬ randomatic@1.1.7 │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ └── kind-of@3.2.2 │ │ │ │ └── kind-of@4.0.0 │ │ │ └── repeat-string@1.6.1 │ │ ├── preserve@0.2.0 │ │ └── repeat-element@1.1.2 │ ├─┬ expand-brackets@0.1.5 │ │ └── is-posix-bracket@0.1.1 │ ├── extglob@0.3.2 │ ├── filename-regex@2.0.1 │ ├── is-extglob@1.0.0 │ ├── is-glob@2.0.1 │ ├─┬ kind-of@3.2.2 │ │ └── is-buffer@1.1.5 │ ├─┬ normalize-path@2.1.1 │ │ └── remove-trailing-separator@1.1.0 │ ├─┬ object.omit@2.0.1 │ │ ├─┬ for-own@0.1.5 │ │ │ └── for-in@1.0.2 │ │ └── is-extendable@0.1.1 │ ├─┬ parse-glob@3.0.4 │ │ ├── glob-base@0.3.0 │ │ └── is-dotfile@1.0.3 │ └─┬ regex-cache@0.4.3 │ ├── is-equal-shallow@0.1.3 │ └── is-primitive@2.0.0 ├─┬ mock-require@1.3.0 │ └── caller-id@0.1.0 ├─┬ nightmare@2.10.0 (git://github.com/timnz/nightmare.git#65d142b6c5a97133163eb0b13f2c078bf91e1f0d) │ ├─┬ deep-defaults@1.0.4 │ │ └── lodash@3.0.1 │ ├─┬ defaults@1.0.3 │ │ └── clone@1.0.2 │ ├── UNMET OPTIONAL DEPENDENCY electron@^1.7.7 │ ├─┬ enqueue@1.0.2 │ │ └── sliced@0.0.5 │ ├── function-source@0.1.0 │ ├── jsesc@0.5.0 │ ├─┬ minstache@1.2.0 │ │ └─┬ commander@1.0.4 │ │ └── keypress@0.1.0 │ ├── sliced@1.0.1 │ └─┬ split2@2.1.1 │ └─┬ through2@2.0.3 │ └── xtend@4.0.1 ├─┬ nunjucks@2.5.2 │ ├── asap@2.0.6 │ └─┬ chokidar@1.7.0 │ ├── anymatch@1.3.2 │ ├── async-each@1.0.1 │ ├─┬ fsevents@1.1.2 │ │ └─┬ node-pre-gyp@0.6.36 │ │ ├─┬ mkdirp@0.5.1 │ │ │ └── minimist@0.0.8 │ │ ├─┬ nopt@4.0.1 │ │ │ ├── abbrev@1.1.0 │ │ │ └─┬ osenv@0.1.4 │ │ │ ├── os-homedir@1.0.2 │ │ │ └── os-tmpdir@1.0.2 │ │ ├─┬ npmlog@4.1.0 │ │ │ ├─┬ are-we-there-yet@1.1.4 │ │ │ │ └── delegates@1.0.0 │ │ │ ├── console-control-strings@1.1.0 │ │ │ ├─┬ gauge@2.7.4 │ │ │ │ ├── aproba@1.1.1 │ │ │ │ ├── has-unicode@2.0.1 │ │ │ │ ├── object-assign@4.1.1 │ │ │ │ ├── signal-exit@3.0.2 │ │ │ │ ├─┬ string-width@1.0.2 │ │ │ │ │ ├── code-point-at@1.1.0 │ │ │ │ │ └─┬ is-fullwidth-code-point@1.0.0 │ │ │ │ │ └── number-is-nan@1.0.1 │ │ │ │ ├─┬ strip-ansi@3.0.1 │ │ │ │ │ └── ansi-regex@2.1.1 │ │ │ │ └── wide-align@1.1.2 │ │ │ └── set-blocking@2.0.0 │ │ ├─┬ rc@1.2.1 │ │ │ ├── deep-extend@0.4.2 │ │ │ ├── ini@1.3.4 │ │ │ ├── minimist@1.2.0 │ │ │ └── strip-json-comments@2.0.1 │ │ ├─┬ request@2.81.0 │ │ │ ├── aws-sign2@0.6.0 │ │ │ ├── aws4@1.6.0 │ │ │ ├── caseless@0.12.0 │ │ │ ├─┬ combined-stream@1.0.5 │ │ │ │ └── delayed-stream@1.0.0 │ │ │ ├── extend@3.0.1 │ │ │ ├── forever-agent@0.6.1 │ │ │ ├─┬ form-data@2.1.4 │ │ │ │ └── asynckit@0.4.0 │ │ │ ├─┬ har-validator@4.2.1 │ │ │ │ ├─┬ ajv@4.11.8 │ │ │ │ │ ├── co@4.6.0 │ │ │ │ │ └─┬ json-stable-stringify@1.0.1 │ │ │ │ │ └── jsonify@0.0.0 │ │ │ │ └── har-schema@1.0.5 │ │ │ ├─┬ hawk@3.1.3 │ │ │ │ ├── boom@2.10.1 │ │ │ │ ├── cryptiles@2.0.5 │ │ │ │ ├── hoek@2.16.3 │ │ │ │ └── sntp@1.0.9 │ │ │ ├─┬ http-signature@1.1.1 │ │ │ │ ├── assert-plus@0.2.0 │ │ │ │ ├─┬ jsprim@1.4.0 │ │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ │ ├── extsprintf@1.0.2 │ │ │ │ │ ├── json-schema@0.2.3 │ │ │ │ │ └── verror@1.3.6 │ │ │ │ └─┬ sshpk@1.13.0 │ │ │ │ ├── asn1@0.2.3 │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ ├── bcrypt-pbkdf@1.0.1 │ │ │ │ ├─┬ dashdash@1.14.1 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── ecc-jsbn@0.1.1 │ │ │ │ ├─┬ getpass@0.1.7 │ │ │ │ │ └── assert-plus@1.0.0 │ │ │ │ ├── jodid25519@1.0.2 │ │ │ │ ├── jsbn@0.1.1 │ │ │ │ └── tweetnacl@0.14.5 │ │ │ ├── is-typedarray@1.0.0 │ │ │ ├── isstream@0.1.2 │ │ │ ├── json-stringify-safe@5.0.1 │ │ │ ├─┬ mime-types@2.1.15 │ │ │ │ └── mime-db@1.27.0 │ │ │ ├── oauth-sign@0.8.2 │ │ │ ├── performance-now@0.2.0 │ │ │ ├── qs@6.4.0 │ │ │ ├── safe-buffer@5.0.1 │ │ │ ├── stringstream@0.0.5 │ │ │ ├─┬ tough-cookie@2.3.2 │ │ │ │ └── punycode@1.4.1 │ │ │ ├── tunnel-agent@0.6.0 │ │ │ └── uuid@3.0.1 │ │ ├─┬ rimraf@2.6.1 │ │ │ └─┬ glob@7.1.2 │ │ │ ├── fs.realpath@1.0.0 │ │ │ ├── inflight@1.0.6 │ │ │ ├─┬ minimatch@3.0.4 │ │ │ │ └─┬ brace-expansion@1.1.7 │ │ │ │ ├── balanced-match@0.4.2 │ │ │ │ └── concat-map@0.0.1 │ │ │ └── path-is-absolute@1.0.1 │ │ ├── semver@5.3.0 │ │ ├─┬ tar@2.2.1 │ │ │ ├── block-stream@0.0.9 │ │ │ ├─┬ fstream@1.0.11 │ │ │ │ └── graceful-fs@4.1.11 │ │ │ └── inherits@2.0.3 │ │ └─┬ tar-pack@3.4.0 │ │ ├─┬ debug@2.6.8 │ │ │ └── ms@2.0.0 │ │ ├── fstream-ignore@1.0.5 │ │ ├─┬ once@1.4.0 │ │ │ └── wrappy@1.0.2 │ │ ├─┬ readable-stream@2.2.9 │ │ │ ├── buffer-shims@1.0.0 │ │ │ ├── core-util-is@1.0.2 │ │ │ ├── isarray@1.0.0 │ │ │ ├── process-nextick-args@1.0.7 │ │ │ ├── string_decoder@1.0.1 │ │ │ └── util-deprecate@1.0.2 │ │ └── uid-number@0.0.6 │ ├── glob-parent@2.0.0 │ ├─┬ is-binary-path@1.0.1 │ │ └── binary-extensions@1.10.0 │ └─┬ readdirp@2.1.0 │ └── set-immediate-shim@1.0.1 ├─┬ postcss@5.2.17 │ ├─┬ chalk@1.1.3 │ │ ├── ansi-styles@2.2.1 │ │ ├── escape-string-regexp@1.0.5 │ │ ├─┬ has-ansi@2.0.0 │ │ │ └── ansi-regex@2.1.1 │ │ ├── strip-ansi@3.0.1 │ │ └── supports-color@2.0.0 │ ├── js-base64@2.1.9 │ └─┬ supports-color@3.2.3 │ └── has-flag@1.0.0 ├── prepend-http@1.0.4 ├─┬ rc-tree@1.7.1 │ ├── prop-types@15.5.10 │ ├─┬ rc-animate@2.4.0 │ │ └─┬ css-animation@1.3.2 │ │ └─┬ component-classes@1.2.6 │ │ └── component-indexof@0.0.3 │ ├─┬ rc-util@4.0.4 │ │ └── add-dom-event-listener@1.0.2 │ └── warning@3.0.0 ├─┬ react@15.6.1 │ ├── create-react-class@15.6.0 │ ├─┬ fbjs@0.8.14 │ │ ├── core-js@1.2.7 │ │ ├─┬ isomorphic-fetch@2.2.1 │ │ │ ├─┬ node-fetch@1.7.2 │ │ │ │ └─┬ encoding@0.1.12 │ │ │ │ └── iconv-lite@0.4.18 │ │ │ └── whatwg-fetch@2.0.3 │ │ ├── promise@7.3.1 │ │ └── ua-parser-js@0.7.14 │ └── loose-envify@1.3.1 ├── react-addons-shallow-compare@15.6.0 ├── react-addons-update@15.6.0 ├─┬ react-dnd@2.4.0 │ ├── disposables@1.0.1 │ ├─┬ dnd-core@2.4.0 │ │ └─┬ redux@3.7.1 │ │ ├── lodash-es@4.17.4 │ │ └── symbol-observable@1.0.4 │ ├── hoist-non-react-statics@1.2.0 │ └── invariant@2.2.2 ├── react-dom@15.6.1 ├── react-infinite-scroller@1.0.14 ├─┬ react-jsonschema-form@0.40.0 │ ├── jsonschema@1.1.1 │ └── setimmediate@1.0.5 ├─┬ react-notify-resize@2.0.4 │ └── react-class@3.2.2 ├─┬ react-passthrough@0.1.0 │ └─┬ except@0.1.3 │ └── indexof@0.0.1 ├─┬ react-router@2.8.1 │ └─┬ history@2.1.2 │ ├── deep-equal@1.0.1 │ ├─┬ query-string@3.0.3 │ │ └── strict-uri-encode@1.1.0 │ └── warning@2.1.0 ├─┬ react-select@1.0.0-rc.5 │ └── react-input-autosize@1.1.4 ├── react-sortable-hoc@0.6.7 ├─┬ react-sortable-tree@0.1.21 │ ├── react-dnd-html5-backend@2.4.1 │ ├─┬ react-dnd-scrollzone@4.0.0 │ │ ├── lodash.throttle@4.1.1 │ │ └── react-display-name@0.2.0 │ └── react-virtualized@9.9.0 ├─┬ react-split-container@1.2.6 │ ├─┬ drag-helper@1.3.6 │ │ ├── has-touch@1.0.1 │ │ └─┬ region-align@2.1.3 │ │ └─┬ region@2.1.2 │ │ ├── hasown@1.0.1 │ │ ├── newify@1.1.9 │ │ └── object-assign@2.1.1 │ ├─┬ raf@3.3.2 │ │ └── performance-now@2.1.0 │ ├── react-class@2.1.0 │ ├── react-event-names@1.0.0 │ ├─┬ react-flex@2.2.8 │ │ └── react-class@2.1.0 │ └── react-style-normalizer@1.2.8 ├─┬ react-transition-group@1.2.0 │ ├── chain-function@1.0.0 │ └── dom-helpers@3.2.1 ├── repl.history@0.1.4 ├─┬ request@2.81.0 │ ├── aws-sign2@0.6.0 │ ├── aws4@1.6.0 │ ├── caseless@0.12.0 │ ├─┬ combined-stream@1.0.5 │ │ └── delayed-stream@1.0.0 │ ├── extend@3.0.1 │ ├── forever-agent@0.6.1 │ ├─┬ form-data@2.1.4 │ │ └── asynckit@0.4.0 │ ├─┬ har-validator@4.2.1 │ │ ├─┬ ajv@4.11.8 │ │ │ └─┬ json-stable-stringify@1.0.1 │ │ │ └── jsonify@0.0.0 │ │ └── har-schema@1.0.5 │ ├─┬ hawk@3.1.3 │ │ ├── boom@2.10.1 │ │ ├── cryptiles@2.0.5 │ │ ├── hoek@2.16.3 │ │ └── sntp@1.0.9 │ ├─┬ http-signature@1.1.1 │ │ ├── assert-plus@0.2.0 │ │ ├─┬ jsprim@1.4.1 │ │ │ ├── assert-plus@1.0.0 │ │ │ ├── extsprintf@1.3.0 │ │ │ ├── json-schema@0.2.3 │ │ │ └─┬ verror@1.10.0 │ │ │ └── assert-plus@1.0.0 │ │ └─┬ sshpk@1.13.1 │ │ ├── asn1@0.2.3 │ │ ├── assert-plus@1.0.0 │ │ ├── bcrypt-pbkdf@1.0.1 │ │ ├─┬ dashdash@1.14.1 │ │ │ └── assert-plus@1.0.0 │ │ ├── ecc-jsbn@0.1.1 │ │ ├─┬ getpass@0.1.7 │ │ │ └── assert-plus@1.0.0 │ │ ├── jsbn@0.1.1 │ │ └── tweetnacl@0.14.5 │ ├── is-typedarray@1.0.0 │ ├── isstream@0.1.2 │ ├── json-stringify-safe@5.0.1 │ ├─┬ mime-types@2.1.16 │ │ └── mime-db@1.29.0 │ ├── oauth-sign@0.8.2 │ ├── performance-now@0.2.0 │ ├── qs@6.4.0 │ ├── safe-buffer@5.1.1 │ ├── stringstream@0.0.5 │ ├─┬ tough-cookie@2.3.2 │ │ └── punycode@1.4.1 │ └── tunnel-agent@0.6.0 ├─┬ semantic-ui-css@2.2.2 │ └── jquery@3.2.1 ├─┬ semantic-ui-react@0.72.0 │ └── debug@3.0.1 ├── semver@5.4.1 ├─┬ sequelize@3.30.4 │ ├── depd@1.1.1 │ ├── dottie@1.1.1 │ ├── generic-pool@2.4.2 │ ├── inflection@1.12.0 │ ├── lodash@4.12.0 │ ├── moment@2.18.1 │ ├── moment-timezone@0.5.13 │ ├── retry-as-promised@2.3.0 │ ├── shimmer@1.1.0 │ ├─┬ terraformer-wkt-parser@1.1.2 │ │ └─┬ terraformer@1.0.8 │ │ └── @types/geojson@1.0.2 │ ├── toposort-class@1.0.1 │ └── wkx@0.2.0 ├─┬ shallowequal@0.2.2 │ └─┬ lodash.keys@3.1.2 │ ├── lodash._getnative@3.9.1 │ ├── lodash.isarguments@3.1.0 │ └── lodash.isarray@3.0.4 ├─┬ sort-keys@2.0.0 │ └── is-plain-obj@1.1.0 ├── source-map-support@0.4.16 ├─┬ sqlite3@3.1.9 │ ├── nan@2.6.2 │ └─┬ node-pre-gyp@0.6.36 │ ├─┬ mkdirp@0.5.1 │ │ └── minimist@0.0.8 │ ├─┬ nopt@4.0.1 │ │ ├── abbrev@1.1.0 │ │ └─┬ osenv@0.1.4 │ │ ├── os-homedir@1.0.2 │ │ └── os-tmpdir@1.0.2 │ ├─┬ npmlog@4.1.2 │ │ ├─┬ are-we-there-yet@1.1.4 │ │ │ ├── delegates@1.0.0 │ │ │ └─┬ readable-stream@2.3.3 │ │ │ ├── core-util-is@1.0.2 │ │ │ ├── inherits@2.0.3 │ │ │ ├── isarray@1.0.0 │ │ │ ├── process-nextick-args@1.0.7 │ │ │ ├── safe-buffer@5.1.1 │ │ │ ├── string_decoder@1.0.3 │ │ │ └── util-deprecate@1.0.2 │ │ ├── console-control-strings@1.1.0 │ │ ├─┬ gauge@2.7.4 │ │ │ ├── aproba@1.1.2 │ │ │ ├── has-unicode@2.0.1 │ │ │ ├── object-assign@4.1.1 │ │ │ ├── signal-exit@3.0.2 │ │ │ ├─┬ string-width@1.0.2 │ │ │ │ ├── code-point-at@1.1.0 │ │ │ │ └─┬ is-fullwidth-code-point@1.0.0 │ │ │ │ └── number-is-nan@1.0.1 │ │ │ ├─┬ strip-ansi@3.0.1 │ │ │ │ └── ansi-regex@2.1.1 │ │ │ └── wide-align@1.1.2 │ │ └── set-blocking@2.0.0 │ ├─┬ rc@1.2.1 │ │ ├── deep-extend@0.4.2 │ │ ├── ini@1.3.4 │ │ ├── minimist@1.2.0 │ │ └── strip-json-comments@2.0.1 │ ├─┬ request@2.81.0 │ │ ├── aws-sign2@0.6.0 │ │ ├── aws4@1.6.0 │ │ ├── caseless@0.12.0 │ │ ├─┬ combined-stream@1.0.5 │ │ │ └── delayed-stream@1.0.0 │ │ ├── extend@3.0.1 │ │ ├── forever-agent@0.6.1 │ │ ├─┬ form-data@2.1.4 │ │ │ └── asynckit@0.4.0 │ │ ├─┬ har-validator@4.2.1 │ │ │ ├─┬ ajv@4.11.8 │ │ │ │ ├── co@4.6.0 │ │ │ │ └─┬ json-stable-stringify@1.0.1 │ │ │ │ └── jsonify@0.0.0 │ │ │ └── har-schema@1.0.5 │ │ ├─┬ hawk@3.1.3 │ │ │ ├── boom@2.10.1 │ │ │ ├── cryptiles@2.0.5 │ │ │ ├── hoek@2.16.3 │ │ │ └── sntp@1.0.9 │ │ ├─┬ http-signature@1.1.1 │ │ │ ├── assert-plus@0.2.0 │ │ │ ├─┬ jsprim@1.4.1 │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ ├── extsprintf@1.3.0 │ │ │ │ ├── json-schema@0.2.3 │ │ │ │ └─┬ verror@1.10.0 │ │ │ │ └── core-util-is@1.0.2 │ │ │ └─┬ sshpk@1.13.1 │ │ │ ├── asn1@0.2.3 │ │ │ ├── assert-plus@1.0.0 │ │ │ ├── bcrypt-pbkdf@1.0.1 │ │ │ ├── dashdash@1.14.1 │ │ │ ├── ecc-jsbn@0.1.1 │ │ │ ├── getpass@0.1.7 │ │ │ ├── jsbn@0.1.1 │ │ │ └── tweetnacl@0.14.5 │ │ ├── is-typedarray@1.0.0 │ │ ├── isstream@0.1.2 │ │ ├── json-stringify-safe@5.0.1 │ │ ├─┬ mime-types@2.1.16 │ │ │ └── mime-db@1.29.0 │ │ ├── oauth-sign@0.8.2 │ │ ├── performance-now@0.2.0 │ │ ├── qs@6.4.0 │ │ ├── safe-buffer@5.1.1 │ │ ├── stringstream@0.0.5 │ │ ├─┬ tough-cookie@2.3.2 │ │ │ └── punycode@1.4.1 │ │ ├── tunnel-agent@0.6.0 │ │ └── uuid@3.1.0 │ ├─┬ rimraf@2.6.1 │ │ └─┬ glob@7.1.2 │ │ ├── fs.realpath@1.0.0 │ │ ├─┬ inflight@1.0.6 │ │ │ └── wrappy@1.0.2 │ │ ├── inherits@2.0.3 │ │ ├─┬ minimatch@3.0.4 │ │ │ └─┬ brace-expansion@1.1.8 │ │ │ ├── balanced-match@1.0.0 │ │ │ └── concat-map@0.0.1 │ │ ├─┬ once@1.4.0 │ │ │ └── wrappy@1.0.2 │ │ └── path-is-absolute@1.0.1 │ ├── semver@5.4.1 │ ├─┬ tar@2.2.1 │ │ ├── block-stream@0.0.9 │ │ ├─┬ fstream@1.0.11 │ │ │ └── graceful-fs@4.1.11 │ │ └── inherits@2.0.3 │ └─┬ tar-pack@3.4.0 │ ├─┬ debug@2.6.8 │ │ └── ms@2.0.0 │ ├─┬ fstream@1.0.11 │ │ ├── graceful-fs@4.1.11 │ │ └── inherits@2.0.3 │ ├─┬ fstream-ignore@1.0.5 │ │ ├── inherits@2.0.3 │ │ └─┬ minimatch@3.0.4 │ │ └─┬ brace-expansion@1.1.8 │ │ ├── balanced-match@1.0.0 │ │ └── concat-map@0.0.1 │ ├─┬ once@1.4.0 │ │ └── wrappy@1.0.2 │ ├─┬ readable-stream@2.3.3 │ │ ├── core-util-is@1.0.2 │ │ ├── inherits@2.0.3 │ │ ├── isarray@1.0.0 │ │ ├── process-nextick-args@1.0.7 │ │ ├── safe-buffer@5.1.1 │ │ ├── string_decoder@1.0.3 │ │ └── util-deprecate@1.0.2 │ └── uid-number@0.0.6 ├── tablesort@5.0.1 ├── uuid@3.1.0 ├── validator@5.7.0 ├─┬ winston@2.2.0 │ ├── async@1.0.0 │ ├── colors@1.0.3 │ ├── cycle@1.0.3 │ ├── eyes@0.1.8 │ ├── pkginfo@0.3.1 │ └── stack-trace@0.0.10 └─┬ yargs@3.32.0 ├── camelcase@2.1.1 ├─┬ cliui@3.2.0 │ └── wrap-ansi@2.1.0 ├── decamelize@1.2.0 ├─┬ os-locale@1.4.0 │ └─┬ lcid@1.0.0 │ └── invert-kv@1.0.0 ├─┬ string-width@1.0.2 │ ├── code-point-at@1.1.0 │ └─┬ is-fullwidth-code-point@1.0.0 │ └── number-is-nan@1.0.1 ├── window-size@0.1.4 └── y18n@3.2.1

TimNZ commented 7 years ago

build --mac --dir

electron-builder 19.27.7 electron-builder Effective config: electron-builder appId: com.superworker.superworker electron-builder copyright: Copyright (C) 2017 SuperWorker electron-builder directories: electron-builder output: installers electron-builder publish: electron-builder - provider: generic electron-builder url: 'http://superworker.me/_app/updates' electron-builder nsis: electron-builder perMachine: true electron-builder oneClick: false electron-builder runAfterFinish: false electron-builder mac: electron-builder target: electron-builder - zip electron-builder - dmg electron-builder protocols: electron-builder - name: SuperWorker electron-builder schemes: electron-builder - superworker electron-builder extraMetadata: electron-builder babel: electron-builder presets: electron-builder - es2015 electron-builder - stage-0 electron-builder - react electron-builder plugins: electron-builder - add-module-exports electron-builder env: electron-builder production: electron-builder plugins: electron-builder - babel-plugin-transform-remove-debugger electron-builder - babel-plugin-dev-expression electron-builder - transform-react-jsx electron-builder +0ms electron-builder Two package.json structure is used (dev: /Users/timshnaider/Desktop/Development/superworker/desktop/package.json, app: /Users/timshnaider/Desktop/Development/superworker/desktop/app/package.json) +328ms Rebuilding native production dependencies for darwin:x64 electron-builder Spawning /Users/timshnaider/.nvm/versions/node/v6.2.0/bin/node /Users/timshnaider/.nvm/versions/node/v6.2.0/lib/node_modules/npm/bin/npm-cli.js rebuild fsevents@1.1.2 sqlite3@3.1.9 +3s electron-builder cwd: /Users/timshnaider/Desktop/Development/superworker/desktop/app +0ms

sqlite3@3.1.9 install /Users/timshnaider/Desktop/Development/superworker/desktop/app/node_modules/sqlite3 node-pre-gyp install --fallback-to-build

[sqlite3] Success: "/Users/timshnaider/Desktop/Development/superworker/desktop/app/node_modules/sqlite3/lib/binding/electron-v1.7-darwin-x64/node_sqlite3.node" already installed Pass --update-binary to reinstall or --build-from-source to recompile

fsevents@1.1.2 install /Users/timshnaider/Desktop/Development/superworker/desktop/app/node_modules/fsevents node install

[fsevents] Success: "/Users/timshnaider/Desktop/Development/superworker/desktop/app/node_modules/fsevents/lib/binding/Release/electron-v1.7-darwin-x64/fse.node" already installed Pass --update-binary to reinstall or --build-from-source to recompile sqlite3@3.1.9 /Users/timshnaider/Desktop/Development/superworker/desktop/app/node_modules/sqlite3 fsevents@1.1.2 /Users/timshnaider/Desktop/Development/superworker/desktop/app/node_modules/fsevents electron-builder node (38970) exited with exit code 0 +3s Packaging for darwin x64 using electron 1.7.7 to installers/mac electron-builder Spawning /Users/timshnaider/Desktop/Development/superworker/desktop/node_modules/7zip-bin-mac/7za x -bd -bb /Users/timshnaider/Library/Caches/electron/electron-v1.7.7-darwin-x64.zip -aoa -o/Users/timshnaider/Desktop/Development/superworker/desktop/installers/mac +592ms

7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,8 CPUs x64)

Scanning the drive for archives: 1 file, 48414618 bytes (47 MiB)

Extracting archive: /Users/timshnaider/Library/Caches/electron/electron-v1.7.7-darwin-x64.zip

Path = /Users/timshnaider/Library/Caches/electron/electron-v1.7.7-darwin-x64.zip Type = zip Physical Size = 48414618

Folders: 143 Files: 181 Size: 123415588 Compressed: 48414618 electron-builder 7za (38974) exited with exit code 0 +2s electron-builder Executing security find-identity -v +9s electron-builder Executing security find-identity -v -p codesigning +11ms electron-builder 1) 83F29CF2EA8A932E55B9D62709422FD5B8F1867A "Mac Developer: tim@xemware.com (7X6MU7TXG6)" electron-builder 1 valid identities found electron-builder +68ms electron-builder 1) 83F29CF2EA8A932E55B9D62709422FD5B8F1867A "Mac Developer: tim@xemware.com (7X6MU7TXG6)" electron-builder 2) 82A6FD0DB932743F1FB264BF73D3970A52632DA9 "com.apple.idms.appleid.prd.436e6b704f4c4b3453676748576d59756a2b4e6a4b773d3d" electron-builder 2 valid identities found electron-builder +20ms ⚠️ Mac Developer is used to sign app — it is only for development and testing, not for production

TimNZ commented 7 years ago

Given the output from build doesn't list any node_modules, is the issue install-app-deps which is where 'electron' should be excluded?

The generated app.asar has node_modules/electron

develar commented 7 years ago

nightmare must be in the devDependencies.

TimNZ commented 7 years ago

I use Nightmare in my app. It is a dependency. My fork enables using nightmare inside an existing Electron process.

develar commented 7 years ago

@TimNZ In this case could you please remove electron from optional dependencies of Nightmare in your fork?

TimNZ commented 7 years ago

Why would I do that to resolve an electron-builder issue?

TimNZ commented 7 years ago

Had another read of the NPM docs on optionalDependency.

Perhaps I need to further explore the electron dependency situation in my fork, but should electron-builder not always exclude 'electron'? I thought that was pretty much hardcoded?

develar commented 7 years ago

was pretty much hardcoded?

We try to avoid a lot of magic. But makes sense.

TimNZ commented 7 years ago

Ok thanks, no biggie.

npm uninstall electron does the job, not an op that will be happening often

develar commented 7 years ago

I don't want to hardcode exclusion of electron because often it indicates that your dependency tree is not correct. So, electron-builder should not to mask it. I believe that it is better for user in a long-term perspective.