diff --git a/.changeset/early-countries-drum.md b/.changeset/early-countries-drum.md
new file mode 100644
index 00000000..255e7ed0
--- /dev/null
+++ b/.changeset/early-countries-drum.md
@@ -0,0 +1,5 @@
+---
+'@onehop/js': patch
+---
+
+fix importing @onehop/js in Node in ESM environments (conditional exports)
diff --git a/package.json b/package.json
index a668698f..cc77725b 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,10 @@
 	"module": "./dist/index.js",
 	"exports": {
 		".": {
-			"node": "./dist/node/index.js",
+			"node": {
+				"import": "./dist/node/index.js",
+				"require": "./dist/node/index.cjs"
+			},
 			"browser": "./dist/index.js",
 			"import": "./dist/index.js",
 			"require": "./dist/index.cjs"
diff --git a/prettier/.prettierignore b/prettier/.prettierignore
new file mode 100644
index 00000000..e74ed0f7
--- /dev/null
+++ b/prettier/.prettierignore
@@ -0,0 +1,7 @@
+.next
+dist
+build
+out
+node_modules
+.yarn
+.git
diff --git a/prettier/.prettierrc b/prettier/.prettierrc
new file mode 100644
index 00000000..2d39c48c
--- /dev/null
+++ b/prettier/.prettierrc
@@ -0,0 +1,11 @@
+{
+	"$schema": "http://json.schemastore.org/prettierrc",
+	"singleQuote": true,
+	"semi": true,
+	"printWidth": 120,
+	"trailingComma": "all",
+	"arrowParens": "avoid",
+	"bracketSpacing": false,
+	"useTabs": true,
+	"quoteProps": "consistent"
+}
diff --git a/utils/zod/package.json b/utils/zod/package.json
index 7b295fa4..77e83aee 100644
--- a/utils/zod/package.json
+++ b/utils/zod/package.json
@@ -1,5 +1,5 @@
 {
-    "main": "../../dist/utils/zod/index.js",
-    "module": "../../dist/utils/zod/index.mjs",
-    "types": "../../dist/utils/zod/index.d.ts"
-}
\ No newline at end of file
+	"main": "../../dist/utils/zod/index.js",
+	"module": "../../dist/utils/zod/index.mjs",
+	"types": "../../dist/utils/zod/index.d.ts"
+}