From a4715efe04386d31bc888b4e0c3e6653bfc8160e Mon Sep 17 00:00:00 2001 From: Rishi Ghan Date: Tue, 27 Apr 2021 14:35:14 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A5=20comlink-loader=20tentatively=20w?= =?UTF-8?q?orking?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .babelrc | 3 +- package.json | 8 ++-- src/client/components/Import.tsx | 6 +-- src/client/workers/extractCovers.worker.ts | 2 +- src/client/workers/tsconfig.json | 13 ------ webpack.config.js | 7 ---- yarn.lock | 46 ++++++++++------------ 7 files changed, 29 insertions(+), 56 deletions(-) delete mode 100644 src/client/workers/tsconfig.json diff --git a/.babelrc b/.babelrc index a1ec4ed..6fb7d87 100644 --- a/.babelrc +++ b/.babelrc @@ -5,7 +5,8 @@ "@babel/preset-typescript" ], "plugins": [ - "react-hot-loader/babel" + "react-hot-loader/babel", + "@babel/transform-runtime" ], "env": { "production": { diff --git a/package.json b/package.json index c733a27..81acdbf 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "author": "Rishi Ghan", "license": "MIT", "dependencies": { + "@babel/runtime": "^7.13.17", "@types/react": "^17.0.3", "@types/react-dom": "^17.0.2", "@types/react-redux": "^7.1.16", @@ -30,14 +31,12 @@ "react": "^17.0.1", "react-dom": "^17.0.1", "react-hooks-worker": "^1.0.0", - "sharp": "^0.28.1", - "worker-loader": "^3.0.8", - "worker-plugin": "^5.0.0" + "sharp": "^0.28.1" }, "devDependencies": { "@babel/cli": "^7.13.10", "@babel/core": "^7.13.10", - "@babel/polyfill": "^7.12.1", + "@babel/plugin-transform-runtime": "^7.13.15", "@babel/preset-env": "^7.13.10", "@babel/preset-react": "^7.12.13", "@babel/preset-typescript": "^7.13.0", @@ -106,7 +105,6 @@ "react-router": "^5.2.0", "react-router-dom": "^5.2.0", "redux-thunk": "^2.3.0", - "regenerator-runtime": "^0.13.7", "rimraf": "^3.0.2", "sass-loader": "^11.0.1", "source-map-loader": "^0.2.4", diff --git a/src/client/components/Import.tsx b/src/client/components/Import.tsx index e3062f4..ab3d3fc 100644 --- a/src/client/components/Import.tsx +++ b/src/client/components/Import.tsx @@ -2,8 +2,7 @@ import * as React from "react"; import _ from "lodash"; import { connect } from "react-redux"; import * as Comlink from "comlink"; -import ExpensiveProcessor from "comlink-loader!../workers/extractCovers.worker"; - +import { greet } from "../workers/extractCovers.worker"; interface IProps { matches: unknown; } @@ -28,8 +27,7 @@ class Import extends React.Component { } public async startFolderWalk() { - const worker = Comlink.proxy(new ExpensiveProcessor()); - console.log(new worker()); + console.log(await greet('dog')); } public render() { return ( diff --git a/src/client/workers/extractCovers.worker.ts b/src/client/workers/extractCovers.worker.ts index dd5d0b7..50c8424 100644 --- a/src/client/workers/extractCovers.worker.ts +++ b/src/client/workers/extractCovers.worker.ts @@ -1,3 +1,3 @@ export async function greet(subject: string): string { return `Hello, ${subject}!`; -} \ No newline at end of file +} diff --git a/src/client/workers/tsconfig.json b/src/client/workers/tsconfig.json deleted file mode 100644 index 637c16a..0000000 --- a/src/client/workers/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "compilerOptions": { - "strict": true, - "target": "esnext", - "module": "esnext", - "lib": ["webworker", "esnext"], - "moduleResolution": "node", - "noUnusedLocals": true, - "sourceMap": true, - "allowJs": false, - "baseUrl": "." - } - } \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js index 6a29964..5f087dc 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,7 +1,6 @@ const path = require("path"); const HtmlWebpackPlugin = require("html-webpack-plugin"); const MiniCssExtractPlugin = require("mini-css-extract-plugin"); -const WorkerPlugin = require("worker-plugin"); const outputDirectory = "dist"; module.exports = { @@ -13,10 +12,6 @@ module.exports = { devtool: "source-map", module: { rules: [ - // { - // test: /\.worker\.ts$/, - // use: { loader: "worker-loader" }, - // }, { test: /\.worker\.(js|ts)$/i, use: [ @@ -33,7 +28,6 @@ module.exports = { use: ["babel-loader"], exclude: /node_modules/, }, - { enforce: "pre", test: /\.js$/, @@ -73,7 +67,6 @@ module.exports = { }, plugins: [ // new CleanWebpackPlugin([outputDirectory]), - // new WorkerPlugin(), new HtmlWebpackPlugin({ template: "./public/index.html", favicon: "./public/favicon.ico", diff --git a/yarn.lock b/yarn.lock index bb5b1de..632f3dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -799,6 +799,18 @@ dependencies: "@babel/helper-plugin-utils" "^7.12.13" +"@babel/plugin-transform-runtime@^7.13.15": + version "7.13.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.13.15.tgz#2eddf585dd066b84102517e10a577f24f76a9cd7" + integrity sha512-d+ezl76gx6Jal08XngJUkXM4lFXK/5Ikl9Mh4HKDxSfGJXmZ9xG64XT2oivBzfxb/eQ62VfvoMkaCZUKJMVrBA== + dependencies: + "@babel/helper-module-imports" "^7.13.12" + "@babel/helper-plugin-utils" "^7.13.0" + babel-plugin-polyfill-corejs2 "^0.2.0" + babel-plugin-polyfill-corejs3 "^0.2.0" + babel-plugin-polyfill-regenerator "^0.2.0" + semver "^6.3.0" + "@babel/plugin-transform-shorthand-properties@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad" @@ -859,14 +871,6 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.13" "@babel/helper-plugin-utils" "^7.12.13" -"@babel/polyfill@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.12.1.tgz#1f2d6371d1261bbd961f3c5d5909150e12d0bd96" - integrity sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g== - dependencies: - core-js "^2.6.5" - regenerator-runtime "^0.13.4" - "@babel/preset-env@^7.13.10": version "7.13.15" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.13.15.tgz#c8a6eb584f96ecba183d3d414a83553a599f478f" @@ -996,6 +1000,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.13.17": + version "7.13.17" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.13.17.tgz#8966d1fc9593bf848602f0662d6b4d0069e3a7ec" + integrity sha512-NCdgJEelPTSh+FEFylhnP1ylq848l1z9t9N0j1Lfbcw0+KXGjsTvUmkxy+voLLXB5SOKMbLLx4jxYliGrYQseA== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.12.13", "@babel/template@^7.3.3": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" @@ -3813,7 +3824,7 @@ core-js-pure@^3.0.0: resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.8.3.tgz#10e9e3b2592ecaede4283e8f3ad7020811587c02" integrity sha512-V5qQZVAr9K0xu7jXg1M7qTEwuxUgqr7dUOezGaNa7i+Xn9oXAU/d1fzqD9ObuwpVQOaorO5s70ckyi1woP9lVA== -core-js@^2.4.0, core-js@^2.5.0, core-js@^2.6.5: +core-js@^2.4.0, core-js@^2.5.0: version "2.6.12" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== @@ -10134,7 +10145,7 @@ regenerator-runtime@^0.11.0: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: +regenerator-runtime@^0.13.4: version "0.13.7" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== @@ -12509,21 +12520,6 @@ worker-loader@^2.0.0: loader-utils "^1.0.0" schema-utils "^0.4.0" -worker-loader@^3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/worker-loader/-/worker-loader-3.0.8.tgz#5fc5cda4a3d3163d9c274a4e3a811ce8b60dbb37" - integrity sha512-XQyQkIFeRVC7f7uRhFdNMe/iJOdO6zxAaR3EWbDp45v3mDhrTi+++oswKNxShUNjPC/1xUp5DB29YKLhFo129g== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -worker-plugin@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/worker-plugin/-/worker-plugin-5.0.0.tgz#113b5fe1f4a5d6a957cecd29915bedafd70bb537" - integrity sha512-AXMUstURCxDD6yGam2r4E34aJg6kW85IiaeX72hi+I1cxyaMUtrvVY6sbfpGKAj5e7f68Acl62BjQF5aOOx2IQ== - dependencies: - loader-utils "^1.1.0" - wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"