Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Package description
The isexe npm package is used to check if a file is executable. It provides a simple interface to determine whether a given file path points to an executable file, based on the file's permissions and metadata. This can be particularly useful in build scripts, CLI tools, or any Node.js application that needs to validate file executability before proceeding with operations like launching a subprocess.
Check if a file is executable
This feature allows you to check asynchronously if a specific file is executable. It uses a callback function to return the result.
const isexe = require('isexe');
isexe('/path/to/file', function(err, isExecutable) {
if (err) return console.error(err);
console.log(isExecutable ? 'Executable' : 'Not executable');
});
Synchronous check for file executability
This feature provides a synchronous way to check if a file is executable, which can be useful in scripts where asynchronous operations are not desired.
const isexe = require('isexe');
try {
const isExecutable = isexe.sync('/path/to/file');
console.log(isExecutable ? 'Executable' : 'Not executable');
} catch (err) {
console.error(err);
}
Check executability with options
This feature demonstrates how to use the `isexe` package with options to customize the behavior of the executability check. For example, specifying `pathExt` option on Windows to consider certain file extensions as executable.
const isexe = require('isexe');
const options = { pathExt: '.EXE' }; // Example option for Windows environments
isexe('/path/to/file', options, function(err, isExecutable) {
if (err) return console.error(err);
console.log(isExecutable ? 'Executable' : 'Not executable');
});
While execa is primarily focused on providing a better `child_process` experience, it indirectly deals with executables by allowing you to execute external commands. It doesn't provide direct functionality to check if a file is executable, but it's related in the context of working with executables.
fs-extra extends the built-in Node.js `fs` module with additional functionality. It doesn't offer a direct method to check if a file is executable, but it provides more comprehensive file system operations which, combined with Node's native capabilities, could be used to implement a custom executability check.
Readme
Minimal module to check if a file is executable.
Uses fs.access
if available, and tests against the PATHEXT
environment variable on Windows.
var isexe = require('isexe')
isexe('some-file-name', function (err, isExe) {
if (err) {
console.error('probably file does not exist or something', err)
} else if (isExe) {
console.error('this thing can be run')
} else {
console.error('cannot be run')
}
})
// same thing but synchronous, throws errors
var isExe = isexe.sync('some-file-name')
// treat errors as just "not executable"
isexe('maybe-missing-file', { ignoreErrors: true }, callback)
var isExe = isexe.sync('maybe-missing-file', { ignoreErrors: true })
isexe(path, [options], [callback])
Check if the path is executable. If no callback provided, and a
global Promise
object is available, then a Promise will be returned.
Will raise whatever errors may be raised by fs.access
or fs.stat
,
unless options.ignoreErrors
is set to true.
isexe.sync(path, [options])
Same as isexe
but returns the value and throws any errors raised.
FAQs
Minimal module to check if a file is executable.
The npm package isexe receives a total of 42,249,858 weekly downloads. As such, isexe popularity was classified as popular.
We found that isexe demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.