🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@dot-event/argv

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@dot-event/argv - npm Package Compare versions

Comparing version
2.10.11
to
3.0.0
+40
argv.js
/*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)
}
/* 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"

# @dot-event/argv
dot-event argument parsing operation
[dot-event](https://github.com/dot-event/dot-event#readme) `process.argv` parser
![arg](https://media.giphy.com/media/3o7TKzyIPAiMR1pErK/giphy.gif)
![argv](argv.gif)
## 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.
"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"}