mirror of
https://github.com/flynx/argv.js.git
synced 2025-12-17 09:01: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...
|
||||
|
||||
@ -418,7 +429,6 @@ object.Constructor('Parser', {
|
||||
hideExt: /\.exe$/,
|
||||
|
||||
|
||||
|
||||
// instance stuff...
|
||||
// XXX do we need all three???
|
||||
script: null,
|
||||
@ -1156,6 +1166,7 @@ object.Constructor('Parser', {
|
||||
__call__: function(context, argv, main, root_value){
|
||||
var that = this
|
||||
var parsed = Object.create(this)
|
||||
var nested = parsed.parent = false
|
||||
var opt_pattern = parsed.optionInputPattern
|
||||
|
||||
// prep argv...
|
||||
@ -1166,30 +1177,26 @@ object.Constructor('Parser', {
|
||||
: [])
|
||||
: argv
|
||||
parsed.argv = rest.slice()
|
||||
main = main
|
||||
|| (require.main || {}).filename
|
||||
|| this.script
|
||||
|
||||
// nested handler...
|
||||
var nested = parsed.parent = false
|
||||
if(context instanceof Parser){
|
||||
nested = parsed.parent = context
|
||||
main = context.scriptName +' '+ main
|
||||
rest.unshift(main)
|
||||
|
||||
// electron packaged app root -- no script included...
|
||||
} else if(main
|
||||
&& rest[1] != main
|
||||
// both paths can be relative...
|
||||
&& path.resolve(process.cwd(), rest[1])
|
||||
!= path.resolve(process.cwd(), main)){
|
||||
main = (this.hideExt && this.hideExt.test(rest[0])) ?
|
||||
} else if(ELECTRON_PACKAGED){
|
||||
main = main || rest[0]
|
||||
main = (parsed.hideExt && parsed.hideExt.test(rest[0])) ?
|
||||
// remove ext...
|
||||
rest[0].replace(this.hideExt, '')
|
||||
: rest[0]
|
||||
rest.splice(1, 0, rest[0]) }
|
||||
// normalize the argv...
|
||||
if(main != null && rest[0] == process.execPath){
|
||||
rest.splice(0, 2)
|
||||
rest.unshift(main) }
|
||||
main.replace(parsed.hideExt, '')
|
||||
: main
|
||||
rest.splice(0, 1, main)
|
||||
|
||||
// node...
|
||||
} else {
|
||||
main = main || rest[1]
|
||||
rest.splice(0, 2, main) }
|
||||
|
||||
// script stuff...
|
||||
var script = parsed.script = rest.shift()
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ig-argv",
|
||||
"version": "2.16.2",
|
||||
"version": "2.16.3",
|
||||
"description": "simple argv parser",
|
||||
"main": "argv.js",
|
||||
"scripts": {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user