diff --git a/Gruntfile.js b/Gruntfile.js index dd4e1b5f..8814780e 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -48,7 +48,7 @@ module.exports = function (grunt) { grunt.registerTask("testnodeconsumer", "A task which checks whether consuming CJS and ESM apps work with the CyberChef build", - ["exec:setupNodeConsumers", "exec:testCJSNodeConsumer", "exec:testESMNodeConsumer", "exec:testESMDeepImportNodeConsumer", "exec:teardownNodeConsumers"]); + ["exec:setupNodeConsumers", "exec:testCJSNodeConsumer", "exec:testESMNodeConsumer", "exec:teardownNodeConsumers"]); grunt.registerTask("default", "Lints the code base", @@ -413,17 +413,10 @@ module.exports = function (grunt) { testESMNodeConsumer: { command: chainCommands([ `cd ${nodeConsumerTestPath}`, - "node --no-warnings --experimental-modules esm-consumer.mjs", + "node --no-warnings --experimental-modules --experimental-json-modules --experimental-specifier-resolution=node esm-consumer.mjs", ]), stdout: false, - }, - testESMDeepImportNodeConsumer: { - command: chainCommands([ - `cd ${nodeConsumerTestPath}`, - "node --no-warnings --experimental-modules esm-deep-import-consumer.mjs", - ]), - stdout: false, - }, + } }, }); }; diff --git a/package.json b/package.json index c13e76d6..c60e7c35 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,5 @@ { "name": "cyberchef", - "type": "module", "version": "9.20.3", "description": "The Cyber Swiss Army Knife for encryption, encoding, compression and data analysis.", "author": "n1474335 ", @@ -163,7 +162,7 @@ "scripts": { "start": "grunt dev", "build": "grunt prod", - "repl": "node src/node/repl.js", + "repl": "node --experimental-modules --experimental-json-modules --experimental-specifier-resolution=node --no-warnings ./src/node/repl.mjs", "test": "grunt configTests && node --experimental-modules --no-warnings --no-deprecation tests/node/index.mjs && node --experimental-modules --no-warnings --no-deprecation tests/operations/index.mjs", "test-node-consumer": "grunt testnodeconsumer", "testui": "grunt testui", diff --git a/src/core/errors/index.mjs b/src/core/errors/index.mjs index b27affc2..6d96acb0 100644 --- a/src/core/errors/index.mjs +++ b/src/core/errors/index.mjs @@ -1,6 +1,6 @@ import OperationError from "./OperationError.mjs"; import DishError from "./DishError.mjs"; -import ExcludedOperationError from "./ExcludedOperationError"; +import ExcludedOperationError from "./ExcludedOperationError.mjs"; export { OperationError, diff --git a/src/core/operations/GenerateImage.mjs b/src/core/operations/GenerateImage.mjs index b9220a98..52c9d831 100644 --- a/src/core/operations/GenerateImage.mjs +++ b/src/core/operations/GenerateImage.mjs @@ -7,10 +7,10 @@ import Operation from "../Operation.mjs"; import OperationError from "../errors/OperationError.mjs"; import Utils from "../Utils.mjs"; -import {isImage} from "../lib/FileType"; -import {toBase64} from "../lib/Base64"; +import {isImage} from "../lib/FileType.mjs"; +import {toBase64} from "../lib/Base64.mjs"; import jimp from "jimp"; -import {isWorkerEnvironment} from "../Utils"; +import {isWorkerEnvironment} from "../Utils.mjs"; /** * Generate Image operation diff --git a/src/node/config/scripts/generateNodeIndex.mjs b/src/node/config/scripts/generateNodeIndex.mjs index 81ca8fe6..b846b32d 100644 --- a/src/node/config/scripts/generateNodeIndex.mjs +++ b/src/node/config/scripts/generateNodeIndex.mjs @@ -41,7 +41,7 @@ let code = `/** import NodeDish from "./NodeDish.mjs"; import { _wrap, help, bake, _explainExcludedFunction } from "./api.mjs"; import File from "./File.mjs"; -import { OperationError, DishError, ExcludedOperationError } from "../core/errors/index"; +import { OperationError, DishError, ExcludedOperationError } from "../core/errors/index.mjs"; import { // import as core_ to avoid name clashes after wrap. `; diff --git a/src/node/repl.js b/src/node/repl.mjs similarity index 92% rename from src/node/repl.js rename to src/node/repl.mjs index 29154630..397ddf78 100644 --- a/src/node/repl.js +++ b/src/node/repl.mjs @@ -7,8 +7,8 @@ * @license Apache-2.0 */ -const chef = require("./cjs.js"); -const repl = require("repl"); +import chef from "./index.mjs" +import repl from "repl" /* eslint no-console: ["off"] */ diff --git a/tests/node/consumers/esm-deep-import-consumer.mjs b/tests/node/consumers/esm-deep-import-consumer.mjs deleted file mode 100644 index 58fd921a..00000000 --- a/tests/node/consumers/esm-deep-import-consumer.mjs +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Tests to ensure that a consuming app can use named imports from deep import patch - * - * @author d98762625 [d98762625@gmail.com] - * @copyright Crown Copyright 2019 - * @license Apache-2.0 - */ -import assert from "assert"; -import { bake, toHex, reverse, unique, multiply } from "cyberchef/src/node/index.mjs"; - -const d = bake("Testing, 1 2 3", [ - toHex, - reverse, - { - op: unique, - args: { - delimiter: "Space", - } - }, - { - op: multiply, - args: { - delimiter: "Space", - } - } -]); - -assert.equal(d.value, "630957449041920");