PM2 with ES module. Error: ERR_REQUIRE_ESM

Viewed 1563

My package.json file looks something like this:

{
...
  "main": "index.js",
  "type": "module",
  "scripts": {
    "devStart": "pm2 start ecosystem.config.js --env dev --watch",
    "prodStart": "pm2 start ecosystem.config.js --env prod --watch",
    "reload": "pm2 reload ecosystem.config.js",
    "stop": "pm2 stop ecosystem.config.js",
    "end": "pm2 delete ecosystem.config.js"
  },
...
}

I did activate ES modules by "type": "module", as you see.

And the ecosystem.config.js file you know, is:

module.exports = {
  apps : [{
    name   : "app1",
    script : "./app.js",
    env_production: {
       NODE_ENV: "production"
    },
    env_development: {
       NODE_ENV: "development"
    }
  }]
}

So, when I run the script npm run devStart an error occurs.

File ecosystem.config.js malformated

code: 'ERR_REQUIRE_ESM'

It works when I just remove the "type": "module" part from config file.

How can I solve this?

node -v : v16.13.0

pm2 -v : 5.1.2

1 Answers

Rename ecosystem.config.js to ecosystem.config.cjs

Related