@open-xchange/vite-plugin-ox-manifests

A vite plugin to concat and serve ox manifests

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@open-xchange/vite-plugin-ox-manifests
0.5.02 months ago2 years agoMinified + gzip package size for @open-xchange/vite-plugin-ox-manifests in KB

Readme

Vite Plugin OX Manifests
A vite plugin that generates a manifest.json for code loading inside an App Suite UI plugin environment.

Install

npm install "@open-xchange/vite-plugin-ox-manifests"
yarn add "@open-xchange/vite-plugin-ox-manifests"

How to use

// in the vite.config.js
import vitePluginOxManifests from '@open-xchange/vite-plugin-ox-manifests'

return {
  plugins: [vitePluginOxManifests()]
}

Options

You can provide the following options to the plugin:
  • watch <boolean> If set to true, it will watch any changes to manifest.json files and will automatically reload the vite-dev-server. Default: true
  • entryPoints <string> | <glob pattern> Convenience method to specify additional entry points for the production build. The glob pattern will be resolved and injected into the build.input options of vite. Can be specified as a glob-pattern. Default: undefined
  • manifestsAsEntryPoints <boolean> If set to true, this will inject every entrypoint that is defined by a manifest.json file into the build.input options of vite. Default: true
  • autoloadSettings <boolean> If set to true, this plugin tries to auto-detect files that export settings. Prerequisites are, that the file imports Settings from the io.ox/core/settings module and have a named export called settings. Default true
  • supportedEntryExtensions <string[]> This array defines the extensions, that are to expect as entry points. For example, if a manifest.json have "path": "index", it will look for index.js, index.mjs or index.ts next to the manifest.json. Default: ['js', 'mjs', 'ts']
  • meta <object> An object that will be translated into a meta.json file in the root directory.

Examples

Autoload settings

If autoload settings is enabled, the settings modules have to look like the following:
// import from the core settings module
import { Settings } from '$/io.ox/core/settings'

// named export 'settings'
export const settings = new Settings('test', () => {})

How to test

yarn test

Migration guide

From 0.x to 1.x

The field transformAbsolutePaths has been removed as you can use base: './' within your vite configuration.