Я пытаюсь импортировать части CyberChef в приложение, которое будет работать в браузере. По сути, я создаю для него упрощенный интерфейс и хочу использовать его функциональность.
Я использую Parcel для комплектации. Вот все необходимые файлы
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Parcel CyberChef</title>
</head>
<body>
<script src="index.js"></script>
</body>
</html>
import Dish from 'cyberchef/src/core/Dish.mjs';
import Recipe from 'cyberchef/src/core/Recipe.mjs';
console.log(Dish);
console.log(Recipe);
{
"name": "parcel-cyberchef",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "parcel index.html"
},
"author": "Alexander Prinzhorn",
"license": "MIT",
"devDependencies": {
"parcel-bundler": "^1.12.4"
},
"dependencies": {
"cyberchef": "^9.20.3"
}
}
Запуск npm start
выдаст следующую ошибку
/node_modules/codepage/cputils.js: Cannot resolve dependency 'buffer'
at Resolver.resolve (/node_modules/parcel-bundler/src/Resolver.js:71:17)
, что странно, потому что codepage/cputils.js
этого не имеет зависимость. Но я предполагаю, что что-то происходит с несовместимыми типами модулей? Сам CyberChef использует Webpack, что может добавить к несовместимости. Любая идея, как получить это для компиляции с Parcel?