UNPKG

gatsby-plugin-material-ui

Version:

Gatsby plugin for Material-UI with built-in server-side rendering support

43 lines (34 loc) 1.1 kB
const fs = require(`fs`); const path = require(`path`); const os = require(`os`); let didRunAlready = false; exports.onPreInit = () => { if (didRunAlready) { throw new Error( `You can only have a single instance of gatsby-plugin-material-ui in your gatsby-config.js`, ); } didRunAlready = true; }; // Copy and past from https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-typography exports.onPreBootstrap = ({ store }, pluginOptions) => { const program = store.getState().program; let module; if (pluginOptions.pathToStylesProvider) { module = `module.exports = require("${ path.isAbsolute(pluginOptions.pathToStylesProvider) ? pluginOptions.pathToStylesProvider : path.join(program.directory, pluginOptions.pathToStylesProvider) }")`; if (os.platform() === `win32`) { module = module.split(`\\`).join(`\\\\`); } } else { module = null; } const dir = `${__dirname}/.cache`; if (!fs.existsSync(dir)) { fs.mkdirSync(dir); } fs.writeFileSync(`${dir}/styles-provider-props.js`, module); };