123456789101112131415161718192021222324252627282930 |
- const path = require("path");
- module.exports = (API, projectOptions) => {
- API.chainWebpack((config) => {
- config.resolveLoader.modules.prepend(path.join(__dirname, "node_modules"));
- config.resolve.extensions.prepend(".coffee");
- const coffeeRule = config.module.rule("coffee").test(/\.coffee$/);
- coffeeRule.use("cache-loader").loader(require.resolve("cache-loader"));
- if (process.env.NODE_ENV === "production" && !!projectOptions.parallel) {
- coffeeRule
- .use("thread-loader")
- .loader(require.resolve("thread-loader"))
- .options(
- typeof projectOptions.parallel === "number" ? { workers: projectOptions.parallel } : {},
- );
- }
- if (API.hasPlugin("babel")) {
- coffeeRule.use("babel-loader").loader(require.resolve("babel-loader"));
- }
- coffeeRule.use("coffee-loader").loader(require.resolve("coffee-loader"));
- coffeeRule.exclude.add(() => ["node_modules", "bower_components"]).end();
- });
- };
|