Elius94 / console-gui-tools

A simple library to draw option menu or other popup inputs and layout on Node.js console.
MIT License
122 stars 18 forks source link

[Bug]: commonjs script can't import this library #92

Closed kamenomi-dev closed 1 month ago

kamenomi-dev commented 2 months ago

What happened?

I can't import the console-gui-tools library via commonjs

What should have happened?

codesandbox.io See package.json: ` { "name": "console-gui-tools", "version": "3.7.0", "description": "A simple library to draw option menu, text popup or other widgets and layout on a Node.js console.", "main": "dist/esm/ConsoleGui.mjs", "types": "dist/types/ConsoleGui.d.ts", "module": "dist/esm/ConsoleGui.mjs", "type": "module", // Here will cause it. "exports": { ".": { "types": "./dist/types/ConsoleGui.d.ts", "require": "./dist/cjs/ConsoleGui.cjs", "import": "./dist/esm/ConsoleGui.mjs" } }, "files": [ "dist/" ], "scripts": { "lint": "eslint ./src/ --ext .ts", "build": "node ./esbuild.js", "prepare": "npm run build", "test": "npm run build && node ./examples/tcp_simulator.mjs", "start": "node ./esbuild.js --watch --dev", "docs": "node ./docgen.cjs" }, "repository": { "type": "git", "url": "git+https://github.com/Elius94/console-gui-tools.git" }, "keywords": [ "console", "gui", "menu", "popup", "layout", "node", "node.js", "curses", "ncurses", "tui", "terminal", "command-line", "logs", "terminal-graphics", "consoleapp", "terminal-colors", "terminal-ui" ], "author": "Elia Lazzari", "license": "MIT", "bugs": { "url": "https://github.com/Elius94/console-gui-tools/issues" }, "homepage": "https://github.com/Elius94/console-gui-tools#readme", "dependencies": { "chalk": "^5.2.0" }, "devDependencies": { "@babel/cli": "^7.20.7", "@babel/core": "^7.20.12", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-object-rest-spread": "^7.20.7", "@babel/preset-env": "^7.20.2", "@babel/preset-typescript": "^7.18.6", "@types/node": "^18.11.18", "@typescript-eslint/eslint-plugin": "^5.49.0", "@typescript-eslint/parser": "^5.49.0", "esbuild": "0.17.4", "eslint": "^8.32.0", "jsdoc-babel": "^0.5.0", "jsdoc-to-markdown": "^8.0.0", "typescript": "^4.9.4" } }

`

Code

import * as gui from "console-gui-tools"

Library Version

3.7.0

Node Version

v22.4.1

What operating system are you using?

Windows

Terminal

Windows Powershell

Interest to fix the bug

Elius94 commented 1 month ago

I'm sorry but I can't understand what you mean... You write "commonjs script can't import this library " but you are importing the lib as "JS Module (ESM)"

import * as gui from "console-gui-tools"

to import in a CJS project you must use the CJS import pattern:

const { ConsoleManager } = require('console-gui-tools')

Please, follow the README.md file!

https://github.com/Elius94/console-gui-tools?tab=readme-ov-file#commonjs-syntax