foreman supported 3rd-party node_modules

Usage no npm install needed!

<script type="module">
  import sharvitForemanJsVendorDev from '';



theforeman javascript packages

Build Status: Linux PRs Welcome dependencies Status devDependencies Status code style: prettier

What is foreman-js?

This project is a monorepo using lerna to host more than one package. Projects maintained by


The work on this repository started based on a discussion on about refactoring the JavaScript stack of Foreman.

Vendor packages

Foreman and its plugins use many of the same JavaScript dependencies (npm packages). The main purpose of vendor is to gather these common dependencies into a single package.

Note: In Foreman & plugins JavaScript code, you do not need to import anything explicitly from vendor (import react from '@theforeman/vendor'); you can continue to import all modules like normal (import react from 'react';).

In your CSS code, the @import statements do need to be explicit; see this part of @theforeman/vendor readme.

Other packages

  • @theforeman/builder - Provides scripts (npm run build) to build production and development bundle files for Foreman core and plugins.
  • @theforeman/test - Adds theforeman testing tools to you project, including jest, enzyme and other utils.
  • @theforeman/eslint-plugin-foreman - Shared eslint configuration. Opinionated styling for Foreman core and plugins.
  • @theforeman/stories - React Storybook for the Foreman project (JavaScript and React documentation for developers)
  • @theforeman/find-foreman - Package to find full path of Foreman relative to Foreman plugin.


Please check out the, the and the open issues.