# @volusion/element-block-scripts

> Like react-scripts, but for Element blocks

Latest version **3.0.4** (published 2026-04-09) · Unlicensed license · 0 weekly downloads

## Install

```sh
npm install @volusion/element-block-scripts
pnpm add @volusion/element-block-scripts
yarn add @volusion/element-block-scripts
bun add @volusion/element-block-scripts
```

Provides the command `block-scripts`.

## Health

**Score 45/100 (D)** — status: active.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

## Facts

| | |
|---|---|
| Version | 3.0.4 |
| Published | 2026-04-09 |
| First published | 2019-07-16 |
| Weekly downloads | 0 |
| License | Unlicensed |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=20.0.0 |
| Dependencies | 28 |
| Unpacked size | 32.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Volusion, LLC |
| Maintainers | volusion-npm-admin, david-cummings-volusion, material-dev, dan-reeves-volusion, taylorsmartin5000, jenrob, tigerc10 |

## Links

- npm: https://www.npmjs.com/package/@volusion/element-block-scripts
- npm.io page: https://npm.io/package/@volusion/element-block-scripts

## Dependencies (28)

- [jest](https://npm.io/package/jest.md) ^29.7.0
- [react](https://npm.io/package/react.md) ^16.13.1
- [rollup](https://npm.io/package/rollup.md) ^2.1.0
- [ts-jest](https://npm.io/package/ts-jest.md) ^29.4.0
- [get-port](https://npm.io/package/get-port.md) ^4.2.0
- [aphrodite](https://npm.io/package/aphrodite.md) ^2.4.0
- [react-dom](https://npm.io/package/react-dom.md) ^16.13.1
- [babel-jest](https://npm.io/package/babel-jest.md) ^29.5.0
- [typescript](https://npm.io/package/typescript.md) ^4.2.4
- [@babel/core](https://npm.io/package/@babel/core.md) ^7.14.6
- [@types/jest](https://npm.io/package/@types/jest.md) ^26.0.22
- [@babel/preset-env](https://npm.io/package/@babel/preset-env.md) ^7.28.3
- [@babel/preset-react](https://npm.io/package/@babel/preset-react.md) ^7.13.13
- [rollup-plugin-babel](https://npm.io/package/rollup-plugin-babel.md) ^4.4.0
- [rollup-plugin-serve](https://npm.io/package/rollup-plugin-serve.md) ^1.0.1
- [jest-aphrodite-react](https://npm.io/package/jest-aphrodite-react.md) ^2.2.0
- [@rollup/plugin-terser](https://npm.io/package/@rollup/plugin-terser.md) ^1.0.0
- [rollup-plugin-replace](https://npm.io/package/rollup-plugin-replace.md) ^2.2.0
- [@testing-library/react](https://npm.io/package/@testing-library/react.md) ^12.1.5
- [jest-environment-jsdom](https://npm.io/package/jest-environment-jsdom.md) ^30.2.0
- [rollup-plugin-commonjs](https://npm.io/package/rollup-plugin-commonjs.md) ^9.3.4
- [@babel/preset-typescript](https://npm.io/package/@babel/preset-typescript.md) ^7.13.0
- [rollup-plugin-livereload](https://npm.io/package/rollup-plugin-livereload.md) ^1.2.0
- [@testing-library/jest-dom](https://npm.io/package/@testing-library/jest-dom.md) ^5.17.0
- [rollup-plugin-node-resolve](https://npm.io/package/rollup-plugin-node-resolve.md) ^4.2.4
- [@testing-library/user-event](https://npm.io/package/@testing-library/user-event.md) ^14.6.1
- [@babel/plugin-transform-typescript](https://npm.io/package/@babel/plugin-transform-typescript.md) ^7.13.0
- [@babel/plugin-proposal-class-properties](https://npm.io/package/@babel/plugin-proposal-class-properties.md) ^7.8.3

## Recent versions

- 3.0.4 (latest) — 2026-04-09
- 2.3.0 — 2021-04-16
- 2.2.4 — 2020-06-09
- 2.2.3 — 2020-04-17
- 2.2.2 — 2020-04-17
- 2.2.1 — 2020-03-09
- 2.2.0 — 2020-03-06
- 2.1.1 — 2020-01-30
- 2.1.0 — 2020-01-14
- 2.0.3 — 2020-01-13
- 2.0.2 — 2020-01-02
- 2.0.1 — 2019-12-16
- 2.0.0 — 2019-12-13
- 1.0.1 — 2019-11-05
- 1.0.0 — 2019-07-22
- … 1 more at https://npm.io/package/@volusion/element-block-scripts/versions

## README

# block-scripts

## Consolidate the pieces around block development for the Element ecosystem

### Installing `block-scripts`

Install via npm and save as a devDependency:

```bash
npm install --save-dev @volusion/block-scripts
```

### Using `block-scripts`

After installing the `block-scripts` package, it becomes an executable. Use it on its own or as an npm script in your block's `package.json` (recommended):

#### `block-scripts start`

Start the block server, using `rollup`

#### `block-scripts build`

Builds the block, also using `rollup`

#### `block-scripts lint`

Lints the block, using `eslint`

#### `block-scripts test`

Tests the block, using `jest`

### Developing

Clone the repo, change to the directory, and run `npm install`.

To use the executable, run `npm link` after running `npm run build`. Then, the executable `block-scripts` will be available to run in another terminal, as long as the same version of Node.js is loaded as the version present when you ran `npm link`.

#### The `.node-version` file

To ensure we're all using the same version of Node.js while developing, please use either [n](https://github.com/tj/n) or [nvm](https://github.com/creationix/nvm) to install the project's [Node.js version](/.node-version), and then install [AVN](https://github.com/wbyoung/avn), along with the relevant helper:

```bash
npm install -g avn

# If you're managing Node versions with NVM:
npm install -g avn-nvm

# If you're managing Node versions with n:
npm install -g avn-n
```

Then, set up AVN with

```bash
avn setup
```

and after following the on-screen instructions, you should be good to go &mdash; upon changing to this directory, you'll be automatically switched to use the correct version of Node.js, specified in the `.node-version` file.

### Releasing

Releases are automated using [release-please](https://github.com/googleapis/release-please). You do not need to manually bump versions or publish to NPM.

#### Commit message format

All commits must follow this format:

```
<type>: <JIRA-TICKET-ID> <description>
```

Examples:
- `feat: ET-4591 add support for new block config API`
- `fix: ET-4134 correct jest setup for jsdom environment`
- `chore: ET-4000 update dependencies`

A `commit-msg` hook (installed via `npm install`) will reject commits that don't match this format.

**Allowed types and their effect on versioning:**

| Type | Version bump | Use for |
|------|-------------|---------|
| `feat` | minor (x.**Y**.z) | New feature |
| `fix` | patch (x.y.**Z**) | Bug fix |
| `chore` | none | Maintenance, dependencies |
| `docs` | none | Documentation only |
| `refactor` | none | Code restructure, no behaviour change |
| `test` | none | Adding or updating tests |
| `build` | none | Build system changes |
| `ci` | none | CI/CD configuration |
| `perf` | patch | Performance improvement |
| `revert` | patch | Reverts a previous commit |

For a **major** version bump, add a `BREAKING CHANGE:` footer to your commit:

```
feat: ET-9999 redesign block config API

BREAKING CHANGE: configSchema prop renamed to schema
```

#### How releases work

1. Merge your PR to `master` with a conventional commit message.
2. The `Release Please` GitHub Action automatically opens (or updates) a **Release PR** that bumps the version in `package.json` and updates `CHANGELOG.md`.
3. When you're ready to release, merge the Release PR.
4. release-please creates a GitHub Release and git tag (e.g. `v2.5.0`).
5. The `Publish to NPM` GitHub Action triggers automatically and publishes the package to npmjs.com with a signed provenance attestation.

---
_Source: https://npm.io/package/@volusion/element-block-scripts · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
