Open shilman opened 4 years ago
What's the criteria used for selecting packages to be blacklisted or moved away from the repo? We have seen how useful a monorepo is, I am just worried that we are trying to solve a problem by doing something entirely different.
I think the main issue we are having is we rely on prerelease packages. When one of the package is missing, the other packages don't gracefully fail and work because of this. If we fix this process, then we should be good.
I'm proposing this also as a first step towards moving these packages out of the monorepo. How do you propose not relying on prerelease packages?
first step towards moving these packages out of the monorepo
Why is that? The development process would become much more complex, wouldn't it? There will be a lot of time wasted waiting for dependencies to be published first so that the CI in other packages would pass first etc....
@shilman Is this issue still relevant or can we close it?
NPM publish is failing with a higher frequency in recent weeks. To minimize this, I propose publishing a subset of packages.
Why
NPM publishing fails intermittently due to unknown server issues. In each case, the server returns a
PUT 200
on publish, but the package is subsequently unavailable, either from the command-line NPM or the web interface, or both. This is a server issue, because an identical publish can succeed minutes later.In recent weeks the servers seem to be less stable than usual. Also, we are publishing more packages. Recent failures include 5.3.0-beta.7, beta.17, beta.23, beta.26, beta.27. See https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md for details.
This is a problem for users and also for maintainers.
Users may be unable to install Storybook, or may be prompted to select valid versions.
Maintainers waste time re-releasing Storybook. Each release takes longer due to the number of packages published on each release.
What
I propose only publishing a subset of the packages:
This should reduce the number of packages by about 1/3. Which will hopefully also reduce the publish failures by a similar amount. In a subsequent step, I'd like to remove some of the packages from the monorepo entirely.
How
lerna --force-publish
can take a list of packages to publish. I propose a blacklist,skip-publish.txt
, containing the above packages, and filter those out from the publishing process.