diff --git a/.yarn/cache/worker-loader-npm-3.0.8-6423aa0002-84f4a7eeb2.zip b/.yarn/cache/worker-loader-npm-3.0.8-6423aa0002-84f4a7eeb2.zip new file mode 100644 index 00000000000..2bc36fc66e0 Binary files /dev/null and b/.yarn/cache/worker-loader-npm-3.0.8-6423aa0002-84f4a7eeb2.zip differ diff --git a/packages/mobile/ios/Podfile.lock b/packages/mobile/ios/Podfile.lock index 9bd9ad202ef..b482ee95118 100644 --- a/packages/mobile/ios/Podfile.lock +++ b/packages/mobile/ios/Podfile.lock @@ -1545,7 +1545,7 @@ PODS: - React-Core - RNPrivacySnapshot (1.0.0): - React-Core - - RNShare (9.4.1): + - RNShare (10.2.1): - React-Core - RNStoreReview (0.4.1): - React-Core @@ -1873,7 +1873,7 @@ SPEC CHECKSUMS: RNKeychain: a65256b6ca6ba6976132cc4124b238a5b13b3d9c RNNotifee: f3c01b391dd8e98e67f539f9a35a9cbcd3bae744 RNPrivacySnapshot: 8eaf571478a353f2e5184f5c803164f22428b023 - RNShare: 32e97adc8d8c97d4a26bcdd3c45516882184f8b6 + RNShare: 0fad69ae2d71de9d1f7b9a43acf876886a6cb99c RNStoreReview: 923b1c888c13469925bf0256dc2c046eab557ce5 SNReactNative: b5e9e529c175c13f3a618e27c76cf3071213d5e1 SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d diff --git a/packages/web/package.json b/packages/web/package.json index 2fd21714224..71292c27ee5 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -99,7 +99,8 @@ "webextension-polyfill": "^0.10.0", "webpack": "*", "webpack-dev-server": "*", - "webpack-merge": "*" + "webpack-merge": "*", + "worker-loader": "^3.0.8" }, "lint-staged": { "app/**/*.{js,ts,jsx,tsx}": "eslint --cache --fix", diff --git a/packages/web/src/javascripts/Components/SuperEditor/Lexical/Utils/PDFExport/PDFExport.tsx b/packages/web/src/javascripts/Components/SuperEditor/Lexical/Utils/PDFExport/PDFExport.tsx index 5cd197b15e3..84747674990 100644 --- a/packages/web/src/javascripts/Components/SuperEditor/Lexical/Utils/PDFExport/PDFExport.tsx +++ b/packages/web/src/javascripts/Components/SuperEditor/Lexical/Utils/PDFExport/PDFExport.tsx @@ -19,7 +19,8 @@ import { $isRemoteImageNode } from '../../../Plugins/RemoteImagePlugin/RemoteIma import { $isCollapsibleContainerNode } from '../../../Plugins/CollapsiblePlugin/CollapsibleContainerNode' import { $isCollapsibleContentNode } from '../../../Plugins/CollapsiblePlugin/CollapsibleContentNode' import { $isCollapsibleTitleNode } from '../../../Plugins/CollapsiblePlugin/CollapsibleTitleNode' -import { PDFDataNode, PDFWorker } from './PDFWorker' +// @ts-expect-error TS thinks there's no default export but that is added by the webpack loader. +import PDFWorker, { PDFDataNode, PDFWorkerInterface } from './PDFWorker.worker' import { wrap } from 'comlink' import { PrefKey, PrefValue } from '@standardnotes/snjs' @@ -417,7 +418,8 @@ const getPDFDataNodesFromLexicalNodes = (nodes: LexicalNode[]): PDFDataNode[] => return nodes.map(getPDFDataNodeFromLexicalNode) } -const PDFWorkerComlink = wrap(new Worker(new URL('./PDFWorker.tsx', import.meta.url))) +const pdfWorker = new PDFWorker() +const PDFWorkerComlink = wrap(pdfWorker) /** * @returns The PDF as an object url diff --git a/packages/web/src/javascripts/Components/SuperEditor/Lexical/Utils/PDFExport/PDFWorker.tsx b/packages/web/src/javascripts/Components/SuperEditor/Lexical/Utils/PDFExport/PDFWorker.worker.tsx similarity index 98% rename from packages/web/src/javascripts/Components/SuperEditor/Lexical/Utils/PDFExport/PDFWorker.tsx rename to packages/web/src/javascripts/Components/SuperEditor/Lexical/Utils/PDFExport/PDFWorker.worker.tsx index 7181c176f6d..6b130c84f19 100644 --- a/packages/web/src/javascripts/Components/SuperEditor/Lexical/Utils/PDFExport/PDFWorker.tsx +++ b/packages/web/src/javascripts/Components/SuperEditor/Lexical/Utils/PDFExport/PDFWorker.worker.tsx @@ -102,6 +102,6 @@ expose({ renderPDF, }) -export type PDFWorker = { +export type PDFWorkerInterface = { renderPDF: typeof renderPDF } diff --git a/packages/web/web.webpack.config.js b/packages/web/web.webpack.config.js index fc128c75b4a..b6898c0f722 100644 --- a/packages/web/web.webpack.config.js +++ b/packages/web/web.webpack.config.js @@ -92,6 +92,13 @@ module.exports = (env) => { }, module: { rules: [ + { + test: /\.worker\.tsx?$/, + loader: 'worker-loader', + options: { + inline: 'fallback', + }, + }, { test: /\.(js|tsx?)$/, /** diff --git a/yarn.lock b/yarn.lock index 44763e4344f..9fc00171fe9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8414,6 +8414,7 @@ __metadata: webpack: "*" webpack-dev-server: "*" webpack-merge: "*" + worker-loader: ^3.0.8 languageName: unknown linkType: soft @@ -28047,6 +28048,18 @@ __metadata: languageName: node linkType: hard +"worker-loader@npm:^3.0.8": + version: 3.0.8 + resolution: "worker-loader@npm:3.0.8" + dependencies: + loader-utils: ^2.0.0 + schema-utils: ^3.0.0 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 84f4a7eeb2a1d8b9704425837e017c91eedfae67ac89e0b866a2dcf283323c1dcabe0258196278b7d5fd0041392da895c8a0c59ddf3a94f1b2e003df68ddfec3 + languageName: node + linkType: hard + "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0"