gatsby-plugin-material-ui
Version:
Gatsby plugin for Material-UI with built-in server-side rendering support
42 lines (29 loc) • 1.11 kB
JavaScript
;
var fs = require("fs");
var path = require("path");
var os = require("os");
var didRunAlready = false;
exports.onPreInit = function () {
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 = function (_ref, pluginOptions) {
var store = _ref.store;
var program = store.getState().program;
var 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;
}
var dir = __dirname + "/.cache";
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir);
}
fs.writeFileSync(dir + "/styles-provider-props.js", module);
};