Skip to content

Error with require() for ES Module in Node.js Environment #208

@cfdavidpetter

Description

@cfdavidpetter

Issue Description:

When using the shpjs library in a Node.js environment (specifically version 21.1.0), an error occurs related to the use of require() for ES modules, resulting in the following error:

const shapefile = __importStar(require("shpjs"));

Error [ERR_REQUIRE_ESM]: require() of ES Module /app/node_modules/shpjs/lib/index.js from /app/dist/shared/infra/Shapefile.js not supported.
Instead change the require of index.js in /app/dist/shared/infra/Shapefile.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (/app/dist/shared/infra/Shapefile.js:27:32) {
  code: 'ERR_REQUIRE_ESM'
}

Steps to Reproduce:

  1. Use the shpjs library in a Node.js environment (version 21.1.0).
  2. Attempt to import and use the library in a CommonJS module.
  3. Encounter the ERR_REQUIRE_ESM error when the module is loaded.

Expected Behavior:

The shpjs library should be usable in Node.js environments without encountering errors related to ES module syntax.

Environment:

Node.js version: 21.1.0
Operating System: Docker FROM node:21.1.0

Additional Information:

This issue was resolved by updating to version 4.0.4 of the shpjs library. However, it would be beneficial to ensure compatibility with older versions of Node.js or provide guidance on the supported Node.js versions in the library documentation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions