Comments (7)
So, the maintainer of semantic-release
seems to hate you unconditionally because you created something extremely useful without his permission...
So he's actively working against your project to make sure the whole semantic-release
ecosystem doesn't work properly with semantic-release-monorepo
.
He rejected my PR, but I published my fork as semantic-release-monorepo-npm
for anyone that may need it.
from semantic-release-monorepo.
I haven't worked with custom npm registries at all. I think semantic-release
supports them. My intuition would be that if you can configure it for semantic-release
, it should just work. If it doesn't, please provide some information about what is going wrong.
from semantic-release-monorepo.
The problem I see is that the npm plugin reads the registry configuration from package.json
, so in our case it's going to read the package.json
of each of the packages.
This means that I have to specify on each package's package.json the registry configuration.
from semantic-release-monorepo.
I think this PR I prepared may solve this problem.
I'm not sure how responsive are the guys of semantic-release, I hope to see it merged.
from semantic-release-monorepo.
I was going to suggest opening a PR to make the registry an option on the npm
plugin config. Otherwise, I can't think of a way of configuring this across a monorepo without doing it in each individual package.json
.
On the other hand, I don't think I mind the idea of having the registry definition in each package.json
. It's explicit and clear. I think each package.json
should contain enough information to be able to be managed individually, not relying on a global definition to complete its metadata. It also avoids the ambiguity that would be introduced if a monorepo contained packages belonging to multiple registries (though maybe that's an insane use-case).
from semantic-release-monorepo.
Thanks for the update! FWIW, I think I do agree with him regarding this particular change (my reasoning above), but he could certainly greatly improve how he communicates.
from semantic-release-monorepo.
Just for anyone looking...
I ended up solving this problem by specifying the registry in .npmrc
at the root of the directory and then expanding the release script.
{
"scripts: {
"release": "lerna exec --no-bail --concurrency 1 -- 'cp ../../.npmrc ./; npx --no-install semantic-release -e semantic-release-monorepo; rm .npmrc"
}
}
from semantic-release-monorepo.
Related Issues (20)
- get the releasing workspace HOT 1
- Non-javascript project generates new version for every package HOT 2
- semantic-release-monorepo is updateing the version of both apps when only one app was updated. HOT 2
- Node 16/18 support HOT 1
- [Question] different .releaserc files HOT 1
- [Bug]: analyzeCommits doesn't run monorepo login on newer commit HOT 4
- chore: remove $ from command HOT 1
- Problem with resolving `pnpm`'s `workspace:*` references HOT 3
- Commit analyzation doesn't pick up any commits to release HOT 3
- node 18 support HOT 4
- ERR_REQUIRED_ESM error with semantic-release/gitlab HOT 11
- ERR_REQUIRED_ESM error with multiple plugin packages HOT 8
- Failure when multiple packages are published in one commit due to Git conflict HOT 1
- Github doesn't correctly identify and push the tags for release to my repository HOT 1
- Configure for multiple package roots? HOT 7
- ESM Version does not work HOT 4
- Error: __dirname is not defined HOT 1
- --no-git-tag-version --allow-same-version' after upgrading to version 8.0.2
- Branch name becomes undefined once a release happen in a previous package HOT 1
- release.config.js or .releaserc.js is not inherited by sub-directories/packages on semantic-release v23 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from semantic-release-monorepo.