Skip to content

node-resolve 14 breaks commonjs circular dependencies #1258

@perrin4869

Description

@perrin4869

Expected Behavior

Builds successfully and runs on node

Actual Behavior

It throws during build:

> [email protected] build
> rollup -c rollup.config.js index.js


index.js → index.out.js...
[!] Error: Unexpected early exit. This happens when Promises returned by plugins cannot resolve. Unfinished hook action(s) on exit:
(commonjs--resolver) resolveId "joi" "/home/perrin4869/nodejs/rollup-joi/index.js"
(node-resolve) resolveId "joi" "/home/perrin4869/nodejs/rollup-joi/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js" "/home/perrin4869/nodejs/rollup-joi/index.js"
(commonjs) transform "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./cache" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./common" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./compile" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./errors" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./extend" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./manifest" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./ref" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./template" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./trace" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./types/alternatives" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./types/any" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./types/array" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./types/boolean" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./types/date" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./types/function" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./types/link" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./types/number" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./types/object" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./types/string" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./types/symbol" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./types/binary" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(node-resolve) resolveId "./schemas" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/cache.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/common.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/compile.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/errors.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/extend.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/manifest.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/template.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/ref.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/trace.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/schemas.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/types/alternatives.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/types/boolean.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/types/any.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/types/array.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/types/date.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/types/function.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/types/number.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/types/link.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/types/object.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/types/string.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/types/symbol.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs--resolver) resolveId "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/types/binary.js" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/index.js"
(commonjs) transform "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/cache.js"
(node-resolve) resolveId "./common" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/cache.js"
(commonjs) transform "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/common.js"
(node-resolve) resolveId "./schemas" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/common.js"
(node-resolve) resolveId "./messages" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/common.js"
(commonjs) transform "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/compile.js"
(node-resolve) resolveId "./common" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/compile.js"
(node-resolve) resolveId "./ref" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/compile.js"
(commonjs) transform "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/errors.js"
(node-resolve) resolveId "./annotate" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/errors.js"
(node-resolve) resolveId "./common" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/errors.js"
(node-resolve) resolveId "./template" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/errors.js"
(commonjs) transform "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/extend.js"
(node-resolve) resolveId "./common" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/extend.js"
(node-resolve) resolveId "./messages" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/extend.js"
(commonjs) transform "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/manifest.js"
(node-resolve) resolveId "./common" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/manifest.js"
(node-resolve) resolveId "./messages" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/manifest.js"
(node-resolve) resolveId "./ref" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/manifest.js"
(node-resolve) resolveId "./template" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/manifest.js"
(node-resolve) resolveId "./schemas" "/home/perrin4869/nodejs/rollup-joi/node_modules/joi/lib/manifest.js"

....redacted

Additional Information

This happens when updating from node-resolve@13 to node-resolve@14.
Somehow the circular dependency causes the resolution to fail

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions