Closed piotrkulpinski closed 8 months ago
Hello @piotrkulpinski,
I had the same issue and managed to fix it with this vite config. I'm using
@knocklabs/client": "^0.8.15
@remix-run/*": "^2.4.1
export default defineConfig({
plugins: [remix(), tsconfigPaths()],
ssr: {
noExternal: ["@knocklabs/client"],
},
});
Note that you will also have a commonJS issue that can be fixed with patch-package
using this
diff --git a/node_modules/@knocklabs/client/dist/esm/clients/feed/feed.js b/node_modules/@knocklabs/client/dist/esm/clients/feed/feed.js
index 422d6e8..d611cf7 100644
--- a/node_modules/@knocklabs/client/dist/esm/clients/feed/feed.js
+++ b/node_modules/@knocklabs/client/dist/esm/clients/feed/feed.js
@@ -5,7 +5,10 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
-import { EventEmitter2 as EventEmitter } from "eventemitter2";
+
+import eventemitter2 from "eventemitter2"
+const { EventEmitter2: EventEmitter } = eventemitter2;
+
import createStore from "./store";
import { isRequestInFlight, NetworkStatus } from "../../networkStatus";
// Default options to apply
I really like knock and would love a better esm support !
This should be fixed by #22
Hi,
I'm trying to migrate my app from NextJS to Remix running on Vite, but can't get Knock to work with this stack.
If I try to initialize the knock client, I get the following error:
I assume this is similar to knocklabs/javascript#20 but I decided to open a new issue since the cause may be different.
Does anyone have any solution to this.