diff --git a/cli/build.rs b/cli/build.rs
index 98d044a3e9..48af791012 100644
--- a/cli/build.rs
+++ b/cli/build.rs
@@ -333,7 +333,11 @@ fn main() {
   }
 
   let symbols_path = std::path::Path::new(
-    format!("generated_symbol_exports_list_{}.def", env::consts::OS).as_str(),
+    format!(
+      "napi_sym/generated_symbol_exports_list_{}.def",
+      env::consts::OS
+    )
+    .as_str(),
   )
   .canonicalize()
   .expect(
diff --git a/cli/generated_symbol_exports_list_linux.def b/cli/generated_symbol_exports_list_linux.def
deleted file mode 100644
index 0adba1dcef..0000000000
--- a/cli/generated_symbol_exports_list_linux.def
+++ /dev/null
@@ -1,144 +0,0 @@
-node_api_create_syntax_error
-napi_make_callback
-napi_has_named_property
-napi_async_destroy
-napi_coerce_to_object
-napi_get_arraybuffer_info
-napi_detach_arraybuffer
-napi_get_undefined
-napi_reference_unref
-napi_fatal_error
-napi_open_callback_scope
-napi_close_callback_scope
-napi_get_value_uint32
-napi_create_function
-napi_create_arraybuffer
-napi_get_value_int64
-napi_get_all_property_names
-napi_resolve_deferred
-napi_is_detached_arraybuffer
-napi_create_string_utf8
-napi_create_threadsafe_function
-node_api_throw_syntax_error
-napi_create_bigint_int64
-napi_wrap
-napi_set_property
-napi_get_value_bigint_int64
-napi_open_handle_scope
-napi_create_error
-napi_create_buffer
-napi_cancel_async_work
-napi_is_exception_pending
-napi_acquire_threadsafe_function
-napi_create_external
-napi_get_threadsafe_function_context
-napi_get_null
-napi_create_string_utf16
-napi_get_value_bigint_uint64
-napi_module_register
-napi_is_typedarray
-napi_create_external_buffer
-napi_get_new_target
-napi_get_instance_data
-napi_close_handle_scope
-napi_get_value_string_utf16
-napi_get_property_names
-napi_is_arraybuffer
-napi_get_cb_info
-napi_define_properties
-napi_add_env_cleanup_hook
-node_api_get_module_file_name
-napi_get_node_version
-napi_create_int64
-napi_create_double
-napi_get_and_clear_last_exception
-napi_create_reference
-napi_get_typedarray_info
-napi_call_threadsafe_function
-napi_get_last_error_info
-napi_create_array_with_length
-napi_coerce_to_number
-napi_get_global
-napi_is_error
-napi_set_instance_data
-napi_create_typedarray
-napi_throw_type_error
-napi_has_property
-napi_get_value_external
-napi_create_range_error
-napi_typeof
-napi_ref_threadsafe_function
-napi_create_bigint_uint64
-napi_get_prototype
-napi_adjust_external_memory
-napi_release_threadsafe_function
-napi_delete_async_work
-napi_create_string_latin1
-napi_is_array
-napi_unref_threadsafe_function
-napi_throw_error
-napi_has_own_property
-napi_get_reference_value
-napi_remove_env_cleanup_hook
-napi_get_value_string_utf8
-napi_is_promise
-napi_get_boolean
-napi_run_script
-napi_get_element
-napi_get_named_property
-napi_get_buffer_info
-napi_get_value_bool
-napi_reference_ref
-napi_create_object
-napi_create_promise
-napi_create_int32
-napi_escape_handle
-napi_open_escapable_handle_scope
-napi_throw
-napi_get_value_double
-napi_set_named_property
-napi_call_function
-napi_create_date
-napi_object_freeze
-napi_get_uv_event_loop
-napi_get_value_string_latin1
-napi_reject_deferred
-napi_add_finalizer
-napi_create_array
-napi_delete_reference
-napi_get_date_value
-napi_create_dataview
-napi_get_version
-napi_define_class
-napi_is_date
-napi_remove_wrap
-napi_delete_property
-napi_instanceof
-napi_create_buffer_copy
-napi_delete_element
-napi_object_seal
-napi_queue_async_work
-napi_get_value_bigint_words
-napi_is_buffer
-napi_get_array_length
-napi_get_property
-napi_new_instance
-napi_set_element
-napi_create_bigint_words
-napi_strict_equals
-napi_is_dataview
-napi_close_escapable_handle_scope
-napi_get_dataview_info
-napi_get_value_int32
-napi_unwrap
-napi_throw_range_error
-napi_coerce_to_bool
-napi_create_uint32
-napi_has_element
-napi_create_external_arraybuffer
-napi_create_symbol
-napi_coerce_to_string
-napi_create_type_error
-napi_fatal_exception
-napi_create_async_work
-napi_async_init
diff --git a/cli/napi_sym/generated_symbol_exports_list_linux.def b/cli/napi_sym/generated_symbol_exports_list_linux.def
new file mode 100644
index 0000000000..eceac0a438
--- /dev/null
+++ b/cli/napi_sym/generated_symbol_exports_list_linux.def
@@ -0,0 +1 @@
+{ "node_api_create_syntax_error"; "napi_make_callback"; "napi_has_named_property"; "napi_async_destroy"; "napi_coerce_to_object"; "napi_get_arraybuffer_info"; "napi_detach_arraybuffer"; "napi_get_undefined"; "napi_reference_unref"; "napi_fatal_error"; "napi_open_callback_scope"; "napi_close_callback_scope"; "napi_get_value_uint32"; "napi_create_function"; "napi_create_arraybuffer"; "napi_get_value_int64"; "napi_get_all_property_names"; "napi_resolve_deferred"; "napi_is_detached_arraybuffer"; "napi_create_string_utf8"; "napi_create_threadsafe_function"; "node_api_throw_syntax_error"; "napi_create_bigint_int64"; "napi_wrap"; "napi_set_property"; "napi_get_value_bigint_int64"; "napi_open_handle_scope"; "napi_create_error"; "napi_create_buffer"; "napi_cancel_async_work"; "napi_is_exception_pending"; "napi_acquire_threadsafe_function"; "napi_create_external"; "napi_get_threadsafe_function_context"; "napi_get_null"; "napi_create_string_utf16"; "napi_get_value_bigint_uint64"; "napi_module_register"; "napi_is_typedarray"; "napi_create_external_buffer"; "napi_get_new_target"; "napi_get_instance_data"; "napi_close_handle_scope"; "napi_get_value_string_utf16"; "napi_get_property_names"; "napi_is_arraybuffer"; "napi_get_cb_info"; "napi_define_properties"; "napi_add_env_cleanup_hook"; "node_api_get_module_file_name"; "napi_get_node_version"; "napi_create_int64"; "napi_create_double"; "napi_get_and_clear_last_exception"; "napi_create_reference"; "napi_get_typedarray_info"; "napi_call_threadsafe_function"; "napi_get_last_error_info"; "napi_create_array_with_length"; "napi_coerce_to_number"; "napi_get_global"; "napi_is_error"; "napi_set_instance_data"; "napi_create_typedarray"; "napi_throw_type_error"; "napi_has_property"; "napi_get_value_external"; "napi_create_range_error"; "napi_typeof"; "napi_ref_threadsafe_function"; "napi_create_bigint_uint64"; "napi_get_prototype"; "napi_adjust_external_memory"; "napi_release_threadsafe_function"; "napi_delete_async_work"; "napi_create_string_latin1"; "napi_is_array"; "napi_unref_threadsafe_function"; "napi_throw_error"; "napi_has_own_property"; "napi_get_reference_value"; "napi_remove_env_cleanup_hook"; "napi_get_value_string_utf8"; "napi_is_promise"; "napi_get_boolean"; "napi_run_script"; "napi_get_element"; "napi_get_named_property"; "napi_get_buffer_info"; "napi_get_value_bool"; "napi_reference_ref"; "napi_create_object"; "napi_create_promise"; "napi_create_int32"; "napi_escape_handle"; "napi_open_escapable_handle_scope"; "napi_throw"; "napi_get_value_double"; "napi_set_named_property"; "napi_call_function"; "napi_create_date"; "napi_object_freeze"; "napi_get_uv_event_loop"; "napi_get_value_string_latin1"; "napi_reject_deferred"; "napi_add_finalizer"; "napi_create_array"; "napi_delete_reference"; "napi_get_date_value"; "napi_create_dataview"; "napi_get_version"; "napi_define_class"; "napi_is_date"; "napi_remove_wrap"; "napi_delete_property"; "napi_instanceof"; "napi_create_buffer_copy"; "napi_delete_element"; "napi_object_seal"; "napi_queue_async_work"; "napi_get_value_bigint_words"; "napi_is_buffer"; "napi_get_array_length"; "napi_get_property"; "napi_new_instance"; "napi_set_element"; "napi_create_bigint_words"; "napi_strict_equals"; "napi_is_dataview"; "napi_close_escapable_handle_scope"; "napi_get_dataview_info"; "napi_get_value_int32"; "napi_unwrap"; "napi_throw_range_error"; "napi_coerce_to_bool"; "napi_create_uint32"; "napi_has_element"; "napi_create_external_arraybuffer"; "napi_create_symbol"; "napi_coerce_to_string"; "napi_create_type_error"; "napi_fatal_exception"; "napi_create_async_work"; "napi_async_init"; };
\ No newline at end of file
diff --git a/cli/generated_symbol_exports_list_macos.def b/cli/napi_sym/generated_symbol_exports_list_macos.def
similarity index 99%
rename from cli/generated_symbol_exports_list_macos.def
rename to cli/napi_sym/generated_symbol_exports_list_macos.def
index 7c588ea2fd..be69d297fe 100644
--- a/cli/generated_symbol_exports_list_macos.def
+++ b/cli/napi_sym/generated_symbol_exports_list_macos.def
@@ -141,4 +141,4 @@ _napi_coerce_to_string
 _napi_create_type_error
 _napi_fatal_exception
 _napi_create_async_work
-_napi_async_init
+_napi_async_init
\ No newline at end of file
diff --git a/cli/generated_symbol_exports_list_windows.def b/cli/napi_sym/generated_symbol_exports_list_windows.def
similarity index 99%
rename from cli/generated_symbol_exports_list_windows.def
rename to cli/napi_sym/generated_symbol_exports_list_windows.def
index 0b6cb946af..45f5d3aabd 100644
--- a/cli/generated_symbol_exports_list_windows.def
+++ b/cli/napi_sym/generated_symbol_exports_list_windows.def
@@ -143,4 +143,4 @@ EXPORTS
   napi_create_type_error
   napi_fatal_exception
   napi_create_async_work
-  napi_async_init
+  napi_async_init
\ No newline at end of file
diff --git a/tools/napi/generate_symbols_lists.js b/tools/napi/generate_symbols_lists.js
index 3e41c3f065..0b43171702 100755
--- a/tools/napi/generate_symbols_lists.js
+++ b/tools/napi/generate_symbols_lists.js
@@ -5,15 +5,19 @@ import exports from "../../cli/napi_sym/symbol_exports.json" assert {
   type: "json",
 };
 
-for await (const os of ["linux", "macos", "windows"]) {
-  let def = os === "windows" ? "LIBRARY\nEXPORTS\n" : "";
-  const prefix = os === "windows" ? "  " : os === "macos" ? "_" : "";
-  for (const symbol of exports.symbols) {
-    def += `${prefix}${symbol}\n`;
-  }
+const symbolExportLists = {
+  linux: `{ ${exports.symbols.map((s) => `"${s}"`).join("; ")}; };`,
+  windows: `LIBRARY\nEXPORTS\n${
+    exports.symbols
+      .map((symbol) => "  " + symbol)
+      .join("\n")
+  }`,
+  macos: exports.symbols.map((symbol) => "_" + symbol).join("\n"),
+};
 
+for await (const [os, def] of Object.entries(symbolExportLists)) {
   const defUrl = new URL(
-    `../../cli/generated_symbol_exports_list_${os}.def`,
+    `../../cli/napi_sym/generated_symbol_exports_list_${os}.def`,
     import.meta.url,
   );
   await Deno.writeTextFile(defUrl.pathname, def, { create: true });