What is the reason behind Lerna consistently releasing all of my packages?

I decided to create a mini project showcasing my "open-sourced" libraries which can be found here. I implemented Lerna to automate the publishing process for these projects. However, I'm encountering an issue where every package gets updated each time lerna publish is executed in the CI environment.

Expected Outcome

Only the packages that have actually been modified should be published

Current Issue

All packages are consistently being published regardless of changes

Potential Solution

πŸ€·β€β™‚οΈ

Steps to Replicate (for debugging purposes)

Download the repository from my GitHub repo, run lerna updated and observe that both of my packages always show up

{
  "packages": ["packages/*"],
  "version": "independent",
  "npmClient": "yarn",
  "command": {
    "publish": {
      "ignoreChanges": [
        "**/CHANGELOG.md",
        "**/node_modules/**",
        "**/package.json",
        "**/*.md",
        "**/*.spec.*",
        "**/*.stories.*"
      ],
      "conventionalCommits": true,
      "message": "chore(release): publish",
      "registry": "https://registry.npmjs.org"
    }
  }
}

Context

The versions based on Semantic Versioning (semver) are not consistent

Your Development Environment

Repository: TypeScript

| Executable | Version | | ---: | :--- | | lerna --version | 3.22.1 | | npm --version | 6.14.4 | | yarn --version | 1.22.4 | | node --version | 13.12.0 |

| OS | Version | | macOS Catalina | 10.15.5 |

Answer β„–1

Maybe slightly delayed, but here's the solution that resolved my issue:

lerna publish --include-merged-tags

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Designing a visual showcase with interactive tab links for image selection

I have been working on developing an Angular component that simulates a tab gallery functionality, inspired by this example. Below is my HTML structure: <div class="gallery-container"> <div class="display-container"> ...

Is there a way to apply the same technique to a dynamic select option in Angular?

My array is dynamic and has an onChange method in the select option. The issue arises when I add a new array and select the new option, as it causes the first array to reset. Here's a snippet of my array structure: <ng-container formGroupName=&qu ...

Exploring Angular 6's nested routes and corresponding components for child navigation

I'm currently diving into the concept of lazy loading in Angular 6. Here's a visual representation of the structure of my application: ─src β”œβ”€β”€β”€app β”‚ β”œβ”€β”€β”€components β”‚ β”‚ β”œβ”€β”€β”€about β”‚ β”‚ β”œβ”€β”€β”€ ...

formBuilder does not exist as a function

Description: Using the Form Builder library for react based on provided documentation, I successfully implemented a custom fields feature in a previous project. This project utilized simple JavaScript with a .js extension and achieved the desired result. ...

Generate a unique identifier based on data type

Is it feasible to create a function signature based on type in this manner? I have successfully created a function signature as shown below. type Data = { update: boolean }; type Distribution<T> = { on: <K extends keyof T>(key: K, list ...

Why does `react/require-default-props` still display an error even when a default prop value has been set?

This inquiry pertains to the guideline require-default-props. Here is the code snippet in question: function MyComponent({ blubb = 'my default', }: { blubb?: string, }) { // blubb defaults to 'my default' }; Eslint is flagging a ...

Navigating through diverse objects in Typescript

My challenge involves a state object and an update object that will merge with the state object. However, if the update value is null, it should be deleted instead of just combining them using {...a, ...b}. const obj = { other: new Date(), num: 5, ...

Utilize JavaScript destructuring to assign values to a fresh object

When working with JavaScript/Typescript code, what is a concise way to destructure an object and then assign selected properties to a new object? const data: MyData = { x: 1, y: 2, z: 3, p: 4, q: 5 } // Destructuring const { x, z, q } = data; // New O ...

Contrasting assign and modify operations on arrays

After spending 2 days searching for a bug in my angular2 project's service.ts file, I finally found it and fixed it. However, I'm still trying to understand why the working code behaves differently from the bugged one, as they appear identical to ...

Tips for configuring the global API baseUrl for useFetch in Nuxt 3

Is there a way to globally set the baseUrl used in the useFetch composable, possibly through nuxt.config.ts? How can I prevent having to specify it in each individual useFetch call? ...

What is the best way to navigate through this array within my nextjs/typescript/fetch application?

Having trouble finding a way to efficiently search through the CustomersList array. Any help would be greatly appreciated. Here's what happens after fetching the data: const data = await res.json(); return { props: { CustomersList: data, ...

Error in React.tsx Material UI Tab - Avoid using curly braces "{}" as a data type

Currently, I am working on a React TS project and facing an issue while trying to import the Material UI tabs for scrollable functionality. The specific Tabs/Scrollable Tabs example from Material-UI documentation is what I'm referring to: https://mate ...

Setting `throwIfNamespace=true` in the `.babelrc` file for a `create-react-app` project

Running into a bit of a snag here. I thought setting up a simple app would be smooth sailing, but it seems that's not the case. I created an app using the latest create-react-app and decided to add a <gcse:search> tag. However, I encountered the ...

Access network path through browser using Angular

I'm having trouble opening a network path from my browser using the code below. The browser keeps throwing an error saying it's unable to load local resources. Can you please provide some advice on this issue? public openUrl() { window.o ...

Tips for dividing by a large number

I am currently attempting the following: const numerator = 268435456; const denominator = 2 ** 64; const decimalFraction = numerator / denominator; In order to achieve this, I have experimented with utilizing the code provided in this link: : const rawVal ...

How can I create an interceptor in Angular2 to detect 500 and 404 errors in my app.ts file?

Creating an Angular2 Interceptor for Handling 500 and 404 Errors in app.ts In my app.ts file, I am looking to implement an interceptor that can detect a 500 or 404 error so that I can appropriately redirect to my HTML 404 or HTML 500 pages. Is this funct ...

Simplify a function by lowering its cyclomatic complexity

This particular function is designed to determine whether a specific cell on a scrabble board qualifies as a double letter bonus spot. With a cyclomatic complexity of 23, it exceeds the recommended threshold of 20. Despite this, I am unsure of an alterna ...

Keeping track of important dates is ineffective using the calendar

I am facing an issue with developing a calendar that marks events on the correct dates. I am receiving the dates in the following format in PHP [ { "status": "OK", "statusCode": 200, "statusMensagem": & ...

"Enhancing user experience with MaterialUI Rating feature combined with TextField bordered outline for effortless input

I'm currently working on developing a custom Rating component that features a border with a label similar to the outlined border of a TextField. I came across some helpful insights in this and this questions, which suggest using a TextField along with ...

Issues arise with file compilation in Angular 5

I want to apologize in advance for my English. I am encountering a problem when running `ng build --prod` on my Angular project. The following errors are being returned: ERROR in Error: Error: Internal error: unknown identifier undefined at Object. ...