parse-server-example icon indicating copy to clipboard operation
parse-server-example copied to clipboard

Error [ERR_REQUIRE_ESM]: require() of ES Module

Open farhanhu87 opened this issue 1 year ago • 6 comments

Hi Team,

I am facing below error when i run "node index.js"

warn: DeprecationWarning: The Parse Server option 'allowClientClassCreation' default will change to 'false' in a future version. warn: DeprecationWarning: The Parse Server option 'allowExpiredAuthDataToken' default will change to 'false' in a future version. warn: DeprecationWarning: The Parse Server option 'encodeParseObjectInCloudFunction' default will change to 'true' in a future version. Error [ERR_REQUIRE_ESM]: require() of ES Module /home/farhan/parse-server-example/cloud/main.js from /home/farhan/parse-server-example/node_modules/parse-server/lib/ParseServer.js not supported. main.js is treated as an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which declares all .js files in that package scope as ES modules. Instead rename main.js to end in .cjs, change the requiring code to use dynamic import() which is available in all CommonJS modules, or change "type": "module" to "type": "commonjs" in /home/farhan/parse-server-example/package.json to treat all .js files as CommonJS (using .mjs for all ES modules instead).

at ParseServer.start (/home/farhan/parse-server-example/node_modules/parse-server/lib/ParseServer.js:146:13)
at async file:///home/farhan/parse-server-example/index.js:36:3 {

code: 'ERR_REQUIRE_ESM' } /home/farhan/parse-server-example/node_modules/parse-server/lib/ParseServer.js:146 require(path.resolve(process.cwd(), cloud)); ^

Error [ERR_REQUIRE_ESM]: require() of ES Module /home/farhan/parse-server-example/cloud/main.js from /home/farhan/parse-server-example/node_modules/parse-server/lib/ParseServer.js not supported. main.js is treated as an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which declares all .js files in that package scope as ES modules. Instead rename main.js to end in .cjs, change the requiring code to use dynamic import() which is available in all CommonJS modules, or change "type": "module" to "type": "commonjs" in /home/farhan/parse-server-example/package.json to treat all .js files as CommonJS (using .mjs for all ES modules instead).

at ParseServer.start (/home/farhan/parse-server-example/node_modules/parse-server/lib/ParseServer.js:146:13)
at async file:///home/farhan/parse-server-example/index.js:36:3 {

code: 'ERR_REQUIRE_ESM' }

farhanhu87 avatar Jun 30 '24 09:06 farhanhu87

Thanks for opening this issue!

@mtrezza Looks like cloud folder is dynamically imported

https://github.com/parse-community/parse-server/blob/alpha/src/ParseServer.js#L187

dplewis avatar Jul 10 '24 16:07 dplewis

Is this only an example repo issue or a parse server issue?

mtrezza avatar Jul 11 '24 01:07 mtrezza

@mtrezza You reopened an issue for this https://github.com/parse-community/parse-server/issues/7559

dplewis avatar Jul 17 '24 17:07 dplewis

@farhanhu87 I faced this issue and I was able to resolve it by following this comment https://github.com/parse-community/parse-server/issues/7559#issuecomment-2402720234

Hope this can help you :)

djdannycastillo avatar Dec 07 '24 02:12 djdannycastillo