diff --git a/cli/src/generate/mod.rs b/cli/src/generate/mod.rs index 7ad15051..14c13aa4 100644 --- a/cli/src/generate/mod.rs +++ b/cli/src/generate/mod.rs @@ -73,15 +73,17 @@ pub fn generate_parser_in_directory( tree_sitter::PARSER_HEADER, ) .map_err(|e| format!("Failed to write parser.h: {}", e))?; + fs::write( + &repo_path.join("index.js"), + npm_files::index_js(&language_name), + ) + .map_err(|e| format!("Failed to write index.js: {}", e))?; ensure_file(&repo_src_path.join("binding.cc"), || { npm_files::binding_cc(&language_name) })?; ensure_file(&repo_path.join("binding.gyp"), || { npm_files::binding_gyp(&language_name) })?; - ensure_file(&repo_path.join("index.js"), || { - npm_files::index_js(&language_name) - })?; Ok(()) } diff --git a/cli/src/generate/templates/index.js b/cli/src/generate/templates/index.js index 19f84cde..8f342b15 100644 --- a/cli/src/generate/templates/index.js +++ b/cli/src/generate/templates/index.js @@ -7,3 +7,7 @@ try { throw error } } + +try { + module.exports.nodeTypeInfo = require("./src/node-types.json"); +} catch (_) {}