unplugin-relay

A plugin for relay
25,801 1
Install
npm install unplugin-relay
Latest Version:0.1.3
Vue:3
License:MIT
Last Updated:Oct 20, 2026
Links: GitHub  ·  npm
Maintainer: patryk_walach

Unlugin Relay

Open on npmx.dev pkg.pr.new Ask DeepWiki

Install

npm i unplugin-relay
// vite.config.ts
import relay from "unplugin-relay/vite";
import relayConfig from "./relay.config.json" with { type: "json" };
import path from "path";

export default defineConfig({
  plugins: [
    relay({
      language: relayConfig.language,
      eagerEsModules: relayConfig.eagerEsModules,
      artifactDirectory: path.resolve(relayConfig.artifactDirectory),
    }),
  ],
});

Example: playground/

// rollup.config.js
import relay from "unplugin-relay/rollup";
import relayConfig from "./relay.config.json" with { type: "json" };
import path from "path";

export default {
  plugins: [
    relay({
      language: relayConfig.language,
      eagerEsModules: relayConfig.eagerEsModules,
      artifactDirectory: path.resolve(relayConfig.artifactDirectory),
    }),
  ],
};

// rolldown.config.js
import relay from "unplugin-relay/rolldown";
import relayConfig from "./relay.config.json" with { type: "json" };
import path from "path";

export default {
  plugins: [
    relay({
      language: relayConfig.language,
      eagerEsModules: relayConfig.eagerEsModules,
      artifactDirectory: path.resolve(relayConfig.artifactDirectory),
    }),
  ],
};

// webpack.config.js
module.exports = {
  /* ... */
  plugins: [
    require("unplugin-relay/webpack")({
      language: relayConfig.language,
      eagerEsModules: relayConfig.eagerEsModules,
      artifactDirectory: path.resolve(relayConfig.artifactDirectory),
    }),
  ],
};

// nuxt.config.js
import relayConfig from "./relay.config.json" with { type: "json" };
import path from "path";

export default defineNuxtConfig({
  modules: [
    [
      "unplugin-relay/nuxt",
      {
        language: relayConfig.language,
        eagerEsModules: relayConfig.eagerEsModules,
        artifactDirectory: path.resolve(relayConfig.artifactDirectory),
      },
    ],
  ],
});

This module works for both Nuxt 2 and Nuxt Vite

// vue.config.js
const relayConfig = require("./relay.config.json");
const path = require("path");

module.exports = {
  configureWebpack: {
    plugins: [
      require("unplugin-relay/webpack")({
        language: relayConfig.language,
        eagerEsModules: relayConfig.eagerEsModules,
        artifactDirectory: path.resolve(relayConfig.artifactDirectory),
      }),
    ],
  },
};

// esbuild.config.js
import { build } from "esbuild";
import relay from "unplugin-relay/esbuild";
import relayConfig from "./relay.config.json" with { type: "json" };
import path from "path";

build({
  plugins: [
    relay({
      language: relayConfig.language,
      eagerEsModules: relayConfig.eagerEsModules,
      artifactDirectory: path.resolve(relayConfig.artifactDirectory),
    }),
  ],
});

Related Packages

unplugin-yaml

Allow importing YAML files as JSON or Strings

440,181 6
@relevate/unplugin-poolster

Run Poolster OpenAPI generation from Vite, Rollup, webpack, esbuild, Rspack, Rol...

197 3
@denkwerk/unplugin-favicon-generator

Vite, Rollup, Rolldown, webpack and Rspack plugin that generates favicons, touch...

954 1
@powerlines/unplugin

A package containing a Powerlines plugin to assist in developing other Powerline...

136,602 3
@denkwerk/nuxt-favicon-generator

Nuxt module that generates favicons, touch icons and a web app manifest from an...

1,949 1

Version History

Version Released License
0.1.3 MIT
0.1.2 MIT
0.1.1 MIT
0.1.0 MIT
Pre-releases (1)
Version Released License
0.1.1-beta.12 MIT