UNPKG

gatsby-plugin-fresnel

Version:

[![npm version](https://badge.fury.io/js/gatsby-plugin-fresnel.svg)](https://badge.fury.io/js/gatsby-plugin-fresnel)

31 lines (24 loc) 981 B
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.onCreateWebpackConfig = exports.pluginOptionsSchema = void 0; var _webpackVirtualModules = _interopRequireDefault(require("webpack-virtual-modules")); // Based on CreateMediaConfig in https://github.com/artsy/fresnel/blob/master/src/Media.tsx const pluginOptionsSchema = ({ Joi }) => Joi.object({ breakpoints: Joi.object().required().pattern(Joi.string(), Joi.number()), interactions: Joi.object().pattern(Joi.string(), Joi.string()) }); exports.pluginOptionsSchema = pluginOptionsSchema; const onCreateWebpackConfig = ({ actions }, pluginOptions) => { const moduleContents = JSON.stringify(pluginOptions); actions.setWebpackConfig({ plugins: [new _webpackVirtualModules.default({ 'node_modules/gatsby-plugin-fresnel/config.json': moduleContents })] }); }; exports.onCreateWebpackConfig = onCreateWebpackConfig;