Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't load module from within SublimeREPL with node env #599

Open
stevemcmillen opened this issue Feb 14, 2023 · 0 comments
Open

Can't load module from within SublimeREPL with node env #599

stevemcmillen opened this issue Feb 14, 2023 · 0 comments

Comments

@stevemcmillen
Copy link

I'm using SublimeREPL with node. I tried to load a module from a local file. The require command seems to run successfully but I get "not a function" when trying to run a function from within the module.

The same works fine when running from node command line.

Here is the contents of my primary js file:

console.log("Loading norm.js")
var norm=require("./norm.js")

console.log("Contents of norm module:")
console.log(norm)

// Now try to run a method from norm.js listed in exports
console.log("Output:")
let x=norm.normalizeAPI({ contact: {id:1, custom_field: {cf_country:'Canada'}}}, 'crm', 'contact')
console.log(x)

The module defines some functions and uses module.exports to export 3 of them.

When I run primary file from command line I get expected output:

> node test.js
Loading norm.js
Contents of norm module:
{
  normalizeAPI: [Function: normalizeAPI],
  normalizeBuiltins: [Function: normalizeBuiltins],
  normalizeCustomFields: [Function: normalizeCustomFields]
}
Output:
{ custom_fields: { cf_country: 'Canada' }, id: 1 }

But when I try to run same from within SublimeREPL, I get following output:

Loading norm.js
Contents of norm module:
{ }
Output:
Uncaught TypeError: norm.normalizeAPI is not a function

I use process.chdir to change to directory where files are located. Both the primary file and the module are in same directory.

require() must be finding the file because if I change the path to invalid filename I get error. It seems to me the problem is either no objects are being loaded or the exports are not set.

Inside the module, I have tried to export using module.exports= and exports=.

Is it possible to load a local file module from within SublimeREPL and if so, how?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant