diff --git a/doc/help.txt b/help/help.txt similarity index 100% rename from doc/help.txt rename to help/help.txt diff --git a/doc/publish.txt b/help/publish.txt similarity index 100% rename from doc/publish.txt rename to help/publish.txt diff --git a/doc/subscribe.txt b/help/subscribe.txt similarity index 100% rename from doc/subscribe.txt rename to help/subscribe.txt diff --git a/package-lock.json b/package-lock.json index 31f4db322..7639702fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,9 +25,9 @@ "ws": "^8.13.0" }, "bin": { - "mqtt": "build/bin/mqtt.js", - "mqtt_pub": "build/bin/pub.js", - "mqtt_sub": "build/bin/sub.js" + "mqtt": "build/src/bin/mqtt.js", + "mqtt_pub": "build/src/bin/pub.js", + "mqtt_sub": "build/src/bin/sub.js" }, "devDependencies": { "@release-it/conventional-changelog": "^7.0.0", diff --git a/package.json b/package.json index 1958e7973..ebc1753ce 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "type": "git", "url": "git://github.com/mqttjs/MQTT.js.git" }, - "main": "./build/src/mqtt.js", + "main": "./build/mqtt.js", "bin": { "mqtt_pub": "./build/bin/pub.js", "mqtt_sub": "./build/bin/sub.js", @@ -30,21 +30,21 @@ "dist/", "CONTRIBUTING.md", "LICENSE.md", - "doc/", + "help/", "build/", "src/" ], "exports": { - ".": "./build/src/mqtt.js", + ".": "./build/mqtt.js", "./package.json": "./package.json", "./*.map": "./build/*.js.map", "./*": "./build/*.js" }, - "types": "build/src/mqtt.d.ts", + "types": "build/mqtt.d.ts", "typesVersions": { "*": { "*": [ - "./build/src/mqtt.d.ts" + "./build/mqtt.d.ts" ] } }, @@ -52,7 +52,7 @@ "lint": "eslint --ext .ts .", "lint-fix": "eslint --fix --ext .ts .", "build:ts": "rimraf build/ && tsc -p tsconfig.build.json", - "build:browser": "rimraf dist/ && mkdirp dist/ && browserify build/src/mqtt.js --standalone mqtt > dist/mqtt.js && terser dist/mqtt.js --compress --mangle --output dist/mqtt.min.js", + "build:browser": "rimraf dist/ && mkdirp dist/ && browserify build/mqtt.js --standalone mqtt > dist/mqtt.js && terser dist/mqtt.js --compress --mangle --output dist/mqtt.min.js", "build": "npm run build:ts && npm run build:browser", "prepare": "npm run build", "unit-test:node": "node_modules/.bin/nyc --reporter=lcov --reporter=text ./node_modules/mocha/bin/_mocha -r ts-node/register test/*.ts --exit", @@ -94,7 +94,7 @@ "node": ">=16.0.0" }, "browser": { - "./mqtt.js": "./build/src/mqtt.js", + "./mqtt.js": "./build/mqtt.js", "fs": false, "tls": false, "net": false diff --git a/src/bin/mqtt.ts b/src/bin/mqtt.ts index 14e13203c..7f2027a44 100755 --- a/src/bin/mqtt.ts +++ b/src/bin/mqtt.ts @@ -7,19 +7,26 @@ * See LICENSE for more information */ import path from 'path' -import commist from 'commist' -import helpMe from 'help-me' -import { version } from '../../package.json' +import Commist from 'commist' +import help from 'help-me' import publish from './pub' import subscribe from './sub' -helpMe({ - dir: path.join(path.dirname(require.main.filename), '/../doc'), +// eslint-disable-next-line @typescript-eslint/no-var-requires +const version = require('../../package.json').version + +const helpMe = help({ + dir: path.join(__dirname, '../../', 'help'), ext: '.txt', }) +const commist = Commist() + commist.register('publish', publish) +commist.register('pub', publish) + commist.register('subscribe', subscribe) +commist.register('sub', subscribe) commist.register('version', () => { console.log('MQTT.js version:', version) diff --git a/src/bin/pub.ts b/src/bin/pub.ts index 203fe0f35..eb0b74f2e 100755 --- a/src/bin/pub.ts +++ b/src/bin/pub.ts @@ -4,15 +4,16 @@ import { Writable } from 'readable-stream' import path from 'path' import fs from 'fs' import concat from 'concat-stream' -import helpMe from 'help-me' +import help from 'help-me' + import minimist, { ParsedArgs } from 'minimist' import split2 from 'split2' import { connect } from '../mqtt' import { IClientOptions, IClientPublishOptions } from 'src/lib/client' import { pipeline } from 'stream' -helpMe({ - dir: path.join(__dirname, '..', 'doc'), +const helpMe = help({ + dir: path.join(__dirname, '../../', 'help'), }) function send(args: ParsedArgs) { @@ -142,8 +143,10 @@ export default function start(args: string[]) { parsedArgs.rejectUnauthorized = false } - parsedArgs.topic = (parsedArgs.topic || parsedArgs._.shift()).toString() - parsedArgs.message = (parsedArgs.message || parsedArgs._.shift()).toString() + parsedArgs.topic = (parsedArgs.topic || parsedArgs._.shift())?.toString() + parsedArgs.message = ( + parsedArgs.message || parsedArgs._.shift() + )?.toString() if (!parsedArgs.topic) { console.error('missing topic\n') diff --git a/src/bin/sub.ts b/src/bin/sub.ts index d8ec02981..ffdb6b77b 100755 --- a/src/bin/sub.ts +++ b/src/bin/sub.ts @@ -3,12 +3,12 @@ import path from 'path' import fs from 'fs' import minimist from 'minimist' -import helpMe from 'help-me' +import help from 'help-me' import { connect } from '../mqtt' import { IClientOptions } from 'src/lib/client' -helpMe({ - dir: path.join(__dirname, '..', 'doc'), +const helpMe = help({ + dir: path.join(__dirname, '../../', 'help'), }) export default function start(args: string[]) {