конфликт узлов 7z и xml2json - PullRequest
0 голосов
/ 12 июня 2019

в node.js, У меня проблема при импорте обоих пакетов (node-7z и xml2json),
У меня есть функция , которую никто не называет ("пустышка"),

    import { extractFull } from 'node-7z'
    const xml2json = require('xml2json');

    function dummy(){
        const myStream = extractFull('./zip/myfile.7z', './unzipped/')

    }

и я получаю следующую ошибку

C:\projects\nodeTests\node_modules\joi\lib\types\object\index.js:445
source-map-support.js:445
        Hoek.assert(isRegExp || pattern instanceof Any, 'pattern must be a regex or schema');
             ^
AssertionError [ERR_ASSERTION]: pattern must be a regex or schema
source-map-support.js:448
    at internals.Object.pattern (C:\projects\nodeTests\node_modules\joi\lib\types\object\index.js:445:14)
    at Object.internals.root (C:\projects\nodeTests\node_modules\joi\lib\index.js:432:34)
    at Object.<anonymous> (C:\projects\nodeTests\node_modules\joi\lib\index.js:447:28)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\projects\nodeTests\node_modules\xml2json\lib\xml2json.js:3:11)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)

* если я прокомментирую код внутри функции "пустышка", я не получу никакой ошибки
* если я прокомментирую строку с требованием "xml2json", я не получу никакой ошибки

почему у меня такая проблема и почему как код в "фиктивной" функции влияет на меня, если никто не вызывает эту функцию?
Спасибо

1 Ответ

0 голосов
/ 12 июня 2019

https://github.com/quentinrossetti/node-7z по этой ссылке вы должны передать объект с функцией extractFull, например

import Seven from 'node-7z'
const myStream = Seven.extractFull('./archive.7z', './output/dir/', { 
  $progress: true
});
...