Переглянути джерело

Add thread-loader support

Yaroslav Kasperovich 5 роки тому
батько
коміт
5936da4c5a
3 змінених файлів з 14 додано та 5 видалено
  1. 1 0
      README.md
  2. 9 1
      index.js
  3. 4 4
      package.json

+ 1 - 0
README.md

@@ -4,6 +4,7 @@ CoffeeScript2 support for the projects created with [@vue/cli](https://github.co
 
 With built-in:
 * `cache-loader`
+* `thread-loader`
 * `src/main.coffee` support if you're not using `config.pages`
 
 ## Installation

+ 9 - 1
index.js

@@ -7,11 +7,19 @@ module.exports = (API, projectOptions) => {
     if (!projectOptions.pages) {
       config.entry("app").clear().add("./src/main.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 } : {},
+        );
+    }
+
     coffeeRule.use("coffee-loader").loader(require.resolve("coffee-loader"));
   });
 };

+ 4 - 4
package.json

@@ -1,6 +1,6 @@
 {
   "name": "vue-cli-plugin-coffee",
-  "version": "0.3.1",
+  "version": "0.4.0",
   "description": "CoffeeScript2 support for your @vue/cli project",
   "main": "index.js",
   "repository": {
@@ -24,12 +24,12 @@
   "devDependencies": {
     "eslint": "^7.1.0",
     "eslint-config-airbnb": "^18.1.0",
-    "prettier": "^2.0.5",
-    "thread-loader": "^2.1.3"
+    "prettier": "^2.0.5"
   },
   "dependencies": {
     "cache-loader": "^4.1.0",
-    "coffee-loader": "^1.0.0"
+    "coffee-loader": "^1.0.0",
+    "thread-loader": "^2.1.3"
   },
   "peerDependencies": {
     "@vue/cli-service": "^4.3.1",