gatsby-plugin-coffeescript
Version:
Adds CoffeeScript support for Gatsby
36 lines (35 loc) • 952 B
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.onCreateWebpackConfig = onCreateWebpackConfig;
exports.preprocessSource = preprocessSource;
exports.resolvableExtensions = resolvableExtensions;
var _coffeescript = require("coffeescript");
var _resolve = _interopRequireDefault(require("./resolve"));
const COFFEE = /\.coffee$/;
function resolvableExtensions() {
return [`.coffee`];
}
function onCreateWebpackConfig({
loaders,
actions
}) {
// We need to use Babel to get around the ES6 export issue.
actions.setWebpackConfig({
module: {
rules: [{
test: COFFEE,
use: [loaders.js(), (0, _resolve.default)(`coffee-loader`)]
}]
}
});
}
function preprocessSource({
filename,
contents
}, pluginOptions) {
if (COFFEE.test(filename)) {
return (0, _coffeescript.compile)(contents, pluginOptions);
}
return null;
}