I am attempting to use the latest version of CyberChef on Ubuntu 18.04. When I run grunt dev I get an error during the Regenerating Config Files section. I also get an error when attempting to view the webpage after grunt dev finishes. Similar errors happen during grunt prod
I am using NodeJS v12.4.0 and npm v6.9.0
Error during grunt dev
Running "exec:generateConfig" (exec) task
--- Regenerating config files. ---
Written operation index.
>> internal/modules/esm/default_resolve.js:59
>> let url = moduleWrapResolve(specifier, parentURL);
>> ^
>>
>> Error: Cannot find module '/opt/CyberChef/src/core/operations/index' imported from /opt/CyberChef/src/core/config/scripts/generateConfig.mjs
>> at Loader.resolve [as _resolve] (internal/modules/esm/default_resolve.js:59:13)
>> at Loader.resolve (internal/modules/esm/loader.js:70:33)
>> at Loader.getModuleJob (internal/modules/esm/loader.js:143:40)
>> at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:43:40)
>> at link (internal/modules/esm/module_job.js:42:36) {
>> code: 'ERR_MODULE_NOT_FOUND'
>> }
--- Config scripts finished. ---
At the end of grunt dev I get
ℹ 「wdm」: Failed to compile.
I can visit the webserver running at 8080 but I get the following error:
Error: Cannot find module './config/modules/OpModules'
Filename: blob:http://134.209.212.83:8080/bf99977c-08a9-634b-952f-1da2ce328e40 line 271 > eval
Line: 9
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:67.0) Gecko/20100101 Firefox/67.0
CyberChef version: 8.31.5
grunt prod errors:
Running "eslint:configs" (eslint) task
Running "eslint:core" (eslint) task
Running "eslint:web" (eslint) task
Running "eslint:node" (eslint) task
Running "eslint:tests" (eslint) task
Running "clean:prod" (clean) task
>> 1 path cleaned.
Running "clean:config" (clean) task
>> 1 path cleaned.
Running "exec:generateConfig" (exec) task
--- Regenerating config files. ---
Written operation index.
>> internal/modules/esm/default_resolve.js:59
>> let url = moduleWrapResolve(specifier, parentURL);
>> ^
>>
>> Error: Cannot find module '/opt/CyberChef/src/core/operations/index' imported from /opt/CyberChef/src/core/config/scripts/generateConfig.mjs
>> at Loader.resolve [as _resolve] (internal/modules/esm/default_resolve.js:59:13)
>> at Loader.resolve (internal/modules/esm/loader.js:70:33)
>> at Loader.getModuleJob (internal/modules/esm/loader.js:143:40)
>> at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:43:40)
>> at link (internal/modules/esm/module_job.js:42:36) {
>> code: 'ERR_MODULE_NOT_FOUND'
>> }
--- Config scripts finished. ---
Running "webpack:web" (webpack) task
94% after sealError parsing bundle asset "/opt/CyberChef/build/prod/assets/main.js": no such file
Error parsing bundle asset "/opt/CyberChef/build/prod/sitemap.js": no such file
No bundles were parsed. Analyzer will show only original module sizes from stats file.
Webpack Bundle Analyzer saved report to /opt/CyberChef/build/prod/BundleAnalyzerReport.html
Hash: f84b45cc2b1d8c39528a
Version: webpack 4.31.0
Time: 21681ms
Built at: 06/13/2019 6:07:08 PM
10 assets
Warning: Use --force to continue.
Aborted due to warnings.
Figured it out. Looks like it fails on NodeJS v12.4.0 and npm v6.9.0
I downgraded to v11.15.0 and I can get it to work. Closing the issue
Got the same issue. Don't forget to clear your node_module folder and run npm install again.
I also used this script to use the older version, if that can help someone out there, check it out
This one bit me too. In order to build the CyberChef on a recent Debian GNU linux I made this:
```shell script
git clone https://github.com/gchq/CyberChef.git
cd CyberChef
npm install
time ./node_modules/grunt/bin/grunt prod --force
rm -fr ./build ./node_modules package-lock.json && git checkout . && npm install && time ./node_modules/grunt/bin/grunt prod --force
```
Most helpful comment
Figured it out. Looks like it fails on NodeJS v12.4.0 and npm v6.9.0
I downgraded to v11.15.0 and I can get it to work. Closing the issue