PHPackages                             jacerider/neo\_build - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. jacerider/neo\_build

ActiveDrupal-module[Utility &amp; Helpers](/categories/utility)

jacerider/neo\_build
====================

Build tools including Vite and Tailwind integration.

1.0.60(2w ago)02.7k2proprietaryPHP

Since Aug 28Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/jacerider/neo_build)[ Packagist](https://packagist.org/packages/jacerider/neo_build)[ Docs](https://github.com/jacerider/neo_build)[ RSS](/packages/jacerider-neo-build/feed)WikiDiscussions develop Synced 1w ago

READMEChangelogDependencies (4)Versions (62)Used By (2)

CONTENTS OF THIS FILE
---------------------

[](#contents-of-this-file)

- Introduction
- Requirements
- Installation
- Usage
- Build for DEV
- Build for PROD
- Build Groups
- Configuration

INTRODUCTION
------------

[](#introduction)

[Vite](https://vitejs.dev) integration for Drupal asset libraries.

REQUIREMENTS
------------

[](#requirements)

This module requires no modules outside of Drupal core.

It's designed to work with [Vite](https://vitejs.dev) 3 or newer and [Tailwind](https://tailwindcss.com/) and [Typescript](https://www.typescriptlang.org/).

INSTALLATION
------------

[](#installation)

Install as you would normally install a contributed Drupal module. Visit  for further information.

Add to .gitignore:

```
# Neo
/neo.json
/neo.tsconfig.json

```

This module was built to be used with DDEV for local development. Add the following to .ddev/config.yaml:

```
web_extra_exposed_ports:
  - name: vite
    container_port: 5173
    http_port: 5172
    https_port: 5173

```

USAGE
-----

[](#usage)

- Enable the module.
- Run `drush neo-install` from site root.
- Run `npm install` from site root.
- In the `.libraries.yml`, for the library you would like to use assets build by Neo, add property `neo: true` and when defining assets provide their paths to entry points used in neo instead of paths to build assets. For example:

```
library-name:
+  neo: true
   js:
-    dist/script.js: {}
+    src/script.ts: {}
   css:
     component:
-      dist/style.css: {}
+      src/css/style.css: {}
   dependencies:
     - core/drupalSettings
```

- The module will dynamically rewrite assets paths to dist and include their dependencies defined in manifest.json.

BUILD FOR DEV
-------------

[](#build-for-dev)

To use hot module reload during development, run:

```
npm start
```

The server will run in non-HTTPS mode to avoid XSS issues. If the server is accessible on the localhost under default port (5173) the module will automatically start using it instead of dist assets from manifest.json as soon as you clear the cache (library definitions are cached by default).

BUILD FOR PROD
--------------

[](#build-for-prod)

To compile js and css for all scopes (only 'contrib' group), run:

```
npm run deploy
```

To compile a single scope non-interactively, run:

```
npm run build:front
npm run build:back
```

Production builds refuse to run while a dev server is answering on the vite port — the running dev session already serves changes via HMR, and a prod build would silently disconnect it. Pass `--force` to override.

BUILD STATUS
------------

[](#build-status)

To see whether dev (HMR) mode is on, which scope the dev server is serving and whether a dev server is actually answering, run:

```
drush neo-status
```

Use `--format=json` for machine-readable output.

BUILD SCOPES
------------

[](#build-scopes)

In `.libraries.yml` there is also an option to set the build scope. The scope impacts Tailwind so that aggregated classes are only built for the build of this scope when calling `@tailwind base;` within a CSS or SCSS file. For example:

```
library-name:
  neo: {scope: 'front'}
  js:
    src/script.ts: {}
  css:
    component:
      src/css/style.css: {}
    dependencies:
      - core/drupalSettings
```

A theme should define their supported scopes in their info.yml.

```
neo: { scope: front }
```

or

```
neo: {
  scope:
    - front
    - back
}
```

If a scope is not defined, theme will act on all scopes.

COMPONENTS
----------

[](#components)

You can register new Tailwind components by defining them in your theme/module info file. For example:

```
neo:
  scope: back
  components:
    .container:
      '@apply mt-6 first:mt-0 rounded-sm border': {}
    .card:
      backgroundColor: colors.white
      borderRadius: borderRadius.lg
      padding: spacing.6
      boxShadow: boxShadow.xl
```

THEME
-----

[](#theme)

You can extend the Tailwind base configuration by defining the settings in your theme/module info file. For example:

```
theme:
  extend:
    colors:
      current: 'currentColor'
```

###  Health Score

49

—

FairBetter than 94% of packages

Maintenance93

Actively maintained with recent releases

Popularity23

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~11 days

Recently: every ~5 days

Total

61

Last Release

14d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/097ea6514c7dff8bd82162fe88411080a14444a73f86c15ab22eefe28a33059d?d=identicon)[jacerider](/maintainers/jacerider)

---

Top Contributors

[![jacerider](https://avatars.githubusercontent.com/u/638651?v=4)](https://github.com/jacerider "jacerider (92 commits)")

### Embed Badge

![Health badge](/badges/jacerider-neo-build/health.svg)

```
[![Health](https://phpackages.com/badges/jacerider-neo-build/health.svg)](https://phpackages.com/packages/jacerider-neo-build)
```

###  Alternatives

[farmos/farmos

A web-based farm record keeping application.

1.3k7.3k1](/packages/farmos-farmos)[emulsify-ds/emulsify-drupal

The official Drupal theme for Emulsify, with Storybook and a Vite-based build workflow for generated child themes

96561.6k2](/packages/emulsify-ds-emulsify-drupal)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
