Skip to content

Switch from CJS (CommonJS) to ESM (ECMAScript Modules) #298

Description

@JoshuaKGoldberg

See also yeoman/yo#787: many Yeoman have generally switched from being CJS to ESM. generator-node is still CJS, so trying to use the latest yeoman-generator or other packages results in the dreaded:

require() of ES Module /Users/josh/repos/generator-node/node_modules/yeoman-generator/dist/index.js from /Users/josh/repos/generator-node/generators/app/index.js not supported.
Instead change the require of /Users/josh/repos/generator-node/node_modules/yeoman-generator/dist/index.js in /Users/josh/repos/generator-node/generators/app/index.js to a dynamic import() which is available in all CommonJS modules.

This issue tracks updating generator-node with a "type": "module" package so that it can directly import from ESM dependencies.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Up Next

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions