
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
Toolbelt for Nimbu projects
You need a recent node and yarn. On Mac OS X:
brew install node yarn
You still need what was needed to use the old toolchain (ruby, bundler, ...)
Add this package to your project:
yarn add --dev nimbu
This will also execute bundle install to install the old toolchain it uses.
To start developing on your project that uses this toolbelt, just run:
yarn nimbu server
This will start a webpack-dev-server (and the old nimbu server that it
proxies to). Your browser should automatically open a connection to it at
http://localhost:4567/.
yarn nimbu buildyarn nimbu themes:push (this calls the ruby-based
toolchain -> all arguments you know are supported)NOTE: Both the development and production webpack configuration generate
snippets/webpack.liquid that gives access to the information about which files
webpack generated. This should be included and used in the layout of your theme.
Make sure that include is there and that you push the snippet to nimbu!
nimbu apps:confignimbu apps:listnimbu apps:push [FILES]nimbu auth:loginnimbu auth:logoutnimbu auth:tokennimbu auth:whoaminimbu autocomplete [SHELL]nimbu browse:adminnimbu browse:simulatornimbu channels:copynimbu channels:diffnimbu channels:entries:copynimbu channels:info CHANNELnimbu commandsnimbu confignimbu customers:config:copynimbu customers:config:diffnimbu help [COMMAND]nimbu initnimbu mails:pullnimbu mails:pushnimbu menus:copy [SLUG]nimbu pages:copy [FULLPATH]nimbu pluginsnimbu plugins:inspect PLUGIN...nimbu plugins:install PLUGIN...nimbu plugins:link PLUGINnimbu plugins:uninstall PLUGIN...nimbu plugins:updatenimbu products:config:copynimbu products:config:diffnimbu sites:copynimbu sites:listnimbu themes:copynimbu themes:pullnimbu translations:copy [QUERY]nimbu update [CHANNEL]nimbu versionnimbu whichnimbu apps:configAdd an app to the local configuration
USAGE
$ nimbu apps:config
DESCRIPTION
Add an app to the local configuration
See code: lib/commands/apps/config.js
nimbu apps:listList the applications registered in Nimbu
USAGE
$ nimbu apps:list
DESCRIPTION
List the applications registered in Nimbu
See code: lib/commands/apps/list.js
nimbu apps:push [FILES]Push your cloud code files to nimbu
USAGE
$ nimbu apps:push [FILES] [-a <value>]
ARGUMENTS
FILES The files to push.
FLAGS
-a, --app=<value> The (local) name of the application to push to (see apps:list and apps:config).
DESCRIPTION
Push your cloud code files to nimbu
See code: lib/commands/apps/push.js
nimbu auth:loginlogin with your nimbu credentials
USAGE
$ nimbu auth:login [-e <value>]
FLAGS
-e, --expires-in=<value> duration of token in seconds (default 1 year)
DESCRIPTION
login with your nimbu credentials
ALIASES
$ nimbu login
See code: lib/commands/auth/login.js
nimbu auth:logoutclears local login credentials and invalidates API session
USAGE
$ nimbu auth:logout
DESCRIPTION
clears local login credentials and invalidates API session
ALIASES
$ nimbu logout
See code: lib/commands/auth/logout.js
nimbu auth:tokenoutputs current CLI authentication token.
USAGE
$ nimbu auth:token [-h]
FLAGS
-h, --help Show CLI help.
DESCRIPTION
outputs current CLI authentication token.
By default, the CLI auth token is only valid for 1 year. To generate a long-lived token, use nimbu
authorizations:create
See code: lib/commands/auth/token.js
nimbu auth:whoamidisplay the current logged in user
USAGE
$ nimbu auth:whoami
DESCRIPTION
display the current logged in user
ALIASES
$ nimbu whoami
See code: lib/commands/auth/whoami.js
nimbu autocomplete [SHELL]display autocomplete installation instructions
USAGE
$ nimbu autocomplete [SHELL] [-r]
ARGUMENTS
SHELL shell type
FLAGS
-r, --refresh-cache Refresh cache (ignores displaying instructions)
DESCRIPTION
display autocomplete installation instructions
EXAMPLES
$ nimbu autocomplete
$ nimbu autocomplete bash
$ nimbu autocomplete zsh
$ nimbu autocomplete --refresh-cache
See code: @oclif/plugin-autocomplete
nimbu browse:adminopen the admin area for your current site
USAGE
$ nimbu browse:admin
DESCRIPTION
open the admin area for your current site
See code: lib/commands/browse/admin.js
nimbu browse:simulatoropen the simulator for your current site
USAGE
$ nimbu browse:simulator
DESCRIPTION
open the simulator for your current site
See code: lib/commands/browse/simulator.js
nimbu channels:copycopy channel configuration from one to another
USAGE
$ nimbu channels:copy -f <value> -t <value> [--force] [-a]
FLAGS
-a, --all copy all channels from source to target
-f, --from=<value> (required) slug of the source channel
-t, --to=<value> (required) slug of the target channel
--force do not ask confirmation to overwrite existing channel
DESCRIPTION
copy channel configuration from one to another
See code: lib/commands/channels/copy.js
nimbu channels:diffcheck differences between channel settings from one to another
USAGE
$ nimbu channels:diff -f <value> -t <value>
FLAGS
-f, --from=<value> (required) slug of the source channel
-t, --to=<value> (required) slug of the target channel
DESCRIPTION
check differences between channel settings from one to another
See code: lib/commands/channels/diff.js
nimbu channels:entries:copycopy channel entries from one to another
USAGE
$ nimbu channels:entries:copy -f <value> -t <value> [-q <value>] [-w <value>] [-u <value>] [-p <value>] [-r] [--only
<value>] [--copy-customers] [--allow-errors]
FLAGS
-f, --from=<value> (required) slug of the source channel
-p, --per-page=<value> number of entries to fetch per page
-q, --query=<value> query params to append to source channel api call
-r, --recursive automatically copy all dependent objects
-t, --to=<value> (required) slug of the target channel
-u, --upsert=<value> name of parameter to use for matching existing documents
-w, --where=<value> query expression to filter the source channel
--allow-errors do not stop when an item fails and continue with the other
--copy-customers copy and replicate all owners related to the objects we are copying
--only=<value> limit copy of channels to this list (comma-separated)
DESCRIPTION
copy channel entries from one to another
See code: lib/commands/channels/entries/copy.js
nimbu channels:info CHANNELlist info about this channel
USAGE
$ nimbu channels:info [CHANNEL] [--columns <value> | -x] [--sort <value>] [--filter <value>] [--output
csv|json|yaml|ts | | [--csv | --no-truncate]] [--no-header | ]
ARGUMENTS
CHANNEL slug of your channel (optionally with the site, i.e. site/channel)
FLAGS
-x, --extended show extra columns
--columns=<value> only show provided columns (comma-separated)
--csv output is csv format [alias: --output=csv]
--filter=<value> filter property by partial string matching, ex: name=foo
--no-header hide table header from output
--no-truncate do not truncate output to fit screen
--output=<option> output in a more machine friendly format
<options: csv|json|yaml|ts>
--sort=<value> property to sort by (prepend '-' for descending)
DESCRIPTION
list info about this channel
See code: lib/commands/channels/info.js
nimbu commandslist all the commands
USAGE
$ nimbu commands [--json] [-h] [--hidden] [--columns <value> | -x] [--sort <value>] [--filter <value>]
[--output csv|json|yaml | | [--csv | --no-truncate]] [--no-header | ]
FLAGS
-h, --help Show CLI help.
-x, --extended show extra columns
--columns=<value> only show provided columns (comma-separated)
--csv output is csv format [alias: --output=csv]
--filter=<value> filter property by partial string matching, ex: name=foo
--hidden show hidden commands
--no-header hide table header from output
--no-truncate do not truncate output to fit screen
--output=<option> output in a more machine friendly format
<options: csv|json|yaml>
--sort=<value> property to sort by (prepend '-' for descending)
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
list all the commands
See code: @oclif/plugin-commands
nimbu configShow resolved configuration
USAGE
$ nimbu config
DESCRIPTION
Show resolved configuration
See code: lib/commands/config.js
nimbu customers:config:copycopy customer customizations from one to another
USAGE
$ nimbu customers:config:copy [-f <value>] [-t <value>]
FLAGS
-f, --from=<value> subdomain of the source site
-t, --to=<value> subdomain of the destination site
DESCRIPTION
copy customer customizations from one to another
See code: lib/commands/customers/config/copy.js
nimbu customers:config:diffcheck differences between customer customizations from one to another
USAGE
$ nimbu customers:config:diff -f <value> -t <value>
FLAGS
-f, --from=<value> (required) slug of the source channel
-t, --to=<value> (required) slug of the target channel
DESCRIPTION
check differences between customer customizations from one to another
See code: lib/commands/customers/config/diff.js
nimbu help [COMMAND]Display help for nimbu.
USAGE
$ nimbu help [COMMAND] [-n]
ARGUMENTS
COMMAND Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for nimbu.
See code: @oclif/plugin-help
nimbu initinitialize your working directory to code a selected theme
USAGE
$ nimbu init [-c] [-h] [-s <value>]
FLAGS
-c, --cloudcode Create CloudCode directory
-h, --haml Use HAML for the templates in this project
-s, --site=<value> The site (use the Nimbu subdomain) to link to this project.
DESCRIPTION
initialize your working directory to code a selected theme
See code: lib/commands/init/index.js
nimbu mails:pulldownload all notification templates
USAGE
$ nimbu mails:pull [-o <value>]
FLAGS
-o, --only=<value>... the names of the templates to pull from Nimbu
DESCRIPTION
download all notification templates
See code: lib/commands/mails/pull.js
nimbu mails:pushupload all notification templates
USAGE
$ nimbu mails:push [-o <value>]
FLAGS
-o, --only=<value>... the names of the templates to push online
DESCRIPTION
upload all notification templates
See code: lib/commands/mails/push.js
nimbu menus:copy [SLUG]copy menus from one site to another
USAGE
$ nimbu menus:copy [SLUG] [-f <value>] [-t <value>]
ARGUMENTS
SLUG permalink of menu to be copied
FLAGS
-f, --from=<value> subdomain of the source site
-t, --to=<value> subdomain of the destination site
DESCRIPTION
copy menus from one site to another
See code: lib/commands/menus/copy.js
nimbu pages:copy [FULLPATH]copy page from one site to another
USAGE
$ nimbu pages:copy [FULLPATH] [-f <value>] [-t <value>] [--toHost <value>] [--fromHost <value>]
ARGUMENTS
FULLPATH [default: *] fullpath of pages to be copied
FLAGS
-f, --from=<value> subdomain of the source site
-t, --to=<value> subdomain of the destination site
--fromHost=<value> hostname of origin Nimbu API
--toHost=<value> hostname of target Nimbu API
DESCRIPTION
copy page from one site to another
See code: lib/commands/pages/copy.js
nimbu pluginsList installed plugins.
USAGE
$ nimbu plugins [--core]
FLAGS
--core Show core plugins.
DESCRIPTION
List installed plugins.
EXAMPLES
$ nimbu plugins
See code: @oclif/plugin-plugins
nimbu plugins:inspect PLUGIN...Displays installation properties of a plugin.
USAGE
$ nimbu plugins:inspect PLUGIN...
ARGUMENTS
PLUGIN [default: .] Plugin to inspect.
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Displays installation properties of a plugin.
EXAMPLES
$ nimbu plugins:inspect myplugin
See code: @oclif/plugin-plugins
nimbu plugins:install PLUGIN...Installs a plugin into the CLI.
USAGE
$ nimbu plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ nimbu plugins:add
EXAMPLES
$ nimbu plugins:install myplugin
$ nimbu plugins:install https://github.com/someuser/someplugin
$ nimbu plugins:install someuser/someplugin
See code: @oclif/plugin-plugins
nimbu plugins:link PLUGINLinks a plugin into the CLI for development.
USAGE
$ nimbu plugins:link PLUGIN
ARGUMENTS
PATH [default: .] path to plugin
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Links a plugin into the CLI for development.
Installation of a linked plugin will override a user-installed or core plugin.
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
command will override the user-installed or core plugin implementation. This is useful for development work.
EXAMPLES
$ nimbu plugins:link myplugin
See code: @oclif/plugin-plugins
nimbu plugins:uninstall PLUGIN...Removes a plugin from the CLI.
USAGE
$ nimbu plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ nimbu plugins:unlink
$ nimbu plugins:remove
See code: @oclif/plugin-plugins
nimbu plugins:updateUpdate installed plugins.
USAGE
$ nimbu plugins:update [-h] [-v]
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Update installed plugins.
See code: @oclif/plugin-plugins
nimbu products:config:copycopy product customizations from one to another
USAGE
$ nimbu products:config:copy [-f <value>] [-t <value>]
FLAGS
-f, --from=<value> subdomain of the source site
-t, --to=<value> subdomain of the destination site
DESCRIPTION
copy product customizations from one to another
See code: lib/commands/products/config/copy.js
nimbu products:config:diffcheck differences between product customizations from one to another
USAGE
$ nimbu products:config:diff -f <value> -t <value>
FLAGS
-f, --from=<value> (required) slug of the source channel
-t, --to=<value> (required) slug of the target channel
DESCRIPTION
check differences between product customizations from one to another
See code: lib/commands/products/config/diff.js
nimbu sites:copycopy a complete site from one to another
USAGE
$ nimbu sites:copy [-f <value>] [-t <value>] [--force]
FLAGS
-f, --from=<value> subdomain of the source site
-t, --to=<value> subdomain of the destination site
--force do not ask confirmation to overwrite existing channel
DESCRIPTION
copy a complete site from one to another
See code: lib/commands/sites/copy.js
nimbu sites:listlist sites you can edit
USAGE
$ nimbu sites:list [-s]
FLAGS
-s, --subdomain show Nimbu subdomain for each site
DESCRIPTION
list sites you can edit
ALIASES
$ nimbu sites
See code: lib/commands/sites/list.js
nimbu themes:copycopy themes from one site to another
USAGE
$ nimbu themes:copy -f <value> -t <value> [--toHost <value>] [--fromHost <value>] [--liquid-only]
FLAGS
-f, --from=<value> (required) slug of the source theme
-t, --to=<value> (required) slug of the target theme
--fromHost=<value> hostname of origin Nimbu API
--liquid-only only copy the templates
--toHost=<value> hostname of target Nimbu API
DESCRIPTION
copy themes from one site to another
See code: lib/commands/themes/copy.js
nimbu themes:pulldownload all code and assets for a theme
USAGE
$ nimbu themes:pull [-t <value>] [-s <value>] [--liquid-only]
FLAGS
-s, --site=<value> the site of the theme
-t, --theme=<value> [default: default-theme] slug of the theme
--liquid-only only download template files
DESCRIPTION
download all code and assets for a theme
See code: lib/commands/themes/pull.js
nimbu translations:copy [QUERY]copy translations from one site to another
USAGE
$ nimbu translations:copy [QUERY] [-f <value>] [-t <value>] [--toHost <value>] [--fromHost <value>]
ARGUMENTS
QUERY [default: *] query to match subset of translations to be copied
FLAGS
-f, --from=<value> subdomain of the source site
-t, --to=<value> subdomain of the destination site
--fromHost=<value> hostname of origin Nimbu API
--toHost=<value> hostname of target Nimbu API
DESCRIPTION
copy translations from one site to another
See code: lib/commands/translations/copy.js
nimbu update [CHANNEL]update the nimbu CLI
USAGE
$ nimbu update [CHANNEL] [--from-local]
FLAGS
--from-local interactively choose an already installed version
DESCRIPTION
update the nimbu CLI
See code: @oclif/plugin-update
nimbu versionUSAGE
$ nimbu version
See code: lib/commands/version.js
nimbu whichShow which plugin a command is in.
USAGE
$ nimbu which
DESCRIPTION
Show which plugin a command is in.
See code: @oclif/plugin-which
Webpack is configured to support the features below.
The javascripts pipeline supports:
yarn add --dev typescript ts-loader to enable itThere is one entrypoint src/index.js that gets compiled into javascripts/app.js and
javascripts/vendor.js (split automatically).
The CSS pipeline supports:
sass-loaderpostcss-loader and autoprefixerThe entrypoint is src/index.scss, but any (S)CSS you import in your javascript
or coffeescript will also be included in the output.
To import scss files from node_modules, use a ~ prefix. For example,
to import bourbon that was added with yarn add bourbon:
@import '~bourbon/core/bourbon';
In development mode, the CSS is injected dynamically into the DOM using
style-loader to support Hot Module Reloading. In production, the CSS is
extracted into stylesheets/app.css.
Sometimes the dynamic injecting of CSS breaks stuff. For example, if you use
javascript plugins that measure certain widths/heights when the document is
ready. These might execute before the styles get injected. To test these kind of
things, you can tell webpack to extract the CSS into stylesheets/app.css in
development too. Start the development server with the following command to do
that:
EXTRACT_CSS=true yarn start
Webpack generates snippets/webpack.liquid. If you include that snippet, you
get access to:
webpack_build_timestamp: timestamp of the moment that webpack generated the
snippet. Useful in a cache key.webpack_chunks: an array of the names of the chunks that webpack generated.webpack_js: a map of chunkname to javascript filename for that chunk.webpack_css: a map of chunkname to array of css filenames for that chunk.For example, you can use this snippet of liquid in your layout:
{% include 'webpack' %}
{% for chunk in webpack_chunks, cache: webpack_build_timestamp %}
{% for file in webpack_css[chunk] %}
{{ file | stylesheet_tag }}
{% endfor %}
{% endfor %}
{% for chunk in webpack_chunks, cache: webpack_build_timestamp %}
{{ webpack_js[chunk] | javascript_tag }}
{% endfor %}
FAQs
Tools for Nimbu projects
The npm package nimbu receives a total of 2 weekly downloads. As such, nimbu popularity was classified as not popular.
We found that nimbu 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
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.