automate your workspace version & publish by using conventional-changelog-commits

Overview

Lerna-Lite 🐉

License: MIT TypeScript npm NPM downloads lerna--lite

PR jest codecov Actions Status

Lerna-Lite is a super light version of the original Lerna


License

MIT License

About Lerna-Lite

Lerna-Lite differs from the original Lerna in the sense that it only includes 3 commands (1 is optional) out of 15 commands that the original Lerna has. It also assume that you have already setup a Workspace through NPM, Yarn or any other technology that will take care of the symlinks (Lerna-Lite does not include the bootstrap command hence the need for a pre-setup workspace), so make sure that your workspace is properly setup before installing Lerna-Lite.

Why create this lib/fork?

Mainly for the following reasons:

  1. the original Lerna is no longer maintained (dependencies are out of date)
  2. create a lighter lib that still provide Lerna's approach of Versioning and Publishing by following the Conventional Commits and also automatically create Conventional-Changelog for each package of the workspace. We don't need all packages of Lerna anymore since NPM Workspaces (or other technologies) came out.
  3. add some little extras while keeping the lib small.
    • the lib is smaller because we only copied 3 out of 15 commands from Lerna
  4. rewrite the lib with TypeScript

This lib will help you with

Version & Publish commands

  • Automate the rolling of new Versions (independent or fixed) for all your workspace packages
    • it will automatically add Commit & Tag your new Version in Git & create new GitHub or GitLab Release when enabled
  • Automate the creation of Changelogs for all your packages by reading all Conventional Commits
    • each package will get its own changelog and a combined changelog will also be created in the root
  • Automate the repository Publish of your new versions for all your packages (NPM or other platform)

Run command (optional)

  • Run is an optional package that will help you run npm script in parallel and in topological order.

Lerna-Lite Packages

Package Name Version Description Changes
@lerna-lite/cli npm Lerna-Lite Version/Publish comands CLI changelog
@lerna-lite/core npm Lerna-Lite core & shared methods changelog
@lerna-lite/publish npm Publish packages in the current workspace changelog
@lerna-lite/run npm Run command and CLI to run npm scripts in the workspace changelog
@lerna-lite/version npm Bump Version & write Changelogs changelog

Project Demo?

You want to see a demo project? Sure, you're looking at it 😉

Yes indeed, this lib was created as an NPM Workspace specifically for the purpose of demoing and testing of its own code. All changelogs and published versions were created by the lib itself, how sweet is that? You will also find that it has its own lerna.json config file just as well as you would when using the lib.

See it in Action 🎦

You can see a small video of a new version release on this Release Demo - Wiki - Confused with all the options? Consult the multiple links below.

References

README Badge

Using Lerna-Lite? Add a README badge to show it off: lerna--lite

[![lerna--lite](https://img.shields.io/badge/maintained%20with-lerna--lite-cc00ff)](https://github.com/ghiscoding/lerna-lite)

Installation

Run the following commands to install Lerna-Lite in your project and/or install it globally once with the -g option.

Command Install Description Included
📰 version npm install @lerna-lite/cli create new version for each workspace package Yes
📰 publish npm install @lerna-lite/cli publish each workspace package Yes
🏃 run npm install @lerna-lite/run run npm script in each workspace package Optional

Note: the default lerna CLI is only including 2 built-in commands (publish and version), while the (run) command is optional and must be installed separately as shown below.

# Lerna CLI which includes `publish`, `version` commands
npm install @lerna-lite/cli  # OR yard add @lerna-lite/cli

# install optional `run` command
npm install @lerna-lite/run  # OR yarn add @lerna-lite/run

Usage

Add custom NPM Scripts or simply run the commands in a shell with Lerna-Lite CLI.

// package.json / npm scripts
"scripts": {
  "new-version": "lerna version",
  "new-publish": "lerna publish from-package",
  "run-tests": "lerna run test", // optional `run` command
}

Configuration

You could configure and run Lerna in 3 different ways:

  1. via a lerna.json file
  2. via a "lerna": {} property directly under your package.json
  3. or by passing arguments directly directly in the shell when executing the command.

You can find more info by reading about the lerna.json - Wiki.

Migration for Lerna Users

If you are migrating from Lerna, it should be fairly easy to just replace Lerna with Lerna-Lite in your dependencies and that's about it, the CLI commands are the same, take a look at the quick steps shown below:

  1. remove Lerna from your local & global dependencies
npm uninstall lerna     # OR yarn remove lerna
npm uninstall -g lerna  # OR yarn global remove lerna
  1. install Lerna-Lite CLI to get version and publish commands
    • run command is optional and can be installed separately as shown below
# Lerna CLI (`version` & `publish` commands)
npm install @lerna-lite/cli

# install optional `run` command
npm install @lerna-lite/run

Development / Contribution

If you wish to contribute to the project, please follow these steps

  1. clone the lib:
    • git clone https://github.com/ghiscoding/lerna-lite
  2. install with NPM:
    • npm install
  3. run a TypeScript (TSC) build
    • npm run build
  4. add/run Jest unit tests (make sure to run the previous step first):
    • npm run jest # OR npm run jest:watch
  5. you can troubleshoot/debug the code via the VSCode debugger launch configs that were setup

Contributions

Feel free to contribute any Pull Request, PRs are very welcome. 👷 👷‍♀️

Also please note that I'm just a simple developer & user of this lib, the same as you are, my knowledge of the library is also probably similar to yours but together we can make it better (and lighter).

Troubleshooting

If you have problems running the lib and your problems are related to Git commands that were executed, then we suggest to first try with the --git-dry-run option to see if it helps in finding the error(s) you may have. Another great, and possibly much more useful suggestion, is to search in the original Lerna issues list and see if any solution could help you (remember that Lerna-Lite is a fork of the original code from Lerna and it works the same way). Lastly, if that is not enough and you wish to troubleshoot yourself, then read this Troubleshooting - Wiki to possibly troubleshoot yourself in your own environment.

Comments
  • chore(build): add Prettier to the project, expand on #168

    chore(build): add Prettier to the project, expand on #168

    Description

    takes PR https://github.com/ghiscoding/lerna-lite/pull/168 and addresses all comments provided in the original PR

    Motivation and Context

    • fixed npm lockfile that got broken by original PR, I took the same approach as the pnpm lock file update to fix the npm lock file update. Both updates are now very similar and easier to read
    • removed preferred-pm since I would prefer to not use any extra dependencies, and I think that also fixed the unit tests since they weren't being detected properly
    • added a prettier VSCode setting (setup) and also fixed couple of places where prettier wasn't doing a good job
    • add a new flag no-update-root-lock-file just in case this pnpm update causes issues, at least the user could disable it

    How Has This Been Tested?

    only local unit tests for now, we might need a bit more testing, need to validate with @JacobSoderblom

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist:

    • [x] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly.
    • [x] I have added tests to cover my changes.
    • [x] All new and existing tests passed.
    opened by ghiscoding 27
  • PNPM workspace: protocol is not removed before publish

    PNPM workspace: protocol is not removed before publish

    Describe the bug

    As titled. This broke currently our release process :scream:

    lerna publish --conventional-commits --create-release github --allow-branch main --yes --message="chore(release): Publish [skip ci]"
    

    Reproduction

    1. Create PNPM workspace
    2. Use a dependency with workspace: protocol
    3. Publish with lerna.
    4. workspace: is still in the manifest.

    Lerna config and logs

    lerna.json

    <!-- Please paste your `lerna.json` here -->
    

    lerna-debug.log

    <!-- If you have a `lerna-debug.log` available, please paste it here -->
    <!-- Otherwise, feel free to delete this <details> block -->
    

    Environment Info

    | Executable        | Version |
    | ----------------- | ------- |
    | `lerna --version` | v1.4.0 |
    | `npm --version`   | VERSION |
    | `yarn --version`  | VERSION |
    | `node --version`  | VERSION |
    
    ---
    OR simply run `npx lerna info` command
    

    Used Package Manager

    pnpm

    Validations

    need more info cannot reproduce 
    opened by StarpTech 22
  • feat(lock): add version `--sync-workspace-lock` flag to update lock file

    feat(lock): add version `--sync-workspace-lock` flag to update lock file

    Description

    This flag would run npm install --package-lock-only or associated command depending on the package manager client defined in npmClient (npm, pnpm or yarn). It will try to use the package manager client to update the lock file instead of relying on Lerna-Lite to update the file which requires a lot more code.

    Motivation and Context

    in summary this simplifies a lot the process of updating the lock file and also make it a lot more reliable since we are relying solely on the client to its job with a lot less logic to implement in Lerna-Lite. Relying on the client is also future proof in case the lock file structure ever change.

    How Has This Been Tested?

    unit tests were added

    Types of changes

    • [x] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist:

    • [x] My code follows the code style of this project.
    • [x] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    • [x] I have added tests to cover my changes.
    • [x] All new and existing tests passed.
    opened by ghiscoding 17
  • `--changelog-include-commits-client-login` doesn't work with independent mode

    `--changelog-include-commits-client-login` doesn't work with independent mode

    Describe the bug

    Hello, I try

    GH_TOKEN=ghp_secret lerna version --conventional-commits --changelog-include-commits-client-login --create-release github --git-dry-run
    

    and it generate this

    ? Are you sure you want to create these versions? Yes
    lerna-lite verb independent wrote /home/starptech/repositories/wundergraph/wundergraph/packages/sdk/CHANGELOG.md
    lerna-lite verb independent wrote /home/starptech/repositories/wundergraph/wundergraph/packages/nextjs/CHANGELOG.md
    lerna-lite info dry-run> git add -- packages/sdk/package.json packages/sdk/CHANGELOG.md packages/nextjs/package.json packages/nextjs/CHANGELOG.md
    lerna-lite verb git commit -F /tmp/126f273a-186a-4603-8ca0-0677638e0833/lerna-commit.txt
    lerna-lite info dry-run> git commit -F /tmp/126f273a-186a-4603-8ca0-0677638e0833/lerna-commit.txt
    lerna-lite verb git tag @wundergraph/[email protected] -m @wundergraph/[email protected]
    lerna-lite info dry-run> git tag @wundergraph/[email protected] -m @wundergraph/[email protected]
    lerna-lite verb git tag @wundergraph/[email protected] -m @wundergraph/[email protected]
    lerna-lite info dry-run> git tag @wundergraph/[email protected] -m @wundergraph/[email protected]
    lerna-lite info git Pushing tags...
    lerna-lite info dry-run> git push --follow-tags --no-verify --atomic origin main
    lerna-lite info execute Creating releases...
    lerna-lite verb git config --get remote.origin.url
    lerna-lite info dry-run> Create Release with repo options:  {"owner":"wundergraph","repo":"wundergraph","tag_name":"@wundergraph/[email protected]","name":"@wundergraph/[email protected]","body":"## [0.98.0](https://github.com/wundergraph/wundergraph/compare/@wundergraph/[email protected]...@wundergraph/[email protected]) (2022-08-18)\n\n\n### Features\n\n* native webhooks support ([#126](https://github.com/wundergraph/wundergraph/issues/126)) ([a0b38bd](https://github.com/wundergraph/wundergraph/commit/a0b38bd54b88198db6cc176432d577dab0931245))\n\n\n### Bug Fixes\n\n* issue with unhandled hyphens in input names ([#123](https://github.com/wundergraph/wundergraph/issues/123)) ([b01caaa](https://github.com/wundergraph/wundergraph/commit/b01caaa8c4036afbeb579dbbf14a52d82971b116))\n\n","draft":false,"prerelease":false}
    lerna-lite info dry-run> Create Release with repo options:  {"owner":"wundergraph","repo":"wundergraph","tag_name":"@wundergraph/[email protected]","name":"@wundergraph/[email protected]","body":"## [0.1.1](https://github.com/wundergraph/wundergraph/compare/@wundergraph/[email protected]...@wundergraph/[email protected]) (2022-08-18)\n\n**Note:** Version bump only for package @wundergraph/nextjs\n\n\n\n","draft":false,"prerelease":false}
    lerna-lite success version finished
    

    same as without the flag

    ## [0.98.0](https://github.com/wundergraph/wundergraph/compare/@wundergraph/[email protected]...@wundergraph/[email protected]) (2022-08-18)
    
    ### Features
    
    * native webhooks support ([#126](https://github.com/wundergraph/wundergraph/issues/126)) ([a0b38bd](https://github.com/wundergraph/wundergraph/commit/a0b38bd54b88198db6cc176432d577dab0931245))
    
    ### Bug Fixes
    
    * issue with unhandled hyphens in input names ([#123](https://github.com/wundergraph/wundergraph/issues/123)) ([b01caaa](https://github.com/wundergraph/wundergraph/commit/b01caaa8c4036afbeb579dbbf14a52d82971b116))
    
    

    Expectation

    Should add the authors to the changelog as described in https://github.com/ghiscoding/lerna-lite/tree/main/packages/version#--changelog-include-commits-client-login-msg

    Reproduction

    See above.

    Lerna config and logs

    lerna.json

    <!-- Please paste your `lerna.json` here -->
    

    lerna-debug.log

    <!-- If you have a `lerna-debug.log` available, please paste it here -->
    <!-- Otherwise, feel free to delete this <details> block -->
    

    Environment Info

    | Executable        | Version |
    | ----------------- | ------- |
    | `lerna --version` | 1.10.0 |
    | `npm --version`   | VERSION |
    | `yarn --version`  | VERSION |
    | `node --version`  | VERSION |
    
    ---
    OR simply run `npx lerna info` command and copy+paste the result here
    

    Used Package Manager

    pnpm

    Validations

    bug 
    opened by StarpTech 15
  • feat(version): add `--allow-peer-dependencies-update`, closes #333

    feat(version): add `--allow-peer-dependencies-update`, closes #333

    • supersede #362

    Description

    Add a new option --allow-peer-dependencies-update option on the version command which will help to update peer dependencies before publishing them. This option is opt-in and disabled by default because of what the original Lerna maintainer wrote in Lerna issue #1018

    peerDependencies shouldn't be updated by lerna publish

    This option is not recommended for most users, for them peerDependencies will remain untouched unless the user really wants it enabled and has more knowledge in this regard. However even when this flag is enabled, it will never mutate/update peer dependencies with semver range operator (ie >=2.0.0).

    Regex used

    For this implementation, we'll use this regex to identify if the peer dependency is allowed to be updated or not (regex101)

    /^(workspace:)?[~^]?[\d\.]+([\-]+[\w\.\-\+]+)*$/i
    

    Note

    While at it, the code in package and package-graph related to workspace: protocol were refactored a bit to follow similar implementation as to what Lerna as recently done, even though the implementation is different at least the naming is now similar.

    Motivation and Context

    Provide a way to bump peer dependencies but only via a flag, this behavior will be disabled by default, this will close #333

    • closes #333

    The main code change for this new option is in the updateLocalDependency() method found in package.ts, a new argument allowPeerDepsUpdate was added and when enabled it will add peerDependencies into the loop of dependencies to be inspected for updates. The loop is also new in that same method, since prior to this we would only update/bump the 1st dependency found, however now if the flag is enabled, we also include (loop) the peer dependency as well so instead of updating 1 dependency (by name), we might update up to 2 of with the same name

    in summary, calling lerna version --allow-peer-dependencies-update (or the equivalent lerna.json config) on this package

    {
      "name": "B",
      "dependencies": {
        "A": "workspace:^1.2.0"
       },
      "peerDependencies": {
        "A": "workspace:^1.2.0"
      }
    }
    

    will bump both the dependencies and peerDependencies to ^1.3.0 on a minor bump (note again that a semver range >= will never be bumped)

    How Has This Been Tested?

    added a lot more unit tests to cover package.ts, package-graph, publish and version

    What will be valid and update?

    It will update (bump) regular semver like these

    • 1.2.3
    • ^1.2.3
    • ^1.4.0-alpha.0
    • workspace:^1.2.3

    but it won't mutate/update things like

    • >=1.0.0
    • >=1.0.0 <2.0.0
    • ^1 | ^2 | ^3

    Types of changes

    • [ ] Chore (change that has absolutely no effect on users)
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist:

    • [x] My code follows the code style of this project.
    • [x] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    • [x] I have added tests to cover my changes.
    • [x] All new and existing tests passed.
    opened by ghiscoding 12
  • PNPM workspace: protocol - wrong version rewrite

    PNPM workspace: protocol - wrong version rewrite

    Describe the bug

    Hi, lerna-lite replaced >= with ^. I'm not sure if this is correct.

    Reproduction

    1. Create a pnpm workspace with two packages (FOO, SDK) and FOO depending on SDK.

    FOO: version 0.80.0, use the version constraint workspace:>=0.91.0 on SDK SDK: version 0.91.0

    1. Make a change in SDK and commit

    Calculate the next version with lerna publish prerelease --no-verify-access --conventional-commits --create-release github lerna will bump the SDK version in FOO as follow.

    ---    "SDK": "workspace:>=0.91.0",
    +++    "SDK": "workspace:^0.91.6-next.1",
    

    Lerna config and logs

    lerna.json

    <!-- Please paste your `lerna.json` here -->
    

    lerna-debug.log

    <!-- If you have a `lerna-debug.log` available, please paste it here -->
    <!-- Otherwise, feel free to delete this <details> block -->
    

    Environment Info

    | Executable        | Version |
    | ----------------- | ------- |
    | `lerna --version` | 1.4.0 |
    | `npm --version`   | VERSION |
    | `yarn --version`  | VERSION |
    | `node --version`  | v16.14.2 |
    
    ---
    OR simply run `npx lerna info` command
    

    Used Package Manager

    pnpm

    Validations

    enhancement good first issue 
    opened by StarpTech 11
  • Any plans to rename cli?

    Any plans to rename cli?

    Hi there

    I was wondering if it would be considered to update the cli to learna-lite in a future version, as opposed to the two ws-* commands? The reasoning behind this would be for ease of development, where developers familiar with lerna could easily recognise the use of this project as lerna like commands, whereas ws-* is not familiar

    I'm submitting a Feature request

    Motivation / Use Case

    Ease of migration and familiarity for developers

    Expected Behavior

    ws-roller version - > lerna-lite version etc

    Other Information

    enhancement major version 
    opened by js-kyle 11
  • fix(core): fix parsing commit date with different time zone

    fix(core): fix parsing commit date with different time zone

    Description

    Update regex for extracting commit date inside the get-commits-since-last-release.ts function, the regex has an issue related to parsing time zones. When executing git log with --format="%h %aI" option to get the oldest commit details, %aI formats the author date in ISO 8601 format, then the old regex /^"?([0-9a-f]+)\s([0-9\-T\:]*)"?$/ used to extract commit hash and date. The old regex can only parse dates with a time zone offset of - hours but in my case, my time zone has an offset of + hours. Hence, the commit date was always undefined leading to all commands that call Github API with $since variable to fail with GraphqlResponseError Variable $since of type GitTimestamp! was provided invalid value.

    Thank you @ghiscoding for the fantastic work 🙏.

    Motivation and Context

    After #272, I tried to use the --changelog-include-commits-client-login option but it always fails when calling GitHub API, after debugging turns out that the commit date was undefined because of miss-parsing of the ISO date time zones.

    New Regex (regex101 editor)

    /^"?([0-9a-f]+)\s([0-9\-|\+T\:]*)"?$/
    

    should parse -+ time zones.

    How Has This Been Tested?

    All old tests pass and I don't know if this case needs a dedicated test.

    Types of changes

    • [ ] Chore (change that has absolutely no effect on users)
    • [x] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist:

    • [x] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly.
    • [x] I have added tests to cover my changes.
    • [x] All new and existing tests passed.
    opened by ahrbil 9
  • pnpm-lock.yaml is no longer updated

    pnpm-lock.yaml is no longer updated

    Describe the bug

    See CI Job The command is executed but the updated lock file was not committed https://github.com/wundergraph/wundergraph/commit/b9dea13cbaa4cf33c9d7d2af48ca71bad8723f24

    Expectation

    I miss the line

     git add -- packages/sdk/package.json packages/sdk/CHANGELOG.md packages/nextjs/package.json packages/nextjs/CHANGELOG.md pnpm-lock.yaml
    

    Reproduction

    No idea

    Lerna config and logs

    lerna.json

    <!-- Please paste your `lerna.json` here -->
    

    lerna-debug.log

    <!-- If you have a `lerna-debug.log` available, please paste it here -->
    <!-- Otherwise, feel free to delete this <details> block -->
    

    Environment Info

    | Executable        | Version |
    | ----------------- | ------- |
    | `lerna --version` | 1.5.1 |
    | `npm --version`   | VERSION |
    | `yarn --version`  | VERSION |
    | `node --version`  | VERSION |
    
    ---
    OR simply run `npx lerna info` command and copy+paste the result here
    

    Used Package Manager

    pnpm

    Validations

    bug external lib 
    opened by StarpTech 8
  • WIP - feat: filter for lerna tags in independent mode

    WIP - feat: filter for lerna tags in independent mode

    Fix #200

    Description

    Motivation and Context

    How Has This Been Tested?

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist:

    • [ ] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly.
    • [ ] I have added tests to cover my changes.
    • [ ] All new and existing tests passed.
    opened by StarpTech 8
  • Support `pnpm` workspaces

    Support `pnpm` workspaces

    I'm submitting a Feature request

    Motivation / Use Case

    I would like a repo that uses pnpm workspaces to be able to use lerna-lite.

    Expected Behavior

    When version or publish are run in repositories that use pnpm workspaces, the commands should work.

    Currently, the following error occurs:

    ~/elephant/web-packages -> chore/pnpm |• $
    ❯ pnpm lerna publish
    lerna notice cli v1.0.5
    lerna info versioning independent
    lerna ERR! Error: Unsupported URL Type "workspace:": workspace:^0.3.1
    lerna ERR!     at unsupportedURLType (/Users/theo/elephant/web-packages/node_modules/.pnpm/[email protected]/node_modules/npm-package-arg/lib/npa.js:262:15)
    lerna ERR!     at fromURL (/Users/theo/elephant/web-packages/node_modules/.pnpm/[email protected]/node_modules/npm-package-arg/lib/npa.js:322:13)
    lerna ERR!     at Function.resolve (/Users/theo/elephant/web-packages/node_modules/.pnpm/[email protected]/node_modules/npm-package-arg/lib/npa.js:80:12)
    lerna ERR!     at /Users/theo/elephant/web-packages/node_modules/.pnpm/@[email protected]/node_modules/@lerna-lite/core/dist/package-graph/package-graph.js:53:60
    lerna ERR!     at Array.forEach (<anonymous>)
    lerna ERR!     at /Users/theo/elephant/web-packages/node_modules/.pnpm/@[email protected]/node_modules/@lerna-lite/core/dist/package-graph/package-graph.js:47:44
    lerna ERR!     at Map.forEach (<anonymous>)
    lerna ERR!     at new PackageGraph (/Users/theo/elephant/web-packages/node_modules/.pnpm/@[email protected]/node_modules/@lerna-lite/core/dist/package-graph/package-graph.js:43:14)
    lerna ERR! lerna Unsupported URL Type "workspace:": workspace:^0.3.1
    

    Other Information

    • This same problem is present in the forked lerna repository https://github.com/lerna/lerna/issues/2564#issuecomment-1035392832
    • I don't mind taking a crack at this myself when I can find the time 👍
    • My focus is pnpm as that is my personal use-case, however this issue is present with yarn workspaces also.
    help wanted feature 
    opened by tjmgregory 8
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Awaiting Schedule

    These updates are awaiting their schedule. Click on a checkbox to get an update now.

    • [ ] chore(deps): update all non-major dependencies (eslint-plugin-jest, jest-extended, nx, prettier)

    Ignored or Blocked

    These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

    Detected dependencies

    github-actions
    .github/workflows/main.yml
    • actions/checkout v3
    • pnpm/action-setup v2.2.4
    • actions/setup-node v3
    • actions/cache v3
    • actions/checkout v3
    • pnpm/action-setup v2.2.4
    • actions/setup-node v3
    • actions/cache v3
    • actions/cache v3
    • codecov/codecov-action v3.1.1
    .github/workflows/no-response.yml
    • lee-dohm/no-response 9bb0a4b5e6a45046f00353d5de7d90fb8bd773bb
    .github/workflows/stale.yml
    • actions/stale v7
    npm
    package.json
    • @jest/types ^29.3.1
    • @types/jest ^29.2.5
    • @types/node ^18.11.18
    • @types/npmlog ^4.1.4
    • @types/yargs ^17.0.19
    • @typescript-eslint/eslint-plugin ^5.48.0
    • @typescript-eslint/parser ^5.48.0
    • eslint ^8.31.0
    • eslint-config-airbnb-base ^15.0.0
    • eslint-config-prettier ^8.6.0
    • eslint-plugin-import ^2.26.0
    • eslint-plugin-jest ^27.2.0
    • eslint-plugin-node ^11.1.0
    • eslint-plugin-prefer-arrow ^1.2.3
    • fs-extra ^11.1.0
    • jest ^29.3.1
    • jest-cli ^29.3.1
    • jest-extended ^3.2.1
    • npmlog ^7.0.1
    • nx 15.4.4
    • prettier ^2.8.1
    • rimraf ^3.0.2
    • semver ^7.3.8
    • tacks ^1.2.6
    • ts-jest ^29.0.3
    • tsm ^2.3.0
    • typescript ^4.9.4
    • node >=14.17.0
    • npm >=8.0.0
    • pnpm 7
    packages/changed/package.json
    • yargs-parser ^21.1.1
    • node >=14.17.0
    • npm >=8.0.0
    packages/cli/package.json
    • dedent ^0.7.0
    • dotenv ^16.0.3
    • import-local ^3.1.0
    • npmlog ^7.0.1
    • path ^0.12.7
    • yargs ^17.6.2
    • @types/load-json-file ^5.1.0
    • yargs-parser ^21.1.1
    • node >=14.17.0
    • npm >=8.0.0
    packages/core/package.json
    • @npmcli/run-script ^6.0.0
    • @octokit/plugin-enterprise-rest ^6.0.1
    • @octokit/rest ^19.0.5
    • clone-deep ^4.0.1
    • config-chain ^1.1.13
    • conventional-changelog-angular ^5.0.13
    • conventional-changelog-core ^4.2.4
    • conventional-changelog-writer ^5.0.1
    • conventional-commits-parser ^3.2.4
    • conventional-recommended-bump ^6.1.0
    • cosmiconfig ^8.0.0
    • dedent ^0.7.0
    • fs-extra ^11.1.0
    • get-stream ^6.0.1
    • git-url-parse ^13.1.0
    • glob-parent ^6.0.2
    • graceful-fs ^4.2.10
    • is-ci ^3.0.1
    • make-dir ^3.1.0
    • minimatch ^5.1.2
    • npm-package-arg ^10.1.0
    • npmlog ^7.0.1
    • path ^0.12.7
    • resolve-from ^5.0.0
    • semver ^7.3.8
    • strong-log-transformer ^2.1.0
    • uuid ^9.0.0
    • write-file-atomic ^5.0.0
    • @types/clone-deep ^4.0.1
    • @types/conventional-changelog-core ^4.2.1
    • @types/conventional-changelog-writer ^4.0.2
    • @types/conventional-commits-parser ^3.0.3
    • @types/conventional-recommended-bump ^6.1.0
    • @types/dedent ^0.7.0
    • @types/execa ^2.0.0
    • @types/fs-extra ^9.0.13
    • @types/git-url-parse ^9.0.1
    • @types/glob-parent ^5.1.1
    • @types/inquirer ^9.0.3
    • @types/load-json-file ^5.1.0
    • @types/minimatch ^5.1.2
    • @types/npm-package-arg ^6.1.1
    • @types/p-map ^2.0.0
    • @types/semver ^7.3.13
    • @types/strong-log-transformer ^1.0.0
    • @types/write-file-atomic ^4.0.0
    • @types/write-json-file ^3.2.1
    • @types/write-pkg ^4.0.0
    • npm-registry-fetch ^14.0.3
    • yargs ^17.6.2
    • yargs-parser ^21.1.1
    • node >=14.17.0
    • npm >=8.0.0
    packages/diff/package.json
    • fs-extra ^11.1.0
    • npmlog ^7.0.1
    • yargs-parser ^21.1.1
    • node >=14.17.0
    • npm >=8.0.0
    packages/exec/package.json
    • dotenv ^16.0.3
    • npmlog ^7.0.1
    • @types/p-map ^2.0.0
    • fs-extra ^11.1.0
    • yargs ^17.6.2
    • yargs-parser ^21.1.1
    • node >=14.17.0
    • npm >=8.0.0
    packages/info/package.json
    • envinfo ^7.8.1
    • @types/envinfo ^7.8.1
    • path ^0.12.7
    • yargs ^17.6.2
    • node >=14.17.0
    • npm >=8.0.0
    packages/init/package.json
    • fs-extra ^11.1.0
    • path ^0.12.7
    • @types/fs-extra ^9.0.13
    • @types/p-map ^2.0.0
    • @types/write-json-file ^3.2.1
    • yargs-parser ^21.1.1
    • node >=14.17.0
    • npm >=8.0.0
    packages/list/package.json
    • yargs-parser ^21.1.1
    • node >=14.17.0
    • npm >=8.0.0
    packages/listable/package.json
    • columnify ^1.6.0
    • node >=14.17.0
    • npm >=8.0.0
    packages/optional-cmd-common/package.json
    • fs-extra ^11.1.0
    • npmlog ^7.0.1
    • upath ^2.0.1
    • @types/node ^18.11.18
    • @types/p-map ^2.0.0
    • path ^0.12.7
    • yargs ^17.6.2
    • node >=14.17.0
    • npm >=8.0.0
    packages/publish/package.json
    • @npmcli/arborist ^6.1.5
    • columnify ^1.6.0
    • fs-extra ^11.1.0
    • has-unicode ^2.0.1
    • libnpmaccess ^7.0.1
    • libnpmpublish ^7.0.6
    • npm-package-arg ^10.1.0
    • npm-packlist ^7.0.4
    • npm-registry-fetch ^14.0.3
    • npmlog ^7.0.1
    • pacote ^15.0.8
    • path ^0.12.7
    • read-package-json ^6.0.0
    • semver ^7.3.8
    • ssri ^10.0.1
    • tar ^6.1.13
    • @types/conventional-changelog-core ^4.2.1
    • @types/conventional-recommended-bump ^6.1.0
    • @types/execa ^2.0.0
    • @types/fs-extra ^9.0.13
    • @types/load-json-file ^5.1.0
    • @types/p-map ^2.0.0
    • @types/semver ^7.3.13
    • @types/write-pkg ^4.0.0
    • yargs ^17.6.2
    • yargs-parser ^21.1.1
    • node >=14.17.0
    • npm >=8.0.0
    packages/run/package.json
    • fs-extra ^11.1.0
    • npmlog ^7.0.1
    • @types/p-map ^2.0.0
    • jest-circus ^29.3.1
    • perf_hooks ^0.0.1
    • yargs ^17.6.2
    • yargs-parser ^21.1.1
    • node >=14.17.0
    • npm >=8.0.0
    packages/version/package.json
    • dedent ^0.7.0
    • minimatch ^5.1.2
    • npmlog ^7.0.1
    • path ^0.12.7
    • semver ^7.3.8
    • @npm/types ^1.0.2
    • @types/conventional-changelog-core ^4.2.1
    • @types/conventional-recommended-bump ^6.1.0
    • @types/execa ^2.0.0
    • @types/fs-extra ^9.0.13
    • @types/js-yaml ^4.0.5
    • @types/load-json-file ^5.1.0
    • @types/minimatch ^5.1.2
    • @types/p-map ^2.0.0
    • @types/semver ^7.3.13
    • @types/write-json-file ^3.2.1
    • @types/write-pkg ^4.0.0
    • fs-extra ^11.1.0
    • js-yaml ^4.1.0
    • yargs ^17.6.2
    • yargs-parser ^21.1.1
    • node >=14.17.0
    • npm >=8.0.0

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    dependencies bot keep open 
    opened by renovate[bot] 0
  • Wrong handling of independent mode?

    Wrong handling of independent mode?

    Describe the bug

    Hi, I'm a bit curious about how the independent mode works. I made a preview and got the following logs:

    > lerna version --conventional-commits --changelog-include-commits-client-login --create-release github --git-dry-run
    
    lerna-lite notice cli v1.11.1
    lerna-lite verb rootPath /home/starptech/repositories/wundergraph/wundergraph
    lerna-lite info dry-run> git rev-parse
    lerna-lite info versioning independent
    lerna-lite verb project packages packages/nextjs packages/sdk packages/protobuf
    lerna-lite info dry-run> git rev-list --count --all --max-count=1
    lerna-lite verb isAnythingCommitted 1
    lerna-lite verb currentBranch main
    lerna-lite info dry-run> git show-ref --verify refs/remotes/origin/main
    lerna-lite info dry-run> git remote update
    lerna-lite info dry-run> git rev-list --left-right --count origin/main...main
    lerna-lite verb hasTags filter for tags with '*@*' pattern
    lerna-lite verb hasTags true
    lerna-lite verb git-describe.sync "*@*" => "@wundergraph/[email protected]"
    lerna-lite info Looking for changed packages since @wundergraph/[email protected]
    lerna-lite verb filtered diff packages/nextjs/package.json
    lerna-lite verb filtered diff packages/protobuf/package.json
    lerna-lite verb filtered diff packages/sdk/package.json
    lerna-lite verb updated @wundergraph/nextjs
    lerna-lite verb updated @wundergraph/protobuf
    lerna-lite verb updated @wundergraph/sdk
    lerna-lite info dry-run> git describe --always --long --dirty --first-parent
    lerna-lite verb getChangelogConfig using preset "conventional-changelog-conventionalcommits"
    lerna-lite verb getChangelogConfig Attempting to resolve preset "conventional-changelog-conventionalcommits"
    lerna-lite info getChangelogConfig Successfully resolved preset "conventional-changelog-conventionalcommits"
    lerna-lite verb independent increment 0.1.4 by patch - @wundergraph/nextjs
    lerna-lite verb independent increment 0.91.2 by patch - @wundergraph/protobuf
    lerna-lite verb independent increment 0.98.3 by patch - @wundergraph/sdk
    
    Changes (3 packages):
     - @wundergraph/nextjs: 0.1.4 => 0.1.5
     - @wundergraph/protobuf: 0.91.2 => 0.91.3
     - @wundergraph/sdk: 0.98.3 => 0.98.4
    

    Check the line

    lerna-lite verb git-describe.sync "*@*" => "@wundergraph/[email protected]"
    lerna-lite info Looking for changed packages since @wundergraph/[email protected]
    

    Shouldn't it be checked for each package individually? Why is @wundergraph/[email protected] the base?

    Expectation

    No response

    Reproduction

    No

    Lerna config and logs

    lerna.json

    <!-- Please paste your `lerna.json` here -->
    

    lerna-debug.log

    <!-- If you have a `lerna-debug.log` available, please paste it here -->
    <!-- Otherwise, feel free to delete this <details> block -->
    

    Environment Info

    | Executable        | Version |
    | ----------------- | ------- |
    | `lerna --version` | 1.11.1 |
    | `npm --version`   | VERSION |
    | `yarn --version`  | VERSION |
    | `node --version`  | VERSION |
    
    ---
    OR simply run `npx lerna info` command and copy+paste the result here
    

    Used Package Manager

    pnpm

    Validations

    question stale-issue 
    opened by StarpTech 4
Releases(v1.13.0)
  • v1.13.0(Nov 22, 2022)

    1.13.0 (2022-11-22)

    Bug Fixes

    • deps: libnpmaccess was rewritten, lsPackages is now getPackages (#401) (abb78b0) - by @ghiscoding
    • deps: npm-package-arg now normalize x, x@, x@* (#400) (41b6eaa) - by @ghiscoding
    • deps: update all non-major dependencies (#402) (3feeea9) - by @renovate-bot
    • deps: update all non-major dependencies (#405) (084da4f) - by @renovate-bot
    • deps: update all non-major dependencies (#414) (267fced) - by @renovate-bot
    • deps: update dependency @npmcli/arborist to v6 (#396) (39b0feb) - by @renovate-bot
    • deps: update dependency @npmcli/run-script to v6 (#406) (02c998e) - by @renovate-bot
    • deps: update dependency cosmiconfig to v8 (#419) (b31dfe7) - by @renovate-bot
    • deps: update dependency libnpmpublish to v7 (#399) (4eaea64) - by @renovate-bot
    • run: detect Nx target configuration in package.json files (#416) (be2af28) - by @ghiscoding

    Features

    • publish: apply publishConfig overrides, closes #404 (#415) (03e8157) - by @ghiscoding, @artechventure
    • version: bump prerelease versions from conventional commits (#409) (dad936e) - by @ghiscoding
    • version: use npmClientArgs in npm install after lerna version (#417) (43e5dcd) - by @ghiscoding
    Source code(tar.gz)
    Source code(zip)
  • v1.12.0(Oct 14, 2022)

    1.12.0 (2022-10-14)

    Quick Summary

    This new release is quite full and here are some of the most noteworthy changes

    • we added a new option --remove-package-fields (on lerna publish) which allow the user to remove (clean) any fields that aren't required in the final published package.json of each package (for example Lerna-Lite itself has it configured here to remove scripts and devDependencies since they bring no benefit to the end user)
    • a new version option --allow-peer-dependencies-update
    • we also increased slightly the minimum Node version to >=14.17.0 so that it works with latest upgrade of dependencies like npm-registry-fetch, ssri, read-package-json and more... so make sure you meet the minimum
    • lastly git-dry-run and cmd-dry-run were renamed to simply dry-run and the previous option names are still working, for now, but they are deprecated and will be removed in next major version (when Node 14 becomes EOL in April of next year)

    Bug Fixes

    • bump min Node version to >=14.17.0 to align with external deps (#387) (2f804e9) - by @ghiscoding
    • deps: update dependency @npmcli/run-script to v5 (#388) (f8a8995) - by @renovate-bot
    • deps: update dependency @octokit/rest to ^19.0.5 (#380) (18155d8) - by @renovate-bot
    • deps: update dependency dotenv to ^16.0.3 (66467f5) - by @renovate-bot
    • deps: update dependency npm-packlist to v6 (4241c2f) - by @renovate-bot
    • deps: update dependency npmlog to v7 (#389) (d2110f1) - by @renovate-bot
    • deps: update dependency read-package-json to v6 (#390) (c585090) - by @renovate-bot
    • deps: update dependency ssri to v10 (#385) (04457c9) - by @renovate-bot
    • deps: update dependency write-file-atomic to v5 (#386) (ffdea0d) - by @renovate-bot
    • deps: upgrading pacote & npm-packlist to v7 requires arborist tree (#367) (8c34a3b) - by @ghiscoding
    • npm-publish: Allows disabling of strict SSL checks (#374) (a26d849) - by @ghiscoding
    • run: allow for loading of env files to be skipped (#391) (440611e) - by @ghiscoding
    • run: fully defer to Nx for dep detection when nx.json exists (0657aa4) - by @ghiscoding
    • run: only defer to Nx when targetDefaults are defined in nx.json (127f90c) - by @ghiscoding
    • run: warn on incompatible arguments with useNx (bc5e823) - by @ghiscoding

    Features

    • commands: rename git-dry-run and cmd-dry-run to simply dry-run (#377) (3a55f5e) - by @ghiscoding
    • publish: add new option --remove-package-fields before publish (#359) (45a2107) - by @ghiscoding
    • run: add --use-nx as CLI option and add Nx profiler (9da003e) - by @ghiscoding
    • version: add --allow-peer-dependencies-update, closes #333 (#363) (efaf011) - by @ghiscoding
    • version: use manual GitHub web interface when GH_TOKEN is undefined (83e9cce) - by @ghiscoding
    Source code(tar.gz)
    Source code(zip)
  • v1.11.3(Sep 20, 2022)

    1.11.3 (2022-09-20)

    Bug Fixes

    • cli: add missing Type to fix TSC build error (836d7f0) - by @ghiscoding
    • deps: update dependency git-url-parse to ^13.1.0 (bcce5ae) - by @renovate-bot
    • deps: update dependency git-url-parse to v13 (3bf8155) - by @renovate-bot
    • deps: update dependency uuid to v9 (e97efb6) - by @renovate-bot
    • run: exclude dependencies with --scope when nx.json is not present (3c222ed) - by @ghiscoding
    Source code(tar.gz)
    Source code(zip)
  • v1.11.2(Aug 30, 2022)

  • v1.11.1(Aug 24, 2022)

  • v1.11.0(Aug 19, 2022)

    1.11.0 (2022-08-19)

    Release info

    You can now take advantage of Lerna-Lite JSON Schema to help with all available options of the lib and also validate your configs by simply adding the following line to your lerna.json file: "$schema": "node_modules/@lerna-lite/cli/schemas/lerna-schema.json". After that, hovering over any of the option will provide you with a quick detail of the option and the acceptable value(s)

    image

    Bug Fixes

    • core: use match pattern to get last tag date with independent mode (cebcecf) - by @ghiscoding
    • deps: update all non-major dependencies (e3b379c) - by @renovate-bot
    • deps: update all non-major dependencies (e8dcfec) - by @renovate-bot
    • version: changelog client login does not need linkRefs in template (57047ab) - by @ghiscoding
    • version: commit user login, oldest commit might be undefined (4132f43) - by @ghiscoding
    • version: properly update dependencies npm lockfile v2 (0abfa85) - by @ghiscoding
    • version: use %aI to pull oldest commit author date (e033e05) - by @ghiscoding

    Features

    • cli: add JSON schema for lerna.json (fd93826) - by @ghiscoding
    Source code(tar.gz)
    Source code(zip)
  • v1.10.0(Aug 6, 2022)

    1.10.0 (2022-08-06)

    Fixed an issue found by the Jest team, I'm also happy to see that they have officially switched to Lerna-Lite and it is by far the biggest project using Lerna-Lite. From my understanding the main reasons they've done the switch was because Lerna-Lite fork is smaller & more modular with less dependencies (they only need version/publish) and also for the support of workspace: protocol.

    Bug Fixes

    • core: ensure to touch all nodes in package-graph, fix issue found by Jest team (#301) (f4f7bbc) - by @ghiscoding
    • deps: update all non-major dependencies (abe1eff) - by @renovate-bot
    • run: do not toposort when running in parallel with useNx to match legacy (af1192c) - by @ghiscoding
    • version: get oldest commit data for changelog include commit login (5d7464b) - by @ghiscoding

    Features

    • version: use conventional commit changelog writer for perf (e9d7c52) - by @ghiscoding
    Source code(tar.gz)
    Source code(zip)
  • v1.9.1(Aug 1, 2022)

  • v1.9.0(Jul 28, 2022)

    1.9.0 (2022-07-28)

    📢 Great new Feature to auto-add GitHub Contributors

    We now have a new option lerna version --changelog-include-commits-client-login [msg] which associates every commit line entry to a remote client (GitHub) user login. It will indirectly create the contributor list when pushing a new GitHub Release. Also note that this feature is available only in Lerna-Lite (not in Lerna) 🚀

    We now have 2 ways of adding commit author/login name

    • --changelog-include-commits-git-author will add the git author name on commits (reads git history)
    • --changelog-include-commits-client-login fetch data from GitHub API to add client login on commits (see below)

    Bug Fixes

    • run-lifecycle: lifecycle events should run to completion in series (#275) (8e45a1e) - by @ghiscoding
    • version: inherit stdio for lerna version lifecycle scripts (#276) (9c3625d) - by @ghiscoding
    • version: make sure we always have regex match array (#271) (ba34849) - by @ghiscoding
    • version: rename option to --changelog-include-commits-git-author (b095637) - by @ghiscoding

    Features

    • publish: disable legacy verifyAccess behavior by default (#274) (fb1852d) - by @ghiscoding
    • publish: include all deps in package graph by default, allow no-sort (#277) (3229e77) - by @ghiscoding
    • version: option to add commit login username on each changelog entry, closes #248 (#272) (2ca0dca) - by @ghiscoding
    Source code(tar.gz)
    Source code(zip)
  • v1.8.0(Jul 21, 2022)

    1.8.0 (2022-07-21)

    New Features

    This new release brings a new flag ~--changelog-include-commit-author-fullname~, renamed to --changelog-include-commits-git-author on the lerna version command, which is displaying the Git author name of each commit entry from the changelog

    • note: the author name is what is configured in Git and is not the same as the GitHub login username since that is not actually saved in git history. So unfortunately you cannot use this as a contributor list, at least not with @ referencing, this might come in a future release.

    Note

    Also please note that the version 1.7.0 was skipped by mistake, hence the higher version bump.

    Bug Fixes

    • deps: update all non-major dependencies (ed1db35) (by Renovate Bot)
    • deps: update all non-major dependencies (#254) (2d9a0d5) (by WhiteSource Renovate)
    • deps: update dependency @octokit/rest to v19 (#251) (d0018d7) (by WhiteSource Renovate)
    • deps: update dependency git-url-parse to v12 (978bf36) (by Renovate Bot)
    • diff: add diff command missing dependency (#265) (29168f7) (by Ghislain B)
    • run: add double quotes around script target containing colon (18da175) (by ghiscoding)
    • version: Node14, import from "fs" instead of "node:fs", fixes #260 (#261) (5e420fd) (by Ghislain B)
    • version: rollback previous patch on pnpm lockfile update (d9f933c) (by ghiscoding)

    Features

    • core: filter for lerna tags in independent mode (#267) (8c3cdb3) (by Dustin Deus)
    • version: add flag to include changelog commit author, close #248 (#253) (7fd8db1) (by Ghislain B)
    • version: provide custom format to include commit author fullname (#269) (1f5a94e) (by Ghislain B)
    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(Jun 30, 2022)

    1.6.0 (2022-06-30)

    Bug Fixes

    • deps: update all non-major dependencies (27921f4)
    • run: lerna run parallel should maximize concurrency with useNx (14a113b), closes #3205
    • run: Nx correctly detect if target dependencies default are set (4720351)
    • version: remove workspace: prefix on peerDeps & few refactor (6e4e5b7)
    • version: use --no-frozen-lockfile instead of --fix-lockfile (a6120b9)

    Features

    • changed: add Lerna changed as optional command (b08417c)
    • diff: add Lerna diff as optional command (44dabb2)
    Source code(tar.gz)
    Source code(zip)
  • v1.5.1(Jun 12, 2022)

  • v1.5.0(Jun 8, 2022)

    1.5.0 (2022-06-08)

    New --sync-workspace-lock flag added to help version command updating lock file 🔒 🚀

    We added a new flag called --sync-workspace-lock to help updating your lock file by directly leveraging your favorite package manager client (that is npm, pnpm or yarn... just make sure you have it set in your npmClient of lerna.json) when calling the Version command and since it uses your client, instead of relying on Lerna-Lite to do the work, it is much more future proof and reliable since we never know when the lock file structure might change. So we strongly recommend using this new flag (even more so when using the workspace: protocol) and you can see much more info and important notes to read in the Version wiki link --sync-workspace-lock

    Improved publish --git-dry-run logs

    There's also improvements in the publish command when run with --git-dry-run, it now shows more info about the Tarball, basically it's temp location, so you can inspect its content, and also all its dependencies/devDependencies versions to help figuring out what could be published. This change was actually introduced to help troubleshooting an actual bug and was implemented in PR #201 (the PR name is for another bug, however the log improvements were really made as part of that PR)


    Features

    • lock: feat(lock): add version --sync-workspace-lock flag to update lock file (200e385)

    Bug Fixes

    • correctly add npm package lock to git add list (281586f)
    • deps: update all non-major dependencies (c87e937)
    • deps: update dependency @npmcli/run-script to v4 (29a09a9)
    • version: improve default git publish message, closes #185 (735fbe6)
    • version: keep semver range operator in workspace: protocol, fixes #198 (1794ccd)

    Chore

    • version: chore(build): add Prettier to the project (ee1a964)
    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(May 30, 2022)

  • v1.3.0(May 13, 2022)

    1.3.0 (2022-05-13)

    The previous Lerna-Lite release 1.2.0 brought support to pnpm/yarn workspace: protocol but I quickly found out that it wasn't following a strict match and in most cases it was using caret ^ when transforming the workspace:* before publishing and that is because of how Lerna finds the next available version, however that wasn't strictly following the same transform as yarn/pnpm workspace: would, in which workspace:* should transform to an exact match while workspace:~ to a patch match. This new Lerna-Lite release fixes this problem and now follows more strictly what yarn/pnpm workspace: transforms are (a new flag --workspace-strict-match was added for that change and is enabled by default). For more info, see Publish docs.

    Here's a quick summary of how workspace: protocol are transformed (before publish is called) for both Lerna-Lite releases (the table below assumes that the packaged version is 2.5.0)

    | workspace | Lerna-Lite 1.2.0 | Lerna-Lite 1.3.0 | | ------------| ----------------- | ----------------- | | workspace:* | 2.5.0 | 2.5.0 | | workspace:~ | ^2.5.0 | ~2.5.0 | | workspace:^ | ^2.5.0 | ^2.5.0 | | workspace:^2.5.0 | ^2.5.0 | ^2.5.0 | | workspace:2.5.0 | ^2.5.0 | 2.5.0 |

    For more info see Publish - Wiki and/or pnpm workspace, yarn workspace

    Features

    • init: add Lerna init command to get started (dfc3311)
    • publish: workspace:* (or ~) protocol should strictly match range (acede60)
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(May 11, 2022)

    1.2.0 (2022-05-11)

    📢 Great news, Lerna-Lite now support yarn/pnpm workspace: protocol

    This is a new Lerna feature which is only available in Lerna-Lite, the original Lerna doesn't currently have this feature. I'm also running a small poll survey to see who's using this new feature and with which package manager yarn or pnpm?

    Please takes 30sec to fill the poll survey. thanks 😃

    This new workspace protocol feature was tested by forking a small boilerplate ts-pnpm-monorepo, I changed a few dependencies to use a few flavor of workspace: protocol and then published new versions under lerna-ws-test org and everything seems to be in order. Give it a try.

    NOTE a newer release of Lerna-Lite 1.3.0 addresses some small issues found with workspace: protocol, so it's preferable to upgrade.

    Bug Fixes

    • run: display pkg name only when not streaming, fixes #149 (bf60bf0)
    • url: deprecation notice of git.io (816b7cb)
    • version: include the updated root package-lock.json file in commits (d6dbc9a)

    Features

    • core: add version/publish workspace: protocol (ee57dfb)
    • core: Support the workspace: protocol (67d8ba1)
    • run: add LERNA_PACKAGE_NAME env var to run command (ae88a0a),
    Source code(tar.gz)
    Source code(zip)
  • v1.1.1(May 1, 2022)

  • v1.1.0(May 1, 2022)

  • v1.0.5(Mar 29, 2022)

  • v1.0.4(Mar 24, 2022)

  • v1.0.3(Mar 19, 2022)

  • v1.0.2(Mar 17, 2022)

  • v1.0.1(Mar 15, 2022)

  • v1.0.0(Mar 15, 2022)

    This is a breaking change release, ws-roller and ws-runner were replaced by lerna which is now a single CLI that will be able to execute all 3 commands (note that run is still optional and must be installed separately and once that is done it will execute from the same lerna call). So compare to the original Lerna, this is now a real drop-in if any user want to migrate, it will be easier than ever.

    1.0.0 (2022-03-15)

    • ⚠️ BREAKING CHANGE: use lerna CLI for all commands, fixes #28
    Source code(tar.gz)
    Source code(zip)
  • v0.3.7(Mar 9, 2022)

  • v0.3.6(Mar 6, 2022)

  • v0.3.5(Mar 6, 2022)

  • v0.3.4(Mar 6, 2022)

  • v0.3.3(Feb 27, 2022)

  • v0.3.2(Feb 22, 2022)

Owner
Ghislain B.
Ghislain B.
💅 Beautiful Changelogs using Conventional Commits

changelogen Generate Beautiful Changelogs using Conventional Commits Quick Start Generate changelog in markdown format to the console output: npx chan

unjs 396 Dec 28, 2022
A small CLI tool to create a semantic release and git-cliff powered Changelog

cliff-jumper A small CLI tool to create a semantic release and git-cliff powered Changelog Description When managing a collection of projects you ofte

Favware 15 Sep 22, 2022
GitHub action that compares basehead commits and provides all changed files in a pull request or push.

Get PR/push Files Get all added/modified/removed/renamed files in a pull request or push's commits. You can choose to get all files, only added files,

Ruslan Dulina 3 May 21, 2022
🎉 基于 reactjs 开发的可视化项目实战【https://wuli-admin.gitee.io/react-wuli-admin/#/workspace/fullscreen】

react-visual-data 介绍 ?? 基于 reactjs 开发的可视化项目实战 亮点 大屏设计器:自由拖拽大屏 报表设计器:自适应排列布局 动态表单:schema 设计模式 vue版本尝鲜:vue版本尝鲜 issues,欢迎提交~ 调试 > git clone https://githu

Aaron,chen 93 Dec 13, 2022
A Workspace Web App powered by React and Node Js.

zc_main This is the Zuri Chat frontend built with ExpressJS (Backend) and React (Frontend) Getting Started. Make sure you have nodejs installed by run

Zuri Chat 189 Dec 14, 2022
PWA for making ad hoc room reservations easy in Google Workspace environment.

Get A Room! More images in directory documentation/ui-and-architecture-images! Project structure The project is divided into frontend and backend fold

null 4 Sep 14, 2022
A simple showcase of how to create a CI/CD to automate nextjs deploy to github pages.

TypeScript & Styled Components Next.js example This is a really simple project that show the usage of Next.js with TypeScript and Styled Components. E

Pedro Frattezi SIlva 3 Apr 27, 2022
A lite version for the my original app loki stream which allowed watching anime on your phone. Made using expo.

LokiStream Lite A lite version for the my original app loki stream. This app is faster, smaller and more optimized for your phone. It allows you to wa

Lavish Kumar 18 Dec 24, 2022
a fork version of vitesse-webext, but with react

@aiou/webext-template a fork version of vitesse-webext, but with react A Vite powered WebExtension (Chrome, FireFox, etc.) starter template. Edit on S

ruaaa 12 Dec 2, 2022
An in-development version of the new CTFGuide. Built with React.js.

In the project directory, you can run: npm start Runs the app in the development mode. Open http://localhost:3000 to view it in your browser. The page

CTFGuide 16 Dec 20, 2022
Fetching data from REST COUNTRIES API, this app (mobile version for now) gives information like area, population, capital, and borders for 195 countries from seven continents.

Space Travellers' Hub World Countries App works with an API which returns informations about 195 countries. Fetching data from REST COUNTRIES API, thi

Nicolae Pop 7 Aug 8, 2022
The Bookstore is a website similar to the "Awesome Books" website built in the previous module. You will create an MVP version of it that allows you to: Display a list of books. Add a book. Remove a selected book.

Bookstore The Bookstore is a website similar to the "Awesome Books" website built in the previous module. You will create an MVP version of it that al

Anuar Shaidenov 6 Jun 12, 2022
The Bookstore is a website similar to the "Awesome Books" website. Here we will create an MVP version of it that allows you to: Display a list of books, Add a book and Remove a selected book.

Book Store This is Book Store project. Built With HTML CSS JavaScript React Screenshot Live Demo Go Live ?? Getting Started Open dev branch Open VSCod

Tadesse Alemayehu 5 May 3, 2022
a babel plugin that can transform generator function to state machine, which is a ported version of typescript generator transform

Babel Plugin Lite Regenerator intro This babel plugin is a ported version of TypeScript generator transform. It can transform async and generator func

Shi Meng 6 Jul 8, 2022
Open source version of the GitHub /trending page

ghtrending ⭐ Open source version of GitHub's trending page Find the latest trending repositories on GitHub! ghtrending.io link ?? Please note, this pr

Grant Birkinbine 10 Nov 22, 2022
A new renovated version of Directory to search @expo-google-fonts

Directory | AtilaDev Directory is an easy & quick search to find google fonts using @expo-google-fonts for your React Native App. Usage Press / key to

Leandro Favre 2 Oct 5, 2022
Check Your Nearest Vaccination Center And Slots Availability using pincode and district name.

Vaccine Tracker Application - Pan India ?? Website • Playstore made with ♥ for the people of India DevIncept is an 30 day open source program helping

sameer srivastava 67 Nov 3, 2022
TryShape is an open-source platform to create shapes of your choice using a simple, easy-to-use interface. You can create banners, circles, polygonal shapes, export them as SVG, PNG, and even as CSS.

Create, Export, Share, and Use any Shapes of your choice. View Demo · Report Bug · Request Feature ?? Introducing TryShape TryShape is an opensource p

TryShape 148 Dec 26, 2022
Add multiplayer presence (live cursors/avatars) to your react application using yjs and hooks

y-presence Easy way to add presence (live cursors/avatars) to any react application using react hooks. Installation yarn add y-presence # or npm i y-p

Nimesh Nayaju 126 Dec 29, 2022