@dot-event/argv
Advanced tools
+40
| /*prettier-ignore*/ | ||
| "use strict"; | ||
| var getopts = require("getopts") | ||
| module.exports = function(dot) { | ||
| if (dot.argv) { | ||
| return | ||
| } | ||
| dot.any("argv", argv) | ||
| } | ||
| function argv(prop, arg, dot) { | ||
| var alias, args | ||
| if (arg) { | ||
| args = arg.args | ||
| alias = arg.alias | ||
| } | ||
| if (!Array.isArray(args)) { | ||
| args = processArgv() | ||
| } | ||
| args = getopts(args, { alias: alias }) | ||
| if (arg && arg.save) { | ||
| return dot("set", prop, args) | ||
| } else { | ||
| return args | ||
| } | ||
| } | ||
| function processArgv() { | ||
| if (typeof process === "undefined") { | ||
| return | ||
| } | ||
| return process.argv.slice(2) | ||
| } |
+48
| /* eslint-env jest */ | ||
| var dot | ||
| beforeEach(function() { | ||
| dot = require("dot-event")() | ||
| require("@dot-event/store")(dot) | ||
| require("./argv")(dot) | ||
| }) | ||
| test("args from array", function() { | ||
| expect.assertions(1) | ||
| return dot("argv", "test", { | ||
| args: ["a", "-b", "--c=d"], | ||
| save: true, | ||
| }).then(function() { | ||
| expect(dot.get("test")).toEqual({ | ||
| _: ["a"], | ||
| b: true, | ||
| c: "d", | ||
| }) | ||
| }) | ||
| }) | ||
| test("args from process", function() { | ||
| expect.assertions(1) | ||
| return dot.argv("test", { save: true }).then(function() { | ||
| expect(dot.get("test")).toEqual({ _: [] }) | ||
| }) | ||
| }) | ||
| test("args with alias", function() { | ||
| expect.assertions(1) | ||
| return dot("argv", "test", { | ||
| alias: { hi: "hello" }, | ||
| args: ["--hi"], | ||
| save: true, | ||
| }).then(function() { | ||
| expect(dot.get("test")).toEqual({ | ||
| _: [], | ||
| hello: true, | ||
| hi: true, | ||
| }) | ||
| }) | ||
| }) |
+22
-114
| { | ||
| "name": "@dot-event/argv", | ||
| "version": "2.10.11", | ||
| "description": "dot-event argument parsing operation", | ||
| "version": "3.0.0", | ||
| "description": "dot-event process.argv parser", | ||
| "keywords": [ | ||
| "arguments", | ||
| "cli", | ||
| "dot-event", | ||
| "operation" | ||
| "process.argv", | ||
| "parser" | ||
| ], | ||
@@ -17,89 +16,5 @@ "author": "dot-event <oss@dot-event.io>", | ||
| "license": "MIT", | ||
| "homepage": "https://github.com/dot-event/arg#readme", | ||
| "operations": { | ||
| "git": {}, | ||
| "link": {}, | ||
| "spawn": {}, | ||
| "starter": {}, | ||
| "version": {}, | ||
| "watchman": { | ||
| "triggers": [ | ||
| { | ||
| "name": "babel", | ||
| "expression": [ | ||
| "anyof", | ||
| [ | ||
| "match", | ||
| "lib/**/*.js", | ||
| "wholename" | ||
| ] | ||
| ], | ||
| "command": [ | ||
| "npm", | ||
| "run", | ||
| "build" | ||
| ] | ||
| } | ||
| ] | ||
| } | ||
| }, | ||
| "starters": [ | ||
| "basics", | ||
| "babel", | ||
| "babel-node", | ||
| "babel-scripts", | ||
| "eslint", | ||
| "husky", | ||
| "jest", | ||
| "jest-node", | ||
| "jest-scripts", | ||
| "watchman-babel" | ||
| ], | ||
| "dependencies": { | ||
| "@babel/runtime": "7.2.0", | ||
| "getopts": "2.2.2" | ||
| }, | ||
| "devDependencies": { | ||
| "@babel/cli": "7.2.0", | ||
| "@babel/core": "7.2.0", | ||
| "@babel/plugin-proposal-class-properties": "7.2.1", | ||
| "@babel/plugin-proposal-object-rest-spread": "7.2.0", | ||
| "@babel/plugin-transform-runtime": "7.2.0", | ||
| "@babel/preset-env": "7.2.0", | ||
| "babel-core": "7.0.0-bridge.0", | ||
| "babel-eslint": "10.0.1", | ||
| "dot-event": "2.12.11", | ||
| "@dot-event/store": "6.0.10", | ||
| "eslint": "5.9.0", | ||
| "eslint-config-prettier": "3.3.0", | ||
| "eslint-plugin-prettier": "3.0.0", | ||
| "eslint-plugin-react": "7.11.1", | ||
| "husky": "1.2.0", | ||
| "jest": "23.6.0", | ||
| "lint-staged": "8.1.0", | ||
| "prettier": "1.15.2", | ||
| "rimraf": "2.6.2" | ||
| }, | ||
| "babel": { | ||
| "presets": [ | ||
| [ | ||
| "@babel/preset-env", | ||
| { | ||
| "targets": { | ||
| "node": "6.14" | ||
| } | ||
| } | ||
| ] | ||
| ], | ||
| "plugins": [ | ||
| "@babel/plugin-proposal-class-properties", | ||
| "@babel/plugin-proposal-object-rest-spread", | ||
| "@babel/plugin-transform-runtime" | ||
| ] | ||
| }, | ||
| "main": "dist/argv.js", | ||
| "homepage": "https://github.com/dot-event/argv#readme", | ||
| "main": "argv.js", | ||
| "scripts": { | ||
| "build": "babel lib --out-dir dist --source-maps", | ||
| "prepublishOnly": "rimraf dist; npm run build", | ||
| "watch": "rimraf dist; babel lib --watch --out-dir dist --source-maps", | ||
| "fix": "npm run lint -- --fix", | ||
@@ -110,6 +25,19 @@ "lint": "eslint --ignore-path .gitignore --ext=js .", | ||
| }, | ||
| "dependencies": { | ||
| "getopts": "2.2.3" | ||
| }, | ||
| "devDependencies": { | ||
| "@dot-event/store": "7.0.16", | ||
| "dot-event": "3.1.3", | ||
| "eslint": "5.15.1", | ||
| "eslint-config-prettier": "4.1.0", | ||
| "eslint-plugin-prettier": "3.0.1", | ||
| "husky": "1.3.1", | ||
| "jest": "24.3.1", | ||
| "lint-staged": "8.1.5", | ||
| "prettier": "1.16.4" | ||
| }, | ||
| "eslintConfig": { | ||
| "env": { | ||
| "browser": true, | ||
| "es6": true, | ||
| "node": true | ||
@@ -119,13 +47,4 @@ }, | ||
| "eslint:recommended", | ||
| "plugin:prettier/recommended", | ||
| "plugin:react/recommended" | ||
| "plugin:prettier/recommended" | ||
| ], | ||
| "parser": "babel-eslint", | ||
| "parserOptions": { | ||
| "ecmaFeatures": { | ||
| "experimentalObjectRestSpread": true | ||
| }, | ||
| "ecmaVersion": 8, | ||
| "sourceType": "module" | ||
| }, | ||
| "rules": { | ||
@@ -166,10 +85,2 @@ "curly": "error", | ||
| ], | ||
| "react/display-name": "off", | ||
| "react/no-find-dom-node": "off", | ||
| "react/prop-types": "off", | ||
| "react/react-in-jsx-scope": "off", | ||
| "semi": [ | ||
| "error", | ||
| "never" | ||
| ], | ||
| "sort-keys": [ | ||
@@ -213,7 +124,4 @@ "error", | ||
| "jest": { | ||
| "setupFiles": [ | ||
| "<rootDir>/test/setup.js" | ||
| ], | ||
| "testMatch": [ | ||
| "<rootDir>/test/**/*Test.js" | ||
| "<rootDir>/**/*Test.js" | ||
| ], | ||
@@ -220,0 +128,0 @@ "testEnvironment": "node" |
+32
-2
| # @dot-event/argv | ||
| dot-event argument parsing operation | ||
| [dot-event](https://github.com/dot-event/dot-event#readme) `process.argv` parser | ||
|  | ||
|  | ||
| ## Install | ||
| ```bash | ||
| npm install dot-event @dot-event/argv | ||
| ``` | ||
| ## Usage | ||
| ```js | ||
| var dot = require("dot-event")() | ||
| require("@dot-event/argv")(dot) | ||
| var args = dot.argv() | ||
| expect(args).toEqual({ _: ["arg"], opt: true }) | ||
| ``` | ||
| ## Options | ||
| ```js | ||
| var args = dot.argv({ | ||
| args: ["arg", "-o"], | ||
| alias: { o: ["opt"] }, | ||
| }) | ||
| expect(args).toEqual({ _: ["arg"], o: true, opt: true }) | ||
| ``` | ||
| ## Credits | ||
| This project uses [getopts](https://github.com/jorgebucaran/getopts) for argument parsing. |
-75
| "use strict"; | ||
| var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| Object.defineProperty(exports, "argvRelay", { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _relay.argvRelay; | ||
| } | ||
| }); | ||
| exports.default = void 0; | ||
| var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); | ||
| var _getopts = _interopRequireDefault(require("getopts")); | ||
| var _relay = require("./argv/relay"); | ||
| // Packages | ||
| // Helpers | ||
| var _default = options => { | ||
| const { | ||
| events | ||
| } = options; | ||
| if (events.ops.has("argv")) { | ||
| return options; | ||
| } | ||
| events.withOptions({ | ||
| cwd: process.cwd() | ||
| }).onAny({ | ||
| argv: function () { | ||
| var _ref = (0, _asyncToGenerator2.default)(function* (options) { | ||
| const { | ||
| alias, | ||
| argv, | ||
| event, | ||
| props | ||
| } = options; | ||
| const raw = argv || events.get([...props, "argv", "raw"]); | ||
| const opts = (0, _getopts.default)(raw, event.options); | ||
| for (const opt in opts) { | ||
| if (opt.indexOf("-") > -1) { | ||
| opts[camelcase(opt)] = opts[opt]; | ||
| } | ||
| } | ||
| const value = { | ||
| alias, | ||
| opts, | ||
| raw | ||
| }; | ||
| yield events.set([...props, "argv"], value); | ||
| event.signal.returnValue = value; | ||
| }); | ||
| return function argv(_x) { | ||
| return _ref.apply(this, arguments); | ||
| }; | ||
| }() | ||
| }); | ||
| return options; | ||
| }; | ||
| exports.default = _default; | ||
| function camelcase(str) { | ||
| return str.replace(/-([a-z])/g, g => g[1].toUpperCase()); | ||
| } | ||
| //# sourceMappingURL=argv.js.map |
| {"version":3,"sources":["../lib/argv.js"],"names":["options","events","ops","has","withOptions","cwd","process","onAny","argv","alias","event","props","raw","get","opts","opt","indexOf","camelcase","value","set","signal","returnValue","str","replace","g","toUpperCase"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AAGA;;AAJA;AAGA;eAGeA,OAAO,IAAI;AACxB,QAAM;AAAEC,IAAAA;AAAF,MAAaD,OAAnB;;AAEA,MAAIC,MAAM,CAACC,GAAP,CAAWC,GAAX,CAAe,MAAf,CAAJ,EAA4B;AAC1B,WAAOH,OAAP;AACD;;AAEDC,EAAAA,MAAM,CACHG,WADH,CACe;AACXC,IAAAA,GAAG,EAAEC,OAAO,CAACD,GAAR;AADM,GADf,EAIGE,KAJH,CAIS;AACLC,IAAAA,IAAI;AAAA,iDAAE,WAAMR,OAAN,EAAiB;AACrB,cAAM;AAAES,UAAAA,KAAF;AAASD,UAAAA,IAAT;AAAeE,UAAAA,KAAf;AAAsBC,UAAAA;AAAtB,YAAgCX,OAAtC;AAEA,cAAMY,GAAG,GACPJ,IAAI,IAAIP,MAAM,CAACY,GAAP,CAAW,CAAC,GAAGF,KAAJ,EAAW,MAAX,EAAmB,KAAnB,CAAX,CADV;AAGA,cAAMG,IAAI,GAAG,sBAAQF,GAAR,EAAaF,KAAK,CAACV,OAAnB,CAAb;;AAEA,aAAK,MAAMe,GAAX,IAAkBD,IAAlB,EAAwB;AACtB,cAAIC,GAAG,CAACC,OAAJ,CAAY,GAAZ,IAAmB,CAAC,CAAxB,EAA2B;AACzBF,YAAAA,IAAI,CAACG,SAAS,CAACF,GAAD,CAAV,CAAJ,GAAuBD,IAAI,CAACC,GAAD,CAA3B;AACD;AACF;;AAED,cAAMG,KAAK,GAAG;AAAET,UAAAA,KAAF;AAASK,UAAAA,IAAT;AAAeF,UAAAA;AAAf,SAAd;AACA,cAAMX,MAAM,CAACkB,GAAP,CAAW,CAAC,GAAGR,KAAJ,EAAW,MAAX,CAAX,EAA+BO,KAA/B,CAAN;AAEAR,QAAAA,KAAK,CAACU,MAAN,CAAaC,WAAb,GAA2BH,KAA3B;AACD,OAlBG;;AAAA;AAAA;AAAA;AAAA;AADC,GAJT;AA0BA,SAAOlB,OAAP;AACD,C;;;;AAED,SAASiB,SAAT,CAAmBK,GAAnB,EAAwB;AACtB,SAAOA,GAAG,CAACC,OAAJ,CAAY,WAAZ,EAAyBC,CAAC,IAAIA,CAAC,CAAC,CAAD,CAAD,CAAKC,WAAL,EAA9B,CAAP;AACD","sourcesContent":["// Packages\nimport getopts from \"getopts\"\n\n// Helpers\nexport { argvRelay } from \"./argv/relay\"\n\nexport default options => {\n const { events } = options\n\n if (events.ops.has(\"argv\")) {\n return options\n }\n\n events\n .withOptions({\n cwd: process.cwd(),\n })\n .onAny({\n argv: async options => {\n const { alias, argv, event, props } = options\n\n const raw =\n argv || events.get([...props, \"argv\", \"raw\"])\n\n const opts = getopts(raw, event.options)\n\n for (const opt in opts) {\n if (opt.indexOf(\"-\") > -1) {\n opts[camelcase(opt)] = opts[opt]\n }\n }\n\n const value = { alias, opts, raw }\n await events.set([...props, \"argv\"], value)\n\n event.signal.returnValue = value\n },\n })\n\n return options\n}\n\nfunction camelcase(str) {\n return str.replace(/-([a-z])/g, g => g[1].toUpperCase())\n}\n"],"file":"argv.js"} |
| "use strict"; | ||
| var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.argvRelay = argvRelay; | ||
| var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); | ||
| function argvRelay(_x) { | ||
| return _argvRelay.apply(this, arguments); | ||
| } | ||
| function _argvRelay() { | ||
| _argvRelay = (0, _asyncToGenerator2.default)(function* (options) { | ||
| const { | ||
| event, | ||
| events, | ||
| props | ||
| } = options; | ||
| const { | ||
| alias | ||
| } = events.get("argv"); | ||
| for (const [op] of Object.values(alias)) { | ||
| const fn = event.op + op.charAt(0).toUpperCase() + op.slice(1); | ||
| if (events[fn] && options[op]) { | ||
| event.signal.returnValue = yield events[fn](props, options); | ||
| } | ||
| } | ||
| }); | ||
| return _argvRelay.apply(this, arguments); | ||
| } | ||
| //# sourceMappingURL=relay.js.map |
| {"version":3,"sources":["../../lib/argv/relay.js"],"names":["argvRelay","options","event","events","props","alias","get","op","Object","values","fn","charAt","toUpperCase","slice","signal","returnValue"],"mappings":";;;;;;;;;;;SAAsBA,S;;;;;+CAAf,WAAyBC,OAAzB,EAAkC;AACvC,UAAM;AAAEC,MAAAA,KAAF;AAASC,MAAAA,MAAT;AAAiBC,MAAAA;AAAjB,QAA2BH,OAAjC;AACA,UAAM;AAAEI,MAAAA;AAAF,QAAYF,MAAM,CAACG,GAAP,CAAW,MAAX,CAAlB;;AAEA,SAAK,MAAM,CAACC,EAAD,CAAX,IAAmBC,MAAM,CAACC,MAAP,CAAcJ,KAAd,CAAnB,EAAyC;AACvC,YAAMK,EAAE,GACNR,KAAK,CAACK,EAAN,GAAWA,EAAE,CAACI,MAAH,CAAU,CAAV,EAAaC,WAAb,EAAX,GAAwCL,EAAE,CAACM,KAAH,CAAS,CAAT,CAD1C;;AAGA,UAAIV,MAAM,CAACO,EAAD,CAAN,IAAcT,OAAO,CAACM,EAAD,CAAzB,EAA+B;AAC7BL,QAAAA,KAAK,CAACY,MAAN,CAAaC,WAAb,SAAiCZ,MAAM,CAACO,EAAD,CAAN,CAC/BN,KAD+B,EAE/BH,OAF+B,CAAjC;AAID;AACF;AACF,G","sourcesContent":["export async function argvRelay(options) {\n const { event, events, props } = options\n const { alias } = events.get(\"argv\")\n\n for (const [op] of Object.values(alias)) {\n const fn =\n event.op + op.charAt(0).toUpperCase() + op.slice(1)\n\n if (events[fn] && options[op]) {\n event.signal.returnValue = await events[fn](\n props,\n options\n )\n }\n }\n}\n"],"file":"relay.js"} |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
1
-50%9
-52.63%36
500%4533
-58.77%5
-28.57%71
-21.11%1
Infinity%+ Added
- Removed
- Removed
- Removed
- Removed
Updated