Skip to content

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

@JoshuaKGoldberg

Description

@JoshuaKGoldberg

See also yeoman/yo#787: many Yeoman have generally switched from being CJS to ESM. generator-generator 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-generator/node_modules/yeoman-generator/dist/index.js from /Users/josh/repos/generator-generator/app/index.js not supported.
Instead change the require of /Users/josh/repos/generator-generator/node_modules/yeoman-generator/dist/index.js in /Users/josh/repos/generator-generator/app/index.js to a dynamic import() which is available in all CommonJS modules.

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

Metadata

Metadata

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions