Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F101937772
index.js
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sat, Feb 15, 08:53
Size
2 KB
Mime Type
text/x-java
Expires
Mon, Feb 17, 08:53 (2 d)
Engine
blob
Format
Raw Data
Handle
24249518
Attached To
rOACCT Open Access Compliance Check Tool (OACCT)
index.js
View Options
/**
* @fileoverview Main entrypoint for libraries using yargs-parser in Node.js
* CJS and ESM environments.
*
* @license
* Copyright (c) 2016, Contributors
* SPDX-License-Identifier: ISC
*/
import
{
format
}
from
'util'
;
import
{
readFileSync
}
from
'fs'
;
import
{
normalize
,
resolve
}
from
'path'
;
import
{
camelCase
,
decamelize
,
looksLikeNumber
}
from
'./string-utils.js'
;
import
{
YargsParser
}
from
'./yargs-parser.js'
;
// See https://github.com/yargs/yargs-parser#supported-nodejs-versions for our
// version support policy. The YARGS_MIN_NODE_VERSION is used for testing only.
const
minNodeVersion
=
(
process
&&
process
.
env
&&
process
.
env
.
YARGS_MIN_NODE_VERSION
)
?
Number
(
process
.
env
.
YARGS_MIN_NODE_VERSION
)
:
10
;
if
(
process
&&
process
.
version
)
{
const
major
=
Number
(
process
.
version
.
match
(
/v([^.]+)/
)[
1
]);
if
(
major
<
minNodeVersion
)
{
throw
Error
(
`
yargs
parser
supports
a
minimum
Node
.
js
version
of
$
{
minNodeVersion
}.
Read
our
version
support
policy
:
https
:
//github.com/yargs/yargs-parser#supported-nodejs-versions`);
}
}
// Creates a yargs-parser instance using Node.js standard libraries:
const
env
=
process
?
process
.
env
:
{};
const
parser
=
new
YargsParser
({
cwd
:
process
.
cwd
,
env
:
()
=>
{
return
env
;
},
format
,
normalize
,
resolve
,
// TODO: figure out a way to combine ESM and CJS coverage, such that
// we can exercise all the lines below:
require
:
(
path
)
=>
{
if
(
typeof
require
!==
'undefined'
)
{
return
require
(
path
);
}
else
if
(
path
.
match
(
/\.json$/
))
{
return
readFileSync
(
path
,
'utf8'
);
}
else
{
throw
Error
(
'only .json config files are supported in ESM'
);
}
}
});
const
yargsParser
=
function
Parser
(
args
,
opts
)
{
const
result
=
parser
.
parse
(
args
.
slice
(),
opts
);
return
result
.
argv
;
};
yargsParser
.
detailed
=
function
(
args
,
opts
)
{
return
parser
.
parse
(
args
.
slice
(),
opts
);
};
yargsParser
.
camelCase
=
camelCase
;
yargsParser
.
decamelize
=
decamelize
;
yargsParser
.
looksLikeNumber
=
looksLikeNumber
;
export
default
yargsParser
;
Event Timeline
Log In to Comment