@hubspot/webpack-cms-plugins

6.2.1 • Public • Published

@hubspot/webpack-cms-plugins

The @hubspot/webpack-cms-plugins packages contains plugins designed to make using webpack to compile HubSpot CMS assets more straightforward. Instead of using webpack-dev-server, the idea is to generate assets locally and then upload them to the HubSpot CMS for previewing and testing. The plugin is designed to work together with @hubspot/cli.

Why is this needed?

This plugin makes it easy to use webpack-compiled assets in HubSpot CMS modules and templates. This makes it easy and seamlessly add a compilation step to the local development flow, and enables testing using real HubSpot content.

Usage

  1. Set up a hubspot.config.yml using the HubSpot CMS local development instructions.
  2. Add the plugin to your webpack.config.js. The src should be a path to the directory where the webpack compiled code is output and the dest property is the path where the assets should be uploaded in your HubSpot account.

Example webpack.config.js

const HubSpotAutoUploadPlugin = require('@hubspot/webpack-cms-plugins/HubSpotAutoUploadPlugin');
const CopyWebpackPlugin = require('copy-webpack-plugin');

module.exports = ({ account, autoupload }) => ({
  entry: './src/index.js',
  output: {
    filename: 'js/main.js',
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
        },
      },
      {
        test: /\.s[ac]ss$/i,
        use: [
          'style-loader',
          { loader: 'css-loader', options: { url: false } },
          'sass-loader',
        ],
      },
    ],
  },
  plugins: [
    new HubSpotAutoUploadPlugin({
      autoupload,
      account,
      src: 'dist',
      dest: 'my-project',
    }),
    new CopyWebpackPlugin({
      patterns: [
        { from: 'src/images', to: 'images' },
        { from: 'src/templates', to: 'templates' },
      ]
    }),
  ],
});
  1. Run webpack --watch --env account 123 --env autoupload to compile your project and automatically upload assets. Replace 123 with your unique Hub ID.

Readme

Keywords

none

Package Sidebar

Install

npm i @hubspot/webpack-cms-plugins

Weekly Downloads

164

Version

6.2.1

License

Apache-2.0

Unpacked Size

10.4 kB

Total Files

5

Last publish

Collaborators

  • amead_hs
  • jedeen-hs
  • jonmiller_hs
  • tscales
  • rsegura
  • hemangthakkar
  • tamarayu
  • jyeager_hubspot
  • camdenphalen
  • bmatto_hs
  • elingyr
  • alonso-cadenas
  • jsines
  • tfinley_hs
  • mshannon_hs
  • arota-hubspot
  • bbarbosa-hubspot
  • service-ccs
  • kemmerle
  • banderson
  • also
  • rberdeen-hubspot
  • harminder01
  • bkrainer-hs
  • friss
  • jhilker
  • atanasiuk
  • ksvirkou-hubspot
  • kbreeman-hubspot
  • brodgers16