Security News
The Risks of Misguided Research in Supply Chain Security
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
@factorialco/shadowdog
Advanced tools
Shadowdog is a Node.js package for generating artifacts as derivative processes of files in your project. Whether you need to generate static assets, precompiled resources, or any other transformations, Shadowdog makes it easy and powerful with its supercharged feature set.
Install Shadowdog via npm:
npm install shadowdog --save-dev
Shadowdog uses a configuration file (shadowdog.json
) to define workflows for generating artifacts. Here’s an example:
{
"$schema": "https://raw.githubusercontent.com/factorialco/shadowdog/refs/heads/main/schema.json",
"plugins": [],
"watchers": [
{
"files": ["example.txt"],
"commands": [
{
"artifacts": [
{
"output": "example.output.txt"
}
],
"command": "cp example.txt example.output.txt"
}
]
}
]
}
$schema
: Provides schema validation for the configuration.plugins
: An array of plugin names to extend Shadowdog's functionality.watchers
: Defines file watchers that trigger artifact generation commands.
files
: An array of file paths or glob patterns to watch.commands
: Commands to execute when changes are detected.
artifacts
: Specifies the output files generated by the command.command
: The shell command to run.Shadowdog provides a variety of commands to simplify your workflows:
npx shadowdog
npx shadowdog --watch
Enhance Shadowdog with these powerful plugins:
shadowdog-local-cache
Implements a local caching mechanism to speed up repeated artifact generation.
shadowdog-remote-aws-s3-cache
Enables remote caching with AWS S3 for distributed workflows.
shadowdog-tag
Adds tagging capabilities to filter specific commands.
shadowdog-git
Handles git rebases and merges smoothly pausing the watcher and resuming it after the rebase is done.
shadowdog-socket
Provides an external communication channel for interacting with Shadowdog.
shadowdog-tree
Generate a dependency tree structure between commands to run different commands that depend on each other.
shadowdog-rake
Optimize multiple bundle exec rake
commmands into a single command.
To use a plugin, add it to the plugins
section of your shadowdog.json
configuration file. For example:
Update your configuration:
{
...
"plugins": [
{
"name": "shadowdog-local-cache",
},
{
"name" : "shadowdog-tree"
}
]
...
}
Take into account that the order of plugins is important. The plugins will be executed in the order they are defined in the configuration file.
Shadowdog is open source and available under the MIT License.
If you encounter any issues, have questions, or want to suggest features, please open an issue or join the discussions.
Enjoy artifact generation, supercharged! 🐾
FAQs
Unknown package
The npm package @factorialco/shadowdog receives a total of 344 weekly downloads. As such, @factorialco/shadowdog popularity was classified as not popular.
We found that @factorialco/shadowdog demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers 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
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.