
Research
/Security News
npm Author Qix Compromised via Phishing Email in Major Supply Chain Attack
npm author Qix’s account was compromised, with malicious versions of popular packages like chalk-template, color-convert, and strip-ansi published.
@steeringwaves/gobs
Advanced tools
Parallel project runner with built in git integrations using user defined configuration files.
Why does this exist? I work on a lot of different git repos at the same time and and got tired of having so many terminal windows open to checkout branches, fetch, clone, run common scripts, etc... Hence the name gobs
--config
GOBS_CONFIG
.gobs.yml
--group
eg "test"
or even `"test || (home && 3dprinting)"--without
--project
run
to run command that is present in all projectsforeach <command>
to run a specified shell command in all projects--no-parallel
)-j
like make
?.gobs/config.yml
(no color, global variables, etc...)describe
should generate a manifest of all projects and include the current commit hash, if any files have changed and optionally any tagsdescribe
manifest should include an optional last log messagemake
or insert build tool herestring
renders the configuration to either yaml/json for use with other applications
all
so this would prevent a user from using a group named this, also our templates allow linking to projects but that syntax uses *
instead. Using *
on the command line is a pain because you have to specify it as '*' or else shell expansion will bite you"cd ${HOME} && pwd"
however "cd $HOME && pwd"
or "cd \"${env.HOME}\" && pwd"
or home=$(echo $HOME) && cd $home && pwd
will be fineUsing eval
is a pretty nasty hack, but allows for some nifty dynamic configurations using env variables.
Here is a snipped showing how the eval is executed:
eval("function run(self, app, env, vars){return `" + str + "`;} run(compileWith.self, compileWith.app, compileWith.env, compileWith.vars)")
${env.HOME}
${app.config_dir}
the directory of the specified configuration file${self.name}
only valid inside a project but self refers to the current project valueadd more details on internal variables...
Templates use the handlebars syntax and NOT the eval syntax. I know this may be confusing...
Templates can point to all projects using the keyword '*', but they can also point to an array of projects
Templates also get passed
env
app
self
projects
project
(assuming this template points to one or more projects)Example:
templates:
- name: active
file: "${app.config_dir}/workspace.hbs"
dest: "${vars.personal_workspace}/active.code-workspace"
chmod: "0644"
tools:
paths:
clangd: /usr/bin/clangd
node: "${vars.home_path}/.local/bin/node"
- name: gotidy
file: "${app.config_dir}/tidy.hbs"
# don't do this for our example
# dest: "${project.path}/tidy.sh"
chmod: "0755"
projects: "*"
example_dest: "${project.path}/tidy.sh"
FAQs
gobs parallel project helper
The npm package @steeringwaves/gobs receives a total of 0 weekly downloads. As such, @steeringwaves/gobs popularity was classified as not popular.
We found that @steeringwaves/gobs demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 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.
Research
/Security News
npm author Qix’s account was compromised, with malicious versions of popular packages like chalk-template, color-convert, and strip-ansi published.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.