mirror of
https://github.com/flynx/argv.js.git
synced 2025-12-18 01:21:40 +00:00
electron support now seems to be stable...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
8c4846c46b
commit
6b9aafaa47
43
argv.js
43
argv.js
@ -31,6 +31,17 @@ var object = require('ig-object')
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
var ELECTRON_PACKAGED =
|
||||||
|
(process.mainModule || {filename: ''})
|
||||||
|
.filename.includes('app.asar')
|
||||||
|
|| process.argv
|
||||||
|
.filter(function(e){
|
||||||
|
return e.includes('app.asar') })
|
||||||
|
.length > 0
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------
|
//---------------------------------------------------------------------
|
||||||
// setup...
|
// setup...
|
||||||
|
|
||||||
@ -418,7 +429,6 @@ object.Constructor('Parser', {
|
|||||||
hideExt: /\.exe$/,
|
hideExt: /\.exe$/,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// instance stuff...
|
// instance stuff...
|
||||||
// XXX do we need all three???
|
// XXX do we need all three???
|
||||||
script: null,
|
script: null,
|
||||||
@ -1156,6 +1166,7 @@ object.Constructor('Parser', {
|
|||||||
__call__: function(context, argv, main, root_value){
|
__call__: function(context, argv, main, root_value){
|
||||||
var that = this
|
var that = this
|
||||||
var parsed = Object.create(this)
|
var parsed = Object.create(this)
|
||||||
|
var nested = parsed.parent = false
|
||||||
var opt_pattern = parsed.optionInputPattern
|
var opt_pattern = parsed.optionInputPattern
|
||||||
|
|
||||||
// prep argv...
|
// prep argv...
|
||||||
@ -1166,30 +1177,26 @@ object.Constructor('Parser', {
|
|||||||
: [])
|
: [])
|
||||||
: argv
|
: argv
|
||||||
parsed.argv = rest.slice()
|
parsed.argv = rest.slice()
|
||||||
main = main
|
|
||||||
|| (require.main || {}).filename
|
|
||||||
|| this.script
|
|
||||||
// nested handler...
|
// nested handler...
|
||||||
var nested = parsed.parent = false
|
|
||||||
if(context instanceof Parser){
|
if(context instanceof Parser){
|
||||||
nested = parsed.parent = context
|
nested = parsed.parent = context
|
||||||
main = context.scriptName +' '+ main
|
main = context.scriptName +' '+ main
|
||||||
rest.unshift(main)
|
rest.unshift(main)
|
||||||
|
|
||||||
// electron packaged app root -- no script included...
|
// electron packaged app root -- no script included...
|
||||||
} else if(main
|
} else if(ELECTRON_PACKAGED){
|
||||||
&& rest[1] != main
|
main = main || rest[0]
|
||||||
// both paths can be relative...
|
main = (parsed.hideExt && parsed.hideExt.test(rest[0])) ?
|
||||||
&& path.resolve(process.cwd(), rest[1])
|
|
||||||
!= path.resolve(process.cwd(), main)){
|
|
||||||
main = (this.hideExt && this.hideExt.test(rest[0])) ?
|
|
||||||
// remove ext...
|
// remove ext...
|
||||||
rest[0].replace(this.hideExt, '')
|
main.replace(parsed.hideExt, '')
|
||||||
: rest[0]
|
: main
|
||||||
rest.splice(1, 0, rest[0]) }
|
rest.splice(0, 1, main)
|
||||||
// normalize the argv...
|
|
||||||
if(main != null && rest[0] == process.execPath){
|
// node...
|
||||||
rest.splice(0, 2)
|
} else {
|
||||||
rest.unshift(main) }
|
main = main || rest[1]
|
||||||
|
rest.splice(0, 2, main) }
|
||||||
|
|
||||||
// script stuff...
|
// script stuff...
|
||||||
var script = parsed.script = rest.shift()
|
var script = parsed.script = rest.shift()
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ig-argv",
|
"name": "ig-argv",
|
||||||
"version": "2.16.2",
|
"version": "2.16.3",
|
||||||
"description": "simple argv parser",
|
"description": "simple argv parser",
|
||||||
"main": "argv.js",
|
"main": "argv.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user