Search code examples
javascriptnode.jsnpmgulpbrowser-sync

Node update a specific package


I want to update my Browser-sync without updating all my node packages. How can I achieve this? My current version of Browser-sync does not have the Browser-sync GUI :(

├─┬ [email protected]
│ ├── [email protected]

Solution

  • Most of the time you can just npm update (or pnpm update or yarn upgrade) a module to get the latest non breaking changes (respecting the semver specified in your package.json) (<-- read that last part again).

    npm update browser-sync
    -------
    pnpm update browser-sync
    -------
    yarn upgrade browser-sync
    
    • Use [p]npm|yarn outdated to see which modules have newer versions
    • Use [p]npm update|yarn upgrade (without a package name) to update all modules

    Major version upgrades:

    In your case, it looks like you want the next major version (v2.x.x), which is likely to have breaking changes and you will need to update your app to accommodate those changes. You can install/save the latest 2.x.x by doing:

    npm install browser-sync@2 --save-dev
    -------
    pnpm add browser-sync@2 --save-dev
    -------
    yarn add browser-sync@2 --dev
    

    ...or the latest 2.1.x by doing:

    npm install [email protected] --save-dev
    -------
    pnpm add [email protected] --save-dev
    -------
    yarn add [email protected] --dev
    

    ...or the latest and greatest by doing:

    npm install browser-sync@latest --save-dev
    -------
    pnpm add browser-sync@latest --save-dev
    -------
    yarn add browser-sync@latest --dev
    

    Note: the last one is no different than doing uninstall followed by install like this:

    npm uninstall browser-sync --save-dev
    npm install browser-sync --save-dev
    -------
    pnpm remove browser-sync --save-dev
    pnpm add browser-sync --save-dev
    -------
    yarn remove browser-sync --dev
    yarn add browser-sync --dev
    

    The --save-dev part is important. This will uninstall it, remove the value from your package.json, and then reinstall the latest version and save the new value to your package.json.