buglabs / node-xml2json

Converts XML to JSON using node-expat
809 stars 210 forks source link

not building with nodejs 12 #177

Closed p3x-robot closed 4 years ago

p3x-robot commented 5 years ago

it is related to: https://github.com/astro/node-expat/pull/196 and https://github.com/astro/node-expat/issues/195

p3x-robot commented 5 years ago

node expat is updated, so it is straightforward to upgrade

p3x-robot commented 5 years ago

@bugvish and @psemme is released and supports NodeJs v12 https://github.com/astro/node-expat/issues/195#issuecomment-497125547

is it possible to upgrade the node-expat package?

p3x-robot commented 5 years ago

@bugvish and @psemme there is a pull merge request that fixes this issue

https://github.com/buglabs/node-xml2json/pull/180

p3x-robot commented 5 years ago

the merge is done, now just waiting fro the npm publish on this package.

gajus commented 5 years ago

@bugvish and @psemme can this be released?

gajus commented 5 years ago

Migrated away to https://www.npmjs.com/package/xml-js.

p3x-robot commented 5 years ago

that is a bit slower :) i wait until they publish, there is a temporary package that is same api and is c based.

p3x-robot commented 5 years ago

i am open to merge any pull request. I fixed it an named it as p3x-xml2json and it works with Nodejs 12.

https://github.com/patrikx3/xml2json

gajus commented 5 years ago

that is a bit slower :) i wait until they publish, there is a temporary package that is same api and is c based.

Didn't notice any significant performance degradation.

p3x-robot commented 5 years ago

well the package you are talking about is NodeJs based and xml2json is C based, so you know it is faster 100%. but it is just a choice or style, just commenting... :)

drmrbrewer commented 4 years ago

@p3x-robot I am having a problem running my node app, even though I switched to using p3x-xml2json rather than xml2json. I'm using node v12.13.0. The error I get when running the node app is:

Error: The module '/root/workspace/metno/node_modules/node-expat/build/Release/node_expat.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 64. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:718:18)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at bindings (/root/workspace/metno/node_modules/bindings/bindings.js:112:48)
    at Object.<anonymous> (/root/workspace/metno/node_modules/node-expat/lib/node-expat.js:4:32)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)

It's exactly the same error I get when using xml2json.

p3x-robot commented 4 years ago

delete the node modules and npm install again, it will work, but with p3x-xml2json

drmrbrewer commented 4 years ago

@p3x-robot except that it doesn't :-/ of course, I already had deleted node modules and did npm install again... with the p3x fork... same error.

package.json:

"main": "metno.js",
  "dependencies": {
    "express": "^4.17.1",
    "lodash": "^4.17.15",
    "p3x-xml2json": "^2019.10.194"
  },

metno.js:

const parser = require('p3x-xml2json'); 
p3x-robot commented 4 years ago

the error is : /root/workspace/metno/node_modules/node-expat/build/Release/node_expat.node

somewhere the code is node modules is compiled with an older version of NodeJs.

the exact error: NODE_MODULE_VERSION 72. This version of Node.js requires NODE_MODULE_VERSION 64. Please try re-compiling or re-installing

So you not deleted some node_modules folder properly.

look there are no problems at all:

patrikx3@bitang:~/Projects/patrikx3/p3x/xml2json$ rm -rf node_modules/
patrikx3@bitang:~/Projects/patrikx3/p3x/xml2json$ node -v
v12.13.0
patrikx3@bitang:~/Projects/patrikx3/p3x/xml2json$ npm install

> node-expat@2.3.18 install /home/patrikx3/Projects/patrikx3/p3x/xml2json/node_modules/node-expat
> node-gyp rebuild

make: Entering directory '/home/patrikx3/Projects/patrikx3/p3x/xml2json/node_modules/node-expat/build'
  CC(target) Release/obj.target/expat/deps/libexpat/lib/xmlparse.o
  CC(target) Release/obj.target/expat/deps/libexpat/lib/xmltok.o
In file included from ../deps/libexpat/lib/xmltok.c:306:0:
../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_isPublicId’:
../deps/libexpat/lib/xmltok_impl.c:1404:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (!(BYTE_TO_ASCII(enc, ptr) & ~0x7f))
          ^
../deps/libexpat/lib/xmltok_impl.c:1406:5: note: here
     default:
     ^~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_sameName’:
../deps/libexpat/lib/xmltok_impl.c:1624:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (*ptr1++ != *ptr2++) \
          ^
../deps/libexpat/lib/xmltok_impl.c:1626:5: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
     ^~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:1623:5: note: here
     case BT_LEAD ## n: \
     ^
../deps/libexpat/lib/xmltok_impl.c:1626:18: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                  ^~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:1624:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (*ptr1++ != *ptr2++) \
          ^
../deps/libexpat/lib/xmltok_impl.c:1626:18: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                  ^~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:1623:5: note: here
     case BT_LEAD ## n: \
     ^
../deps/libexpat/lib/xmltok_impl.c:1626:31: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                               ^~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_scanRef’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:509:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:509:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:518:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:518:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_scanPercent’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:886:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:886:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:896:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:896:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_scanLt’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:693:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:693:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:731:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:731:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:743:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:743:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:720:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:720:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_scanPi’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:246:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:246:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:253:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:253:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_scanEndTag’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:397:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:397:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:404:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:404:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_scanAtts’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:552:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:552:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:649:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:649:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:541:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:541:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_prologTok’:
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:1153:9: note: in expansion of macro ‘CHECK_NAME_CASES’
         CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
         ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:1153:9: note: in expansion of macro ‘CHECK_NAME_CASES’
         CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
         ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:1139:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:1139:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘normal_scanPoundName’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:914:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:914:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:921:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:921:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
In file included from ../deps/libexpat/lib/xmltok.c:791:0:
../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_isPublicId’:
../deps/libexpat/lib/xmltok_impl.c:1404:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (!(BYTE_TO_ASCII(enc, ptr) & ~0x7f))
          ^
../deps/libexpat/lib/xmltok_impl.c:1406:5: note: here
     default:
     ^~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_sameName’:
../deps/libexpat/lib/xmltok_impl.c:1624:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (*ptr1++ != *ptr2++) \
          ^
../deps/libexpat/lib/xmltok_impl.c:1626:5: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
     ^~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:1623:5: note: here
     case BT_LEAD ## n: \
     ^
../deps/libexpat/lib/xmltok_impl.c:1626:18: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                  ^~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:1624:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (*ptr1++ != *ptr2++) \
          ^
../deps/libexpat/lib/xmltok_impl.c:1626:18: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                  ^~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:1623:5: note: here
     case BT_LEAD ## n: \
     ^
../deps/libexpat/lib/xmltok_impl.c:1626:31: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                               ^~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_scanRef’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:509:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:509:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:518:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:518:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_scanPercent’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:886:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:886:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:896:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:896:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_scanLt’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:693:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:693:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:731:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:731:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:743:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:743:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:720:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:720:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_scanPi’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:246:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:246:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:253:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:253:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_scanEndTag’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:397:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:397:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:404:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:404:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_scanAtts’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:552:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:552:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:649:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:649:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:541:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:541:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_prologTok’:
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:1153:9: note: in expansion of macro ‘CHECK_NAME_CASES’
         CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
         ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:1153:9: note: in expansion of macro ‘CHECK_NAME_CASES’
         CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
         ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:1139:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:1139:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘little2_scanPoundName’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:914:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:914:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:921:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:921:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
In file included from ../deps/libexpat/lib/xmltok.c:932:0:
../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_isPublicId’:
../deps/libexpat/lib/xmltok_impl.c:1404:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (!(BYTE_TO_ASCII(enc, ptr) & ~0x7f))
          ^
../deps/libexpat/lib/xmltok_impl.c:1406:5: note: here
     default:
     ^~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_sameName’:
../deps/libexpat/lib/xmltok_impl.c:1624:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (*ptr1++ != *ptr2++) \
          ^
../deps/libexpat/lib/xmltok_impl.c:1626:5: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
     ^~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:1623:5: note: here
     case BT_LEAD ## n: \
     ^
../deps/libexpat/lib/xmltok_impl.c:1626:18: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                  ^~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:1624:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (*ptr1++ != *ptr2++) \
          ^
../deps/libexpat/lib/xmltok_impl.c:1626:18: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                  ^~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:1623:5: note: here
     case BT_LEAD ## n: \
     ^
../deps/libexpat/lib/xmltok_impl.c:1626:31: note: in expansion of macro ‘LEAD_CASE’
     LEAD_CASE(4) LEAD_CASE(3) LEAD_CASE(2)
                               ^~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_scanRef’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:509:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:509:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:518:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:518:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_scanPercent’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:886:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:886:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:896:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:896:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_scanLt’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:693:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:693:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:731:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:731:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:743:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:743:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:720:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:720:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_scanPi’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:246:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:246:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:253:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:253:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_scanEndTag’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:397:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:397:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:404:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:404:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_scanAtts’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:552:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:552:7: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
       CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
       ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:649:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:649:11: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
           CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
           ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:541:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:541:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_prologTok’:
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:1153:9: note: in expansion of macro ‘CHECK_NAME_CASES’
         CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
         ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:1153:9: note: in expansion of macro ‘CHECK_NAME_CASES’
         CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
         ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:1139:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:1139:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c: In function ‘big2_scanPoundName’:
../deps/libexpat/lib/xmltok_impl.c:74:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NMSTRT_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:914:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:78:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:914:3: note: in expansion of macro ‘CHECK_NMSTRT_CASES’
   CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
   ^~~~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:46:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!IS_NAME_CHAR_MINBPC(enc, ptr)) { \
        ^
../deps/libexpat/lib/xmltok_impl.c:921:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
../deps/libexpat/lib/xmltok_impl.c:50:3: note: here
   case BT_NMSTRT: \
   ^
../deps/libexpat/lib/xmltok_impl.c:921:5: note: in expansion of macro ‘CHECK_NAME_CASES’
     CHECK_NAME_CASES(enc, ptr, end, nextTokPtr)
     ^~~~~~~~~~~~~~~~
  CC(target) Release/obj.target/expat/deps/libexpat/lib/xmlrole.o
  AR(target) Release/obj.target/deps/libexpat/libexpat.a
  COPY Release/libexpat.a
  CXX(target) Release/obj.target/node_expat/node-expat.o
  SOLINK_MODULE(target) Release/obj.target/node_expat.node
  COPY Release/node_expat.node
make: Leaving directory '/home/patrikx3/Projects/patrikx3/p3x/xml2json/node_modules/node-expat/build'
added 985 packages from 1526 contributors in 12.784s
p3x-robot commented 4 years ago
rm -rf /root/workspace/metno/node_modules
cd /root/workspace/metno/
npm install --allow-root

# after that try this as well
npm rebuild

usually it works, but the bug is not in the package but, somewhere in your path.

drmrbrewer commented 4 years ago

That's exactly what I have been doing. It's weird... I have literally no other node_modules in the path. There is just one node js file, one package.json, and the only dependencies are the ones I posted above. The error still happens.

drmrbrewer commented 4 years ago

Note... there are no problems doing npm install or npm rebuild... the error only happens when I run the node app.

drmrbrewer commented 4 years ago

There is a bit of the error just before that I posted above:

/root/workspace/metno/node_modules/bindings/bindings.js:121
        throw e;
        ^

i.e. the full error when I run the app is:

/root/workspace/metno/node_modules/bindings/bindings.js:121
        throw e;
        ^

Error: The module '/root/workspace/metno/node_modules/node-expat/build/Release/node_expat.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 64. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:718:18)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at bindings (/root/workspace/metno/node_modules/bindings/bindings.js:112:48)
    at Object.<anonymous> (/root/workspace/metno/node_modules/node-expat/lib/node-expat.js:4:32)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
p3x-robot commented 4 years ago

try this:

npm cache --force

the try installing again

p3x-robot commented 4 years ago

sorry:

npm cache clean --force
p3x-robot commented 4 years ago

yes i can see the error:

Error: The module '/root/workspace/metno/node_modules/node-expat/build/Release/node_expat.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 64. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
p3x-robot commented 4 years ago

somewhere there is node_expat built with NODE_MODULE_VERSION 64 and now you are on NODE_MODULE_VERSION 72....

drmrbrewer commented 4 years ago

Nope still get the error after cache clean. Apart from xml2json I am literally only use express and lodash, and those apparently don't depend on node-expat. I'm really confused.

Do you know what the bindings error means?

/root/workspace/metno/node_modules/bindings/bindings.js:121
        throw e;
        ^
drmrbrewer commented 4 years ago

OK update... I'm using a Cloud9 IDE and usually for convenience I just hit RUN in the IDE (with the js code file open). It has always worked that way, just fine. If I run the node app direclty from the CLI node metno.js it runs without this error... only when I hit RUN in Cloud9 IDE... weird it has never done this before??

And furthermore, if I revert to using plain xml2json (not your fork) and re-install modules, and run from the CLI (not the IDE), it runs fine. What is going on?

p3x-robot commented 4 years ago

the throw shows the error message exactly: image

p3x-robot commented 4 years ago

you are mixing the nodejs versions. you have an older version of nodejs somehwhere as wll. it shows the error with the NODE_MODULE_VERSION.

drmrbrewer commented 4 years ago
~/workspace/metno# nvm ls
->     v12.13.0
         system
default -> 12.13.0 (-> v12.13.0)
node -> stable (-> v12.13.0) (default)
stable -> 12.13 (-> v12.13.0) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/erbium (-> v12.13.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.16.2 (-> N/A)
lts/dubnium -> v10.17.0 (-> N/A)
lts/erbium -> v12.13.0

~/workspace/metno# node -v
v12.13.0
p3x-robot commented 4 years ago

you said: the error only happens when I run the node app. so when you run the app and get the error, you are not using nodejs 12 but below... for sure.

p3x-robot commented 4 years ago

try the app from the terminal: node your-app-path/app.js

p3x-robot commented 4 years ago

it is in the IDE

drmrbrewer commented 4 years ago

The IDE is using an older version of nodejs then? I'll see if I can find older version of node...

p3x-robot commented 4 years ago

what Cloud IDE you are using is not using latest NodeJs 12.... that is the error.

p3x-robot commented 4 years ago

either you can use xml2json (v10) with older version, or if you want LTS you can use p3x-xml2json (v12) that is all.

drmrbrewer commented 4 years ago

OK it's confusing... I had used nvm to install node 12, and node -v gives me 12. But C9 must be using node 10. If I install node 12 not with nvm:

$ curl -sL https://deb.nodesource.com/setup_12.x | bash -
$ apt-get update && apt-get install -y nodejs

then running the node app via Cloud9 "run" button works... even works with stock xml2json not p3x-xml2json??

p3x-robot commented 4 years ago

you are running Cloud9 nodejs v10, xml2json works with v10, but not for the future and not for the lts nodejs v12... figure...

p3x-robot commented 4 years ago

xml2json does not work with node v12, that is what this issue is about.

p3x-robot commented 4 years ago

please create a new issue about cloud9, as the error is not about xml2json on nodejs v12

drmrbrewer commented 4 years ago

But look if I run this from the command line:

# node -v
v12.13.0

# node metno.js
... [no error... works fine]

must be using node v 12.13.0 when running the metno.js app, because that's what it says?

drmrbrewer commented 4 years ago
# node -v
v12.13.0

it's not an old version

drmrbrewer commented 4 years ago

now it works or not???

xml2json works with node 12, no need to use p3x-xml2json

mokone91 commented 4 years ago

seems fix merged, but latest version not published. so lib still not working on 12

c4milo commented 4 years ago

I just published version 0.12.0 from master.

c4milo commented 4 years ago

Apologies for the delay, I had personal things that kept me away from OSS work.