Skip to content

feat: implement catalog protocol for publish#8225

Merged
zkochan merged 7 commits intocatalogsfrom
gluxon/catalog-protocol-publish
Jun 26, 2024
Merged

feat: implement catalog protocol for publish#8225
zkochan merged 7 commits intocatalogsfrom
gluxon/catalog-protocol-publish

Conversation

@gluxon
Copy link
Member

@gluxon gluxon commented Jun 21, 2024

Changes

Part of #7072

  • The @pnpm/exportable-manifest now handles catalog: protocol dependencies.
  • The pnpm publish command now replaces catalog: protocol dependencies to make package.json files portable outside of a pnpm workspace/monorepo.

@gluxon gluxon marked this pull request as ready for review June 21, 2024 16:43
@gluxon gluxon requested a review from zkochan as a code owner June 21, 2024 16:43
@yyx990803 yyx990803 mentioned this pull request Jun 24, 2024
18 tasks
@gluxon gluxon force-pushed the gluxon/catalog-protocol-publish branch from d3d59ef to 0c499ff Compare June 25, 2024 21:38
})
})

describe('catalog protocol converted when publishing', () => {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we okay with this test being in releasing/plugin-commands-publishing? I would guess pkg-manager/core isn't the right place for a publishing related test.

@zkochan zkochan merged commit fa64d47 into catalogs Jun 26, 2024
@zkochan zkochan deleted the gluxon/catalog-protocol-publish branch June 26, 2024 12:25
@gluxon gluxon mentioned this pull request Jun 26, 2024
zkochan added a commit that referenced this pull request Jun 27, 2024
* feat: create new @pnpm/catalogs.types package (#8026)

* feat: read catalog configs from workspace manifest (#8123)

* refactor: move InvalidWorkspaceManifestError to its own file

* feat: read catalogs config from workspace manifest

* chore: add changeset for new catalog config parsing

* feat: create new `@pnpm/catalogs.protocol-parser` package (#8124)

This works around a problem with pnpm's CI setup not compiling
packages that are not dependencies of the main pnpm package before
running these tests.

#8027 (comment)

* refactor: factor out isWantedDepPrefSame to extend in a future commit (#8125)

* feat: create new `@pnpm/catalogs.config` package (#8220)

* refactor: remove single default catalog check

This check will happen in  `@pnpm/catalogs.config` instead.

* feat: create new @pnpm/catalogs.config package

* fix: work around CI setup not compiling orphan packages before testing

This works around a problem with pnpm's CI setup not compiling
packages that are not dependencies of the main pnpm package before
running these tests.

#8027 (comment)

* feat: create new `@pnpm/catalogs.resolver` package (#8219)

* feat: create new @pnpm/catalogs.resolver package

* fix: work around CI setup not compiling orphan packages before testing

This works around a problem with pnpm's CI setup not compiling
packages that are not dependencies of the main pnpm package before
running these tests.

#8027 (comment)

* feat: implement catalog protocol for publish (#8225)

* feat: implement catalog protocol for install (#8221)

* feat: add catalogs to @pnpm/config

* refactor: factor out resolveDependenciesOfImporterDependency function

* feat: implement catalog resolver and replace prefs

* revert: work around CI setup not compiling orphan packages before testing

* feat: record catalog lookup snapshots through propagated metadata

* feat: update projects when catalogs config changes

* test: add catalog protocol install tests

* refactor: remove filter-packages-from-dir dependency from core tests (#8244)

* refactor: remove filter-packages-from-dir dependency from core tests

* test: refactor

* test: refactor

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>

---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants