Skip to content

[Bug]: npx fails on v4 with missing browserslist package #1483

Open
@sjparkinson

Description

@sjparkinson

Would you like to work on a fix?

  • Check this if you would like to implement a PR, we are more than happy to help you go through the process.

Current and expected behavior

Current

% npx browserslist-useragent-regexp 'defaults'    
npx: installed 10 in 0.945s
internal/process/esm_loader.js:74
    internalBinding('errors').triggerUncaughtException(
                              ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'browserslist' imported from /Users/samuel.parkinson/.npm/_npx/5105/lib/node_modules/browserslist-useragent-regexp/dist/index.js
    at new NodeError (internal/errors.js:322:7)
    at packageResolve (internal/modules/esm/resolve.js:732:9)
    at moduleResolve (internal/modules/esm/resolve.js:773:18)
    at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:887:11)
    at Loader.resolve (internal/modules/esm/loader.js:89:40)
    at Loader.getModuleJob (internal/modules/esm/loader.js:242:28)
    at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:76:40)
    at link (internal/modules/esm/module_job.js:75:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

Expected

% npx browserslist-useragent-regexp@v3 'defaults'
npx: installed 27 in 1.149s
/((CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS)[ +]+(15[_.]6|16[_.](0|1|2|3|4))(?:[_.]\d+)?)|(Opera Mini(?:\/att)?\/?(\d+)?(?:\.\d+)?(?:\.\d+)?)|(Opera\/.+Opera Mobi.+Version\/73\.0)|(Opera\/73\.0.+Opera Mobi)|(Opera Mobi.+Opera(?:\/|\s+)73\.0)|((?:Chrome).*OPR\/(97|98)\.0\.\d+)|(SamsungBrowser\/(19|20)\.0)|(Edge\/11[1-3](?:\.0)?)|((Chromium|Chrome)\/(109\.0|11[1-3]\.0)(?:\.\d+)?)|(Version\/(15\.6|16\.(3|4))(?:\.\d+)? Safari\/)|(Firefox\/(102\.0|11[0-2]\.0)\.\d+)|(Firefox\/(102\.0|11[0-2]\.0)(pre|[ab]\d+[a-z]*)?)/

Reproduction

N/A

browserslist-useragent-regexp version

v4.0.0

Possible solution

I think promoting the dev dependency on browserslist into a standard dependency would resolve this, that or updating the documentation to include installing the package globally first.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions