A toolset for easily working with node process command line arguments.
A node arguments parser
A simple npm package that loads configuration using .env files, environment variables and node arguments
Cross platform child_process#spawn and child_process#spawnSync
Provides easy way to get node arguments.
string-argv parses a string into an argument array to mimic process.argv. This is useful when testing Command Line Utilities that you want to pass arguments to.
Simply swizzle your arguments
Electron supporting package to rebuild native node modules against the currently installed electron
Is this an arguments object? It's a harder question than you think.
Installs the protocol buffer compiler "protoc" for you.
the complete solution for node.js command-line programs
Parse node arguments
gRPC Library for Node - pure JS implementation
`Start a promise chain
Prettifier for Pino log lines
Simple monitor script for use during development of a Node.js app.
An easy-to-use wildcard globbing library.
Polyfill of future proposal for `util.parseArgs()`
abstract base class for crypto-streams
Restarts your app when files are modified
yargs the modern, pirate-themed, successor to optimist.
TypeScript implementation of debounce
Open stuff like URLs, files, executables. Cross-platform.
ECMAScript (ESTree) AST walker
Diggr is a ruby wrapper for the Digg API. Diggr strives to remain consistent with the Digg API endpoints listed here: http://apidoc.digg.com/CompleteList. Endpoints are created in Diggr with method calls. Each node in an endpoint becomes a method call and each node which is an argument becomes an argument to the previous method. As an example, the following endpoint /user/{user name} in which the user name is "johndoe" would be created with this Diggr call: diggr.user("johndoe") To send the request to the Digg API and retrieve the results of the call, Diggr requests are terminated in one of two ways. 1. Using the fetch method. By ending your request with the fetch method, your result will be returned to you. If the request is singular, you will receive a single object as a response. If the request is plural, you will receive a collection of objects stored in an array. 2. Using any Enumerable method. In this case, it is unnecessary to use the fetch method. See the synopsis for examples of each of these types of calls. Options such as count or offset can be set using the options method and providing a hash of arguments. See synopsis for more information. Note: In an effort to remain consistent with the Digg API, some method names do not follow the ruby idiom of underscores. Although somewhat ugly, this allows a user to read the Digg API and understand the exact methods to call in Diggr to achieve their desired results.
Diggr is a ruby wrapper for the Digg API. Diggr strives to remain consistent with the Digg API endpoints listed here: http://apidoc.digg.com/CompleteList. Endpoints are created in Diggr with method calls. Each node in an endpoint becomes a method call and each node which is an argument becomes an argument to the previous method. As an example, the following endpoint /user/{user name} in which the user name is "johndoe" would be created with this Diggr call: diggr.user("johndoe") To send the request to the Digg API and retrieve the results of the call, Diggr requests are terminated in one of two ways. 1. Using the fetch method. By ending your request with the fetch method, your result will be returned to you. If the request is singular, you will receive a single object as a response. If the request is plural, you will receive a collection of objects stored in an array. 2. Using any Enumerable method. This works only on plural requests. In this case, it is unnecessary to use the fetch method. See the synopsis for examples of each of these types of calls. Options such as count or offset can be set using the options method and providing a hash of arguments. See synopsis for more information. Note: In an effort to remain consistent with the Digg API, some method names do not follow the ruby idiom of underscores. Although somewhat ugly, this allows a user to read the Digg API and understand the exact methods to call in Diggr to achieve their desired results.
Flay analyzes code for structural similarities. Differences in literal values, variable, class, method names, whitespace, programming style, braces vs do/end, etc are all ignored. Making this totally rad. == Features/Problems: * Reports differences at any level of code. * Adds a score multiplier to identical nodes. * Differences in literal values, variable, class, and method names are ignored. * Differences in whitespace, programming style, braces vs do/end, etc are ignored. * Works across files. * Add the flay-persistent plugin to work across large/many projects. * Run --diff to see an N-way diff of the code. * Provides conservative (default) and --liberal pruning options. * Provides --fuzzy duplication detection. * Language independent: Plugin system allows other languages to be flayed. * Ships with .rb and .erb. * javascript and others will be available separately. * Includes FlayTask for Rakefiles. * Uses path_expander, so you can use: * dir_arg -- expand a directory automatically * @file_of_args -- persist arguments in a file * -path_to_subtract -- ignore intersecting subsets of files/directories * Skips files matched via patterns in .flayignore (subset format of .gitignore). * Totally rad.
Diggr is a ruby wrapper for the Digg API. Diggr strives to remain consistent with the Digg API endpoints listed here: http://apidoc.digg.com/CompleteList. Endpoints are created in Diggr with method calls. Each node in an endpoint becomes a method call and each node which is an argument becomes an argument to the previous method. As an example, the following endpoint /user/{user name} in which the user name is "johndoe" would be created with this Diggr call: diggr.user("johndoe") To send the request to the Digg API and retrieve the results of the call, Diggr requests are terminated in one of two ways. 1. Using the fetch method. By ending your request with the fetch method, your result will be returned to you. If the request is singular, you will receive a single object as a response. If the request is plural, you will receive a collection of objects stored in an array. 2. Using any Enumerable method. In this case, it is unnecessary to use the fetch method. See the synopsis for examples of each of these types of calls. Options such as count or offset can be set using the options method and providing a hash of arguments. See synopsis for more information. Note: In an effort to remain consistent with the Digg API, some method names do not follow the ruby idiom of underscores. Although somewhat ugly, this allows a user to read the Digg API and understand the exact methods to call in Diggr to achieve their desired results.
= DESCRIPTION: Provides a Chef handler which can report run status, including any changes that were made, to a Graylog2 server. In the case of failed runs a backtrace will be included in the details reported. = REQUIREMENTS: * A Graylog2 server running somewhere. = USAGE: This example makes of the chef_handler cookbook, place some thing like this in cookbooks/chef_handler/recipes/gelf.rb and add it to your run list. It also assumes your Graylog2 server has set the attribute rsyslog_server to true. log_server = search(:node, "rsyslog_server:true").first if log_server include_recipe "chef_handler::default" gem_package "chef-gelf" do action :nothing end.run_action(:install) # Make sure the newly installed Gem is loaded. Gem.clear_paths require 'chef/gelf' chef_handler "Chef::GELF::Handler" do source "chef/gelf" arguments({ :server => log_server['fqdn'] }) supports :exception => true, :report => true end.run_action(:enable) end Arguments take the form of an options hash, with the following options: * :server - The server to send messages to. * :port (12201) - The port to send on. * :facility (chef-client) - The facility to report under. * :host (node.fqdn) - The host to report messages as coming from. * :blacklist ({}) - A hash of cookbooks, resources and actions to ignore in the change list. = BLACKLISTING: Some resources report themselves as having updated on every run even if nothing changed, or are just things you don't care about. To reduce the amount of noise in your logs these can be ignored by providing a blacklist. In this example we don't want to be told about the GELF handler being activated: chef_handler "Chef::GELF::Handler" do source "chef/gelf" arguments({ :server => log_server['fqdn'], :blacklist => { "chef_handler" => { "chef_handler" => [ "nothing", "enable" ] } } }) supports :exception => true, :report => true end.run_action(:enable) = LICENSE and AUTHOR: Author:: Jon Wood (<jon@blankpad.net>) Copyright:: 2011, Blank Pad Development Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Chef-Berksfile-Env ================== A Chef plugin which allows you to lock down your Chef Environment's cookbook versions with a Berksfile. This is effectively the same as doing `berks apply ...` but via `knife environment from file ...`. View the [Change Log](https://github.com/bbaugher/chef-berksfile-env/blob/master/CHANGELOG.md) to see what has changed. Installation ------------ /opt/chef/embedded/bin/gem install chef-berksfile-env Usage ----- In your chef repo create a Berksfile next to your Chef environment file like this, chef-repo/environments/[ENV_NAME]/Berksfile This is the default location that will used by the plugin. We have to put the Berksfile in its own directory since [multiple Berksfiles can't exist in the same directory](https://github.com/berkshelf/berkshelf/issues/1247). The berksfile should include any cookbooks that your nodes or roles explicitly mention for that environment, source "https://supermarket.getchef.com" cookbook "java" cookbook "yum", "~> 2.0" ... Next we need to generate our Berksfile's lock file, berks install Your environment file must by in `.rb` format and look like this, require 'chef-berksfile-env' # The name must be defined first so we can use it to find the Berksfile name "my_env" # Load Berksfile locked dependencies as my environment's cookbook version contraints load_berksfile ... Now our environment will use the locked versions of the cookbooks and transitive dependencies generated by our Berksfile. Upgrading to the latest dependecies is now as simple as, berks install Our Berksfile also provides an easy way to ensure all the cookbooks and their versions that our environment requires are uploaded to our chef-server, berks upload How the Plugin Finds the Berksfile ---------------------------------- If you are curious how the plugin knows to find the Berksfile in `chef-repo/environments/[ENV]/Berksfile`, you want to put your Berksfile somewhere else or you have run into this error `Expected Berksfile at [/path/../Berksfile] but does not exist`, this section will explain how this works and ways to tweak the path or fix your error. `load_berksfile` has an optional argument which represents the path to your Berksfile. This path can be pseduo relative (explained in a moment) or absolute. By default the value is `environments/[ENV_NAME]/Berksfile`. By pseduo relative I mean that its a relative path but the plugin will check to see if the directory we are executing from partially matches our relative path. So if we are running knife from `/home/chef-repo/environments` and our relative path is `chef-repo/environments/dev/Berksfile` the plugin will see that the relative path is partially included in our execution directory and will attempt to merge the two to come up with `/home/chef-repo/environments/dev/Berksfile`. If we can't make any match at all we attempt to guess the path by just joining the relative path with our execution directory. So why do we do this? Well the only way to use this plugin is if your environment is in Ruby format. Chef's `knife from file ...` uses Ruby's `instance_eval` in order to do this. This means the code on Chef's end effectively looks like this, env.instance_eval(IO.read(env_ruby_file)) which means that any context about the location of the environment file is lost. So we have no great way to discern the location of our environment Ruby file, so instead we guess.
Diff and patch tables
Diff and patch tables