diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 7a9dfa0..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "type": "pwa-chrome", - "request": "launch", - "name": "Launch Chrome against localhost", - "url": "http://localhost:8080", - "webRoot": "${workspaceFolder}" - } - ] -} \ No newline at end of file diff --git a/package.json b/package.json index 77310a8..75bc906 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "@types/react-router-dom": "^5.1.7", "@types/sharp": "^0.28.0", "babel-polyfill": "^6.26.0", + "clooney": "^0.6.6", "express": "^4.17.1", "fs-extra": "^9.1.0", "imghash": "^0.0.8", @@ -29,7 +30,7 @@ "react-dom": "^17.0.1", "react-hooks-worker": "^1.0.0", "sharp": "^0.28.1", - "worker-plugin": "^5.0.0" + "worker-loader": "^3.0.8" }, "devDependencies": { "@babel/cli": "^7.13.10", @@ -116,7 +117,6 @@ "webpack": "^5.33.2", "webpack-cli": "^4.6.0", "webpack-dev-server": "^3.11.2", - "webpack-merge": "^5.7.3", - "worker-loader": "^3.0.8" + "webpack-merge": "^5.7.3" } } diff --git a/src/client/components/Import.tsx b/src/client/components/Import.tsx index 114149b..ea0ca90 100644 --- a/src/client/components/Import.tsx +++ b/src/client/components/Import.tsx @@ -1,9 +1,7 @@ import * as React from "react"; import _ from "lodash"; import { connect } from "react-redux"; -import * as Comlink from "comlink"; -import { wrap, proxy } from "comlink"; -import { useWorker } from "react-hooks-worker"; +import main from "../workers/extractCovers.worker"; interface IProps { matches: unknown; } @@ -12,16 +10,6 @@ interface IState { searchPaneIndex: number; } -const createWorker = () => - // new Worker("../workers/extractCovers.worker.js", { - // type: "module", - // }); - new Worker(new URL("../workers/extractCovers.worker.js", import.meta.url)); -const CalcFib = ({ count }) => { - const con = useWorker(createWorker, count); - console.log(con); - return
jagnya
-}; class Import extends React.Component { constructor(props: IProps) { super(props); @@ -37,7 +25,10 @@ class Import extends React.Component { }); } - public async startFolderWalk() {} + public async startFolderWalk() { + const foo = await main(); + console.log("as", foo); + } public render() { return (
@@ -83,12 +74,7 @@ class Import extends React.Component { {/* Folder walk results */} {!_.isUndefined(this.state.folderWalkResults) ? ( <> -
- poopie -
- -
-
+
poopie
) : null} diff --git a/src/client/types/index.d.ts b/src/client/types/index.d.ts index 3ba74aa..979e686 100644 --- a/src/client/types/index.d.ts +++ b/src/client/types/index.d.ts @@ -1,8 +1,15 @@ declare module "*.png" { - const value: string; - export = value; + const value: string; + export = value; +} +declare module "worker-loader!*" { + class WebpackWorker extends Worker { + constructor(); + } + + export default WebpackWorker; } -declare module '*.jpg' -declare module '*.gif' -declare module '*.less' \ No newline at end of file +declare module "*.jpg"; +declare module "*.gif"; +declare module "*.less"; diff --git a/src/client/workers/extractCovers.worker.js b/src/client/workers/extractCovers.worker.js deleted file mode 100644 index 3b4393d..0000000 --- a/src/client/workers/extractCovers.worker.js +++ /dev/null @@ -1,7 +0,0 @@ -import { exposeWorker } from "react-hooks-worker"; - -const fib = (i) => { - return i * 9; -}; - -exposeWorker(fib); diff --git a/src/client/workers/extractCovers.worker.ts b/src/client/workers/extractCovers.worker.ts new file mode 100644 index 0000000..f537974 --- /dev/null +++ b/src/client/workers/extractCovers.worker.ts @@ -0,0 +1,10 @@ +import strategy from "clooney"; + +class Actor { + timeoutThing() { + return new Promise(resolve => setTimeout(_ => resolve('ohai'), 1000)); + } +} + +const instance = await strategy.spawn(Actor); +alert(await instance.timeoutThing()); // Will alert() after 1 second diff --git a/tsconfig.json b/tsconfig.json index 94e4c70..d01a1d4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,7 +5,7 @@ "allowSyntheticDefaultImports": true, "target": "es2019", "jsx": "react", - "module": "system", + "module": "commonjs", "sourceMap": true, "outDir": "./dist/", "skipLibCheck": true, diff --git a/webpack.config.js b/webpack.config.js index 0f360c8..9ce6772 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -12,15 +12,15 @@ module.exports = { devtool: "source-map", module: { rules: [ - { - test: /\.worker\.ts$/, - use: { loader: "worker-loader" }, - }, { test: [/\.js?$/, /\.jsx?$/, /\.tsx?$/], use: ["babel-loader"], exclude: /node_modules/, }, + { + test: /\.worker\.ts$/, + use: { loader: "worker-loader" }, + }, { enforce: "pre", diff --git a/yarn.lock b/yarn.lock index c70beb4..6d6656e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3479,6 +3479,13 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= +clooney@^0.6.6: + version "0.6.6" + resolved "https://registry.yarnpkg.com/clooney/-/clooney-0.6.6.tgz#0b480843c30dd289ee558ec8c2336dbbb3fd38cd" + integrity sha512-kux3thg0N+uWZXTpYbthellECgsDw8PJ3IZmiVVyuavAEb/gBbC/u0ksZ6kHpZe5YT4H1Xs3TVSIQkzUfRqi8A== + dependencies: + comlinkjs "2.3.6" + cmd-shim@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-4.1.0.tgz#b3a904a6743e9fede4148c6f3800bf2a08135bdd" @@ -3593,6 +3600,11 @@ comlink@^4.3.0: resolved "https://registry.yarnpkg.com/comlink/-/comlink-4.3.0.tgz#80b3366baccd87897dab3638ebfcfae28b2f87c7" integrity sha512-mu4KKKNuW8TvkfpW/H88HBPeILubBS6T94BdD1VWBXNXfiyqVtwUCVNO1GeNOBTsIswzsMjWlycYr+77F5b84g== +comlinkjs@2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/comlinkjs/-/comlinkjs-2.3.6.tgz#a756c2530062af292a705372484d4e2eff47729f" + integrity sha512-4WDd2iMM5AhnIRgUNMLWEj3gtIfEfu+JjSPUCYAa/K5IzJRvx/JAMC5jF53Exim7d67vnkRGd0i6vx27rGF2yA== + commander@^2.12.1, commander@^2.20.0, commander@^2.8.1: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -12479,13 +12491,6 @@ worker-loader@^3.0.8: 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"