Research
Security News
Kill Switch Hidden in npm Packages Typosquatting Chalk and Chokidar
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
@hubspot/cms-cli
Advanced tools
The @hubspot/cms-cli
is now @hubspot/cli
. This package will receive patches and bug fixes, but we encourage you to upgrade to the new, actively maintained HubSpot CLI. To upgrade, run:
npm uninstall -g @hubspot/cms-cli
and
npm install -g @hubspot/cli
Provides an hs
command for interacting with the HubSpot CMS. Learn more about building on the HubSpot CMS.
For more information on using these tools, see Local Development Tooling: Getting Started
yarn
yarn add @hubspot/cms-cli --dev
npm
npm install @hubspot/cms-cli
Once the @hubspot/cms-cli
has been added to a project, a config file named hubspot.config.yml
will also be needed. It is recommended that the config file is kept in your $HOME
directory.
cd ~
hs init
You can set up command autocompletion by running
hs completion
and copying the output to either your .bashrc
or .zshrc
, and then sourcing that file source ~/.bashrc
source ~/.zshrc
or restarting your terminal.
A full breakdown of the commands can be found on the local development tools reference page.
Note: When @hubspot/cms-cli
is installed local to a project, the commands need to be prefixed with either yarn
if using yarn
or npx
if using npm
.
Initialize the CLI and create a config file
hs init
Show all commands
hs help
Upload a file or directory to the Design Manager
hs upload --account=DEV [src] [dest]
Fetch a file or directory by path from the Design Manager
hs fetch --account=DEV [path] [dest]
# Overwrite existing files
hs fetch --account=DEV --overwrite [path] [dest]
Watch a directory of files and automatically upload changes to the Design Manager
hs watch --account=DEV [src] [dest]
Create a new asset locally
hs create [type] [dest]
Delete a file or directory from the Design Manager
hs remove --account=DEV [path]
Authenticate against an account using either personalaccesskey
or oauth2
hs auth personalaccesskey
Upload a file or directory to the File Manager
hs filemanager upload --account=DEV [src] [dest]
Fetch a file or directory from the File Manager
hs filemanager fetch --account=DEV [src] [dest]
# Overwrite existing files
hs filemanager fetch --account=DEV --overwrite [path] [dest]
Create a new HubDB table
hs hubdb create <src>
Fetch a HubDB table
hs hubdb fetch <id or name> <src>
Clear all rows in a HubDB table
hs hubdb clear <id or name>
Delete a HubDB table
hs hubdb delete <id or name>
There are three ways that the tools can authenticate with HubSpot.
hs init
or hs auth personalaccesskey
and follow the instructionshs auth oauth2
OAuth2
and follow the stepsNote: The Account ID used should be the CMS Account ID (not the developer app ID). Client ID and Client Secret are from the developer app.
hubspot.config.yml
file to set the authType
for the account to apikey
and add apiKey
as shown below:defaultPortal: DEV
portals:
- name: DEV
portalId: 123
authType: apikey
apiKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
FAQs
CLI for interacting with the HubSpot CMS
We found that @hubspot/cms-cli demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 14 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
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.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.