apiaryio / Paw-APIBlueprintImporter

Paw extension to import API Blueprint
https://paw.cloud/extensions/APIBlueprintImporter
MIT License
8 stars 6 forks source link

npm install fails to find protagonist #26

Open JonathanMontane opened 7 years ago

JonathanMontane commented 7 years ago

Installation setup:

Command run:

npm install

Outcome:

WARNING in ./~/drafter/lib/drafter.js
Module not found: Error: Can't resolve 'protagonist' in '[...]/Paw-APIBlueprintImporter/node_modules/drafter/lib'
 @ ./~/drafter/lib/drafter.js 2:20-42
 @ ./~/fury-adapter-apib-parser/lib/adapter.js
 @ ./src/APIBlueprintImporter.js
 @ multi ./src/APIBlueprintImporter.js
Click here to see the full log
> fsevents@1.1.1 install /Users/jonmontane/work/extensions/importers/Paw-APIBlueprintImporter/node_modules/fsevents
> node install

[fsevents] Success: "/Users/jonmontane/work/extensions/importers/Paw-APIBlueprintImporter/node_modules/fsevents/lib/binding/Release/node-v47-darwin-x64/fse.node" already installed
Pass --update-binary to reinstall or --build-from-source to recompile

> protagonist@1.6.7 install /Users/jonmontane/work/extensions/importers/Paw-APIBlueprintImporter/node_modules/protagonist
> node-gyp rebuild

  CXX(target) Release/obj.target/libmarkdownparser/drafter/ext/snowcrash/ext/markdown-parser/src/ByteBuffer.o
  CXX(target) Release/obj.target/libmarkdownparser/drafter/ext/snowcrash/ext/markdown-parser/src/MarkdownNode.o
  CXX(target) Release/obj.target/libmarkdownparser/drafter/ext/snowcrash/ext/markdown-parser/src/MarkdownParser.o
  LIBTOOL-STATIC Release/markdownparser.a
  CXX(target) Release/obj.target/libsnowcrash/drafter/ext/snowcrash/src/HTTP.o
  CXX(target) Release/obj.target/libsnowcrash/drafter/ext/snowcrash/src/MSON.o
  CXX(target) Release/obj.target/libsnowcrash/drafter/ext/snowcrash/src/MSONOneOfParser.o
  CXX(target) Release/obj.target/libsnowcrash/drafter/ext/snowcrash/src/MSONSourcemap.o
  CXX(target) Release/obj.target/libsnowcrash/drafter/ext/snowcrash/src/MSONTypeSectionParser.o
  CXX(target) Release/obj.target/libsnowcrash/drafter/ext/snowcrash/src/MSONValueMemberParser.o
  CXX(target) Release/obj.target/libsnowcrash/drafter/ext/snowcrash/src/Blueprint.o
  CXX(target) Release/obj.target/libsnowcrash/drafter/ext/snowcrash/src/BlueprintSourcemap.o
  CXX(target) Release/obj.target/libsnowcrash/drafter/ext/snowcrash/src/Section.o
  CXX(target) Release/obj.target/libsnowcrash/drafter/ext/snowcrash/src/Signature.o
  CXX(target) Release/obj.target/libsnowcrash/drafter/ext/snowcrash/src/snowcrash.o
  CXX(target) Release/obj.target/libsnowcrash/drafter/ext/snowcrash/src/UriTemplateParser.o
  CXX(target) Release/obj.target/libsnowcrash/drafter/ext/snowcrash/src/HeadersParser.o
  CXX(target) Release/obj.target/libsnowcrash/drafter/ext/snowcrash/src/posix/RegexMatch.o
  LIBTOOL-STATIC Release/snowcrash.a
  CC(target) Release/obj.target/libsundown/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/autolink.o
  CC(target) Release/obj.target/libsundown/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/buffer.o
  CC(target) Release/obj.target/libsundown/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/markdown.o
  CC(target) Release/obj.target/libsundown/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/src_map.o
  CC(target) Release/obj.target/libsundown/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/stack.o
  CC(target) Release/obj.target/libsundown/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_href_e.o
  CC(target) Release/obj.target/libsundown/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_html_e.o
  CC(target) Release/obj.target/libsundown/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html.o
  CC(target) Release/obj.target/libsundown/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html_smartypants.o
  LIBTOOL-STATIC Release/sundown.a
  CXX(target) Release/obj.target/libdrafter/drafter/src/drafter.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/drafter_private.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/Serialize.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/SerializeAST.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/SerializeSourcemap.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/SerializeResult.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/RefractAPI.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/RefractDataStructure.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/RefractSourceMap.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/Render.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/NamedTypesRegistry.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/RefractElementFactory.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/ConversionContext.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/refract/Element.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/refract/VisitorUtils.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/refract/SerializeCompactVisitor.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/refract/SerializeVisitor.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/refract/ComparableVisitor.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/refract/TypeQueryVisitor.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/refract/IsExpandableVisitor.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/refract/ExpandVisitor.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/refract/RenderJSONVisitor.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/refract/PrintVisitor.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/refract/JSONSchemaVisitor.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/refract/Registry.o
  CXX(target) Release/obj.target/libdrafter/drafter/src/refract/Query.o
  LIBTOOL-STATIC Release/drafter.a
  CXX(target) Release/obj.target/libsos/drafter/ext/sos/src/sos.o
  LIBTOOL-STATIC Release/sos.a
  CXX(target) Release/obj.target/protagonist/src/annotation.o
  CXX(target) Release/obj.target/protagonist/src/options_parser.o
  CXX(target) Release/obj.target/protagonist/src/parse_async.o
../src/parse_async.cc:133:15: warning: 'FatalException' is deprecated: Use FatalException(isolate, ...) [-Wdeprecated-declarations]
        node::FatalException(try_catch);
              ^
/Users/jonmontane/.node-gyp/5.3.0/include/node/node.h:283:29: note: 'FatalException' has been explicitly marked deprecated here
                inline void FatalException(const v8::TryCatch& try_catch) {
                            ^
1 warning generated.
  CXX(target) Release/obj.target/protagonist/src/parse_sync.o
  CXX(target) Release/obj.target/protagonist/src/protagonist.o
  CXX(target) Release/obj.target/protagonist/src/result.o
  CXX(target) Release/obj.target/protagonist/src/v8_wrapper.o
  CXX(target) Release/obj.target/protagonist/src/validate.o
  CXX(target) Release/obj.target/protagonist/src/validate_async.o
../src/validate_async.cc:126:15: warning: 'FatalException' is deprecated: Use FatalException(isolate, ...) [-Wdeprecated-declarations]
        node::FatalException(try_catch);
              ^
/Users/jonmontane/.node-gyp/5.3.0/include/node/node.h:283:29: note: 'FatalException' has been explicitly marked deprecated here
                inline void FatalException(const v8::TryCatch& try_catch) {
                            ^
1 warning generated.
  CXX(target) Release/obj.target/protagonist/src/validate_sync.o
  SOLINK_MODULE(target) Release/protagonist.node

> Paw-APIBlueprintImporter@2.0.0 install /Users/jonmontane/work/extensions/importers/Paw-APIBlueprintImporter
> cake install

Hash: e6e6797a820cf81555f0
Version: webpack 2.2.0
Time: 1280ms
                  Asset     Size  Chunks                    Chunk Names
APIBlueprintImporter.js  2.26 MB       0  [emitted]  [big]  main
  [23] ./\~/babel-runtime/core-js/get-iterator.js 93 bytes {0} [built]
  [24] ./\~/babel-runtime/helpers/classCallCheck.js 208 bytes {0} [built]
  [25] ./\~/babel-runtime/helpers/createClass.js 904 bytes {0} [built]
  [36] ./\~/drafter.js/lib/drafter.nomem.js 1.57 MB {0} [built]
  [46] ./src/APIBlueprintImporter.js 3.51 kB {0} [built]
  [47] ./src/APIElementImporter.js 8.94 kB {0} [built]
  [79] ./\~/deckardcain/lib/deckardcain.js 2.9 kB {0} [built]
  [81] ./\~/fury-adapter-apib-parser/lib/adapter.js 1.54 kB {0} [built]
  [82] ./\~/fury-adapter-apib-parser/\~/babel-runtime/helpers/interop-require-default.js 148 bytes {0} [built]
  [83] ./\~/fury/lib/fury.js 5.73 kB {0} [built]
  [84] ./\~/fury/\~/babel-runtime/core-js/object/assign.js 94 bytes {0} [built]
  [86] ./\~/fury/\~/babel-runtime/helpers/class-call-check.js 211 bytes {0} [built]
  [87] ./\~/fury/\~/babel-runtime/helpers/create-class.js 770 bytes {0} [built]
 [167] ./\~/minim/lib/minim.js 261 bytes {0} [built]
 [178] multi ./src/APIBlueprintImporter.js 28 bytes {0} [built]
    + 164 hidden modules

WARNING in ./\~/drafter/lib/drafter.js
Module not found: Error: Can't resolve 'protagonist' in '/Users/jonmontane/work/extensions/importers/Paw-APIBlueprintImporter/node_modules/drafter/lib'
 @ ./\~/drafter/lib/drafter.js 2:20-42
 @ ./\~/fury-adapter-apib-parser/lib/adapter.js
 @ ./src/APIBlueprintImporter.js
 @ multi ./src/APIBlueprintImporter.js
Paw-APIBlueprintImporter@2.0.0 /Users/jonmontane/work/extensions/importers/Paw-APIBlueprintImporter
├─┬ babel-core@6.22.1
│ ├─┬ babel-code-frame@6.22.0
│ │ ├─┬ chalk@1.1.3
│ │ │ ├── ansi-styles@2.2.1
│ │ │ ├─┬ has-ansi@2.0.0
│ │ │ │ └── ansi-regex@2.1.1
│ │ │ ├── strip-ansi@3.0.1
│ │ │ └── supports-color@2.0.0
│ │ ├── esutils@2.0.2
│ │ └── js-tokens@3.0.0
│ ├─┬ babel-generator@6.22.0
│ │ ├─┬ detect-indent@4.0.0
│ │ │ └─┬ repeating@2.0.1
│ │ │   └── is-finite@1.0.2
│ │ └── jsesc@1.3.0
│ ├── babel-helpers@6.22.0
│ ├── babel-messages@6.22.0
│ ├─┬ babel-traverse@6.22.1
│ │ ├── globals@9.14.0
│ │ └─┬ invariant@2.2.2
│ │   └── loose-envify@1.3.1
│ ├─┬ babel-types@6.22.0
│ │ └── to-fast-properties@1.0.2
│ ├── babylon@6.15.0
│ ├── convert-source-map@1.3.0
│ ├─┬ debug@2.6.0
│ │ └── ms@0.7.2
│ ├── json5@0.5.1
│ ├── lodash@4.17.4
│ ├─┬ minimatch@3.0.3
│ │ └─┬ brace-expansion@1.1.6
│ │   ├── balanced-match@0.4.2
│ │   └── concat-map@0.0.1
│ ├── path-is-absolute@1.0.1
│ ├── private@0.1.6
│ ├── slash@1.0.0
│ └── source-map@0.5.6
├─┬ babel-loader@6.2.10
│ ├─┬ 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
│ └── object-assign@4.1.1
├─┬ babel-plugin-transform-decorators@6.22.0
│ └─┬ babel-helper-explode-class@6.22.0
│   └── babel-helper-bindify-decorators@6.22.0
├─┬ babel-plugin-transform-decorators-legacy@1.3.4
│ ├── babel-plugin-syntax-decorators@6.13.0
│ └── babel-template@6.22.0
├─┬ babel-plugin-transform-flow-strip-types@6.22.0
│ ├── babel-plugin-syntax-flow@6.18.0
│ └── babel-runtime@6.22.0
├── babel-plugin-transform-runtime@6.22.0
├─┬ babel-polyfill@6.22.0
│ ├── core-js@2.4.1
│ └── regenerator-runtime@0.10.1
├─┬ babel-preset-es2015@6.22.0
│ ├── 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.22.0
│ ├─┬ babel-plugin-transform-es2015-classes@6.22.0
│ │ ├── babel-helper-define-map@6.22.0
│ │ ├── babel-helper-function-name@6.22.0
│ │ ├── babel-helper-optimise-call-expression@6.22.0
│ │ └── babel-helper-replace-supers@6.22.0
│ ├── babel-plugin-transform-es2015-computed-properties@6.22.0
│ ├── babel-plugin-transform-es2015-destructuring@6.22.0
│ ├── babel-plugin-transform-es2015-duplicate-keys@6.22.0
│ ├── babel-plugin-transform-es2015-for-of@6.22.0
│ ├── babel-plugin-transform-es2015-function-name@6.22.0
│ ├── babel-plugin-transform-es2015-literals@6.22.0
│ ├── babel-plugin-transform-es2015-modules-amd@6.22.0
│ ├─┬ babel-plugin-transform-es2015-modules-commonjs@6.22.0
│ │ └── babel-plugin-transform-strict-mode@6.22.0
│ ├─┬ babel-plugin-transform-es2015-modules-systemjs@6.22.0
│ │ └── babel-helper-hoist-variables@6.22.0
│ ├── babel-plugin-transform-es2015-modules-umd@6.22.0
│ ├── babel-plugin-transform-es2015-object-super@6.22.0
│ ├─┬ babel-plugin-transform-es2015-parameters@6.22.0
│ │ ├── babel-helper-call-delegate@6.22.0
│ │ └── babel-helper-get-function-arity@6.22.0
│ ├── babel-plugin-transform-es2015-shorthand-properties@6.22.0
│ ├── babel-plugin-transform-es2015-spread@6.22.0
│ ├─┬ babel-plugin-transform-es2015-sticky-regex@6.22.0
│ │ └── babel-helper-regex@6.22.0
│ ├── babel-plugin-transform-es2015-template-literals@6.22.0
│ ├── babel-plugin-transform-es2015-typeof-symbol@6.22.0
│ ├─┬ babel-plugin-transform-es2015-unicode-regex@6.22.0
│ │ └─┬ 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.22.0
│   └── regenerator-transform@0.9.8
├─┬ babel-preset-stage-0@6.22.0
│ ├─┬ 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.22.0
│ ├─┬ babel-plugin-transform-class-constructor-call@6.22.0
│ │ └── 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.22.0
│ ├── babel-plugin-syntax-dynamic-import@6.18.0
│ └─┬ babel-plugin-transform-class-properties@6.22.0
│   └── babel-plugin-syntax-class-properties@6.13.0
├─┬ babel-preset-stage-3@6.22.0
│ ├── babel-plugin-syntax-trailing-function-commas@6.22.0
│ ├─┬ babel-plugin-transform-async-generator-functions@6.22.0
│ │ ├── babel-helper-remap-async-to-generator@6.22.0
│ │ └── babel-plugin-syntax-async-generators@6.13.0
│ ├─┬ babel-plugin-transform-async-to-generator@6.22.0
│ │ └── babel-plugin-syntax-async-functions@6.13.0
│ ├─┬ babel-plugin-transform-exponentiation-operator@6.22.0
│ │ ├─┬ babel-helper-builder-binary-assignment-operator-visitor@6.22.0
│ │ │ └── babel-helper-explode-assignable-expression@6.22.0
│ │ └── babel-plugin-syntax-exponentiation-operator@6.13.0
│ └─┬ babel-plugin-transform-object-rest-spread@6.22.0
│   └── babel-plugin-syntax-object-rest-spread@6.13.0
├─┬ babel-register@6.22.0
│ ├─┬ home-or-tmp@2.0.0
│ │ ├── os-homedir@1.0.2
│ │ └── os-tmpdir@1.0.2
│ └── source-map-support@0.4.10
├─┬ chai@3.4.1
│ ├── assertion-error@1.0.2
│ ├─┬ deep-eql@0.1.3
│ │ └── type-detect@0.1.1
│ └── type-detect@1.0.0
├─┬ coffee-loader@0.7.2
│ └─┬ loader-utils@0.2.16
│   ├── big.js@3.1.3
│   └── emojis-list@2.1.0
├── coffee-script@1.12.2
├── drafter.js@2.6.4
├─┬ fury@2.3.0
│ ├─┬ babel-runtime@5.8.38
│ │ └── core-js@1.2.7
│ ├─┬ minim@0.14.2
│ │ └── uptown@0.4.1
│ └─┬ minim-parse-result@0.2.2
│   ├─┬ babel-runtime@5.8.38
│   │ └── core-js@1.2.7
│   └─┬ minim-api-description@0.1.8
│     └─┬ babel-runtime@5.8.38
│       └── core-js@1.2.7
├─┬ fury-adapter-apib-parser@0.6.1
│ ├─┬ babel-runtime@5.8.38
│ │ └── core-js@1.2.7
│ ├── deckardcain@0.3.3
│ └─┬ drafter@1.2.0
│   └─┬ protagonist@1.6.7
│     └── nan@2.2.1
├─┬ glob@7.0.5
│ ├── fs.realpath@1.0.0
│ ├─┬ inflight@1.0.6
│ │ └── wrappy@1.0.2
│ ├── inherits@2.0.3
│ └── once@1.4.0
├─┬ mkdirp@0.5.1
│ └── minimist@0.0.8
├─┬ mocha@3.2.0
│ ├── browser-stdout@1.3.0
│ ├─┬ commander@2.9.0
│ │ └── graceful-readlink@1.0.1
│ ├─┬ debug@2.2.0
│ │ └── ms@0.7.1
│ ├── diff@1.4.0
│ ├── escape-string-regexp@1.0.5
│ ├── growl@1.9.2
│ ├── json3@3.3.2
│ ├─┬ lodash.create@3.1.1
│ │ ├─┬ lodash._baseassign@3.2.0
│ │ │ ├── lodash._basecopy@3.0.1
│ │ │ └─┬ lodash.keys@3.1.2
│ │ │   ├── lodash._getnative@3.9.1
│ │ │   ├── lodash.isarguments@3.1.0
│ │ │   └── lodash.isarray@3.0.4
│ │ ├── lodash._basecreate@3.0.3
│ │ └── lodash._isiterateecall@3.0.9
│ └─┬ supports-color@3.1.2
│   └── has-flag@1.0.0
├── ncp@1.0.1
└─┬ webpack@2.2.0
  ├── acorn@4.0.4
  ├── acorn-dynamic-import@2.0.1
  ├─┬ ajv@4.11.2
  │ ├── co@4.6.0
  │ └─┬ json-stable-stringify@1.0.1
  │   └── jsonify@0.0.0
  ├── ajv-keywords@1.5.1
  ├── async@2.1.4
  ├─┬ enhanced-resolve@3.0.3
  │ └── graceful-fs@4.1.11
  ├── interpret@1.0.1
  ├── json-loader@0.5.4
  ├── loader-runner@2.2.0
  ├─┬ memory-fs@0.4.1
  │ ├─┬ errno@0.1.4
  │ │ └── prr@0.0.0
  │ └─┬ readable-stream@2.2.2
  │   ├── buffer-shims@1.0.0
  │   ├── core-util-is@1.0.2
  │   ├── isarray@1.0.0
  │   ├── process-nextick-args@1.0.7
  │   └── util-deprecate@1.0.2
  ├─┬ node-libs-browser@2.0.0
  │ ├── assert@1.4.1
  │ ├─┬ browserify-zlib@0.1.4
  │ │ └── pako@0.2.9
  │ ├─┬ buffer@4.9.1
  │ │ ├── base64-js@1.2.0
  │ │ └── ieee754@1.1.8
  │ ├─┬ console-browserify@1.1.0
  │ │ └── date-now@0.1.4
  │ ├── constants-browserify@1.0.0
  │ ├─┬ crypto-browserify@3.11.0
  │ │ ├─┬ browserify-cipher@1.0.0
  │ │ │ ├─┬ browserify-aes@1.0.6
  │ │ │ │ └── buffer-xor@1.0.3
  │ │ │ ├─┬ browserify-des@1.0.0
  │ │ │ │ └─┬ des.js@1.0.0
  │ │ │ │   └── minimalistic-assert@1.0.0
  │ │ │ └── evp_bytestokey@1.0.0
  │ │ ├─┬ browserify-sign@4.0.0
  │ │ │ ├── bn.js@4.11.6
  │ │ │ ├── browserify-rsa@4.0.1
  │ │ │ ├─┬ elliptic@6.3.2
  │ │ │ │ ├── brorand@1.0.6
  │ │ │ │ └── hash.js@1.0.3
  │ │ │ └─┬ parse-asn1@5.0.0
  │ │ │   └── asn1.js@4.9.1
  │ │ ├── create-ecdh@4.0.0
  │ │ ├─┬ create-hash@1.1.2
  │ │ │ ├── cipher-base@1.0.3
  │ │ │ ├── ripemd160@1.0.1
  │ │ │ └── sha.js@2.4.8
  │ │ ├── create-hmac@1.1.4
  │ │ ├─┬ diffie-hellman@5.0.2
  │ │ │ └── miller-rabin@4.0.0
  │ │ ├── pbkdf2@3.0.9
  │ │ ├── public-encrypt@4.0.0
  │ │ └── randombytes@2.0.3
  │ ├── domain-browser@1.1.7
  │ ├── events@1.1.1
  │ ├── https-browserify@0.0.1
  │ ├── os-browserify@0.2.1
  │ ├── path-browserify@0.0.0
  │ ├── process@0.11.9
  │ ├── punycode@1.4.1
  │ ├── querystring-es3@0.2.1
  │ ├── stream-browserify@2.0.1
  │ ├─┬ stream-http@2.6.3
  │ │ ├── builtin-status-codes@3.0.0
  │ │ ├── to-arraybuffer@1.0.1
  │ │ └── xtend@4.0.1
  │ ├── string_decoder@0.10.31
  │ ├─┬ timers-browserify@2.0.2
  │ │ └── setimmediate@1.0.5
  │ ├── tty-browserify@0.0.0
  │ ├─┬ url@0.11.0
  │ │ ├── punycode@1.3.2
  │ │ └── querystring@0.2.0
  │ ├─┬ util@0.10.3
  │ │ └── inherits@2.0.1
  │ └─┬ vm-browserify@0.0.4
  │   └── indexof@0.0.1
  ├── supports-color@3.2.3
  ├── tapable@0.2.6
  ├─┬ uglify-js@2.7.5
  │ ├── async@0.2.10
  │ ├── uglify-to-browserify@1.0.2
  │ └─┬ yargs@3.10.0
  │   ├── camelcase@1.2.1
  │   ├─┬ cliui@2.1.0
  │   │ ├─┬ center-align@0.1.3
  │   │ │ ├─┬ align-text@0.1.4
  │   │ │ │ ├── longest@1.0.1
  │   │ │ │ └── repeat-string@1.6.1
  │   │ │ └── lazy-cache@1.0.4
  │   │ ├── right-align@0.1.3
  │   │ └── wordwrap@0.0.2
  │   └── window-size@0.1.0
  ├─┬ watchpack@1.2.0
  │ └─┬ chokidar@1.6.1
  │   ├─┬ anymatch@1.3.0
  │   │ ├── arrify@1.0.1
  │   │ └─┬ micromatch@2.3.11
  │   │   ├─┬ arr-diff@2.0.0
  │   │   │ └── arr-flatten@1.0.1
  │   │   ├── 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.6
  │   │   │ ├── 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.0
  │   │   ├─┬ kind-of@3.1.0
  │   │   │ └── is-buffer@1.1.4
  │   │   ├── normalize-path@2.0.1
  │   │   ├─┬ object.omit@2.0.1
  │   │   │ ├─┬ for-own@0.1.4
  │   │   │ │ └── for-in@0.1.6
  │   │   │ └── is-extendable@0.1.1
  │   │   ├─┬ parse-glob@3.0.4
  │   │   │ ├── glob-base@0.3.0
  │   │   │ └── is-dotfile@1.0.2
  │   │   └─┬ regex-cache@0.4.3
  │   │     ├── is-equal-shallow@0.1.3
  │   │     └── is-primitive@2.0.0
  │   ├── async-each@1.0.1
  │   ├─┬ fsevents@1.1.1
  │   │ ├── nan@2.6.2
  │   │ └─┬ node-pre-gyp@0.6.33
  │   │   ├─┬ mkdirp@0.5.1
  │   │   │ └── minimist@0.0.8
  │   │   ├─┬ npmlog@4.0.2
  │   │   │ ├─┬ are-we-there-yet@1.1.2
  │   │   │ │ └── readable-stream@2.2.2
  │   │   │ ├─┬ gauge@2.7.3
  │   │   │ │ ├── object-assign@4.1.1
  │   │   │ │ ├─┬ 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
  │   │   │ └── set-blocking@2.0.0
  │   │   ├─┬ request@2.79.0
  │   │   │ ├─┬ har-validator@2.0.6
  │   │   │ │ ├─┬ chalk@1.1.3
  │   │   │ │ │ ├── ansi-styles@2.2.1
  │   │   │ │ │ ├── escape-string-regexp@1.0.5
  │   │   │ │ │ ├── has-ansi@2.0.0
  │   │   │ │ │ └── supports-color@2.0.0
  │   │   │ │ ├─┬ commander@2.9.0
  │   │   │ │ │ └── graceful-readlink@1.0.1
  │   │   │ │ ├─┬ is-my-json-valid@2.15.0
  │   │   │ │ │ └── xtend@4.0.1
  │   │   │ │ └─┬ pinkie-promise@2.0.1
  │   │   │ │   └── pinkie@2.0.4
  │   │   │ └─┬ tough-cookie@2.3.2
  │   │   │   └── punycode@1.4.1
  │   │   ├─┬ rimraf@2.5.4
  │   │   │ └─┬ glob@7.1.1
  │   │   │   ├── fs.realpath@1.0.0
  │   │   │   ├── inflight@1.0.6
  │   │   │   ├─┬ minimatch@3.0.3
  │   │   │   │ └─┬ brace-expansion@1.1.6
  │   │   │   │   ├── balanced-match@0.4.2
  │   │   │   │   └── concat-map@0.0.1
  │   │   │   ├── once@1.4.0
  │   │   │   └── path-is-absolute@1.0.1
  │   │   ├── semver@5.3.0
  │   │   ├─┬ tar@2.2.1
  │   │   │ ├─┬ fstream@1.0.10
  │   │   │ │ └── graceful-fs@4.1.11
  │   │   │ └── inherits@2.0.3
  │   │   └─┬ tar-pack@3.3.0
  │   │     ├─┬ debug@2.2.0
  │   │     │ └── ms@0.7.1
  │   │     ├─┬ once@1.3.3
  │   │     │ └── wrappy@1.0.2
  │   │     └─┬ readable-stream@2.1.5
  │   │       ├── buffer-shims@1.0.0
  │   │       ├── core-util-is@1.0.2
  │   │       ├── isarray@1.0.0
  │   │       ├── process-nextick-args@1.0.7
  │   │       ├── string_decoder@0.10.31
  │   │       └── util-deprecate@1.0.2
  │   ├── glob-parent@2.0.0
  │   ├─┬ is-binary-path@1.0.1
  │   │ └── binary-extensions@1.8.0
  │   ├─┬ is-glob@2.0.1
  │   │ └── is-extglob@1.0.0
  │   └─┬ readdirp@2.1.0
  │     └── set-immediate-shim@1.0.1
  ├─┬ webpack-sources@0.1.4
  │ └── source-list-map@0.1.8
  └─┬ yargs@6.6.0
    ├── camelcase@3.0.0
    ├─┬ cliui@3.2.0
    │ └── wrap-ansi@2.1.0
    ├── decamelize@1.2.0
    ├── get-caller-file@1.0.2
    ├─┬ os-locale@1.4.0
    │ └─┬ lcid@1.0.0
    │   └── invert-kv@1.0.0
    ├─┬ read-pkg-up@1.0.1
    │ └─┬ read-pkg@1.1.0
    │   ├─┬ load-json-file@1.1.0
    │   │ ├─┬ parse-json@2.2.0
    │   │ │ └─┬ error-ex@1.3.0
    │   │ │   └── is-arrayish@0.2.1
    │   │ ├── pify@2.3.0
    │   │ └─┬ strip-bom@2.0.0
    │   │   └── is-utf8@0.2.1
    │   ├─┬ normalize-package-data@2.3.5
    │   │ ├── hosted-git-info@2.1.5
    │   │ ├─┬ is-builtin-module@1.0.0
    │   │ │ └── builtin-modules@1.1.1
    │   │ ├── semver@5.3.0
    │   │ └─┬ validate-npm-package-license@3.0.1
    │   │   ├─┬ spdx-correct@1.0.2
    │   │   │ └── spdx-license-ids@1.2.2
    │   │   └── spdx-expression-parse@1.0.4
    │   └── path-type@1.1.0
    ├── require-directory@2.1.1
    ├── require-main-filename@1.0.1
    ├── set-blocking@2.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
    ├── which-module@1.0.0
    ├── y18n@3.2.1
    └─┬ yargs-parser@4.2.1
      └── camelcase@3.0.0

npm WARN EPACKAGEJSON Paw-APIBlueprintImporter@2.0.0 No license field.

Expected outcome:

No errors/warning

kylef commented 7 years ago

Protagonist should be an optional dependency (https://github.com/apiaryio/drafter-npm/blob/master/package.json#L26). It's the C++ version of our API Blueprint parser, if it isn't installable (i.e, because this is a Paw module) then the slower pure JavaScript variant would be chosen at runtime (https://github.com/apiaryio/drafter-npm/blob/master/lib/drafter.js).

@JonathanMontane Are you hitting any specific problem here? Failing to install Protagonist is expected, and since it's an optional dependency NPM should continue after failing to install it. You can disable attempting to install the optional dependency with npm install --no-optional.

JonathanMontane commented 7 years ago

@kylef No, I wasn't. I just didn't expect this behavior to be expected ;) I'll see how everything is working without the optional dependencies.

Would it be possible for you to make a small update to the readme about this potentially confusing behavior? Thanks!