@pnpm/releasing.exportable-manifest 1100.1.1 → 1100.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,8 @@
1
1
  import { pipe } from 'ramda';
2
2
  import { transformBin } from './bin.js';
3
3
  import { transformPeerDependenciesMeta } from './peerDependenciesMeta.js';
4
+ import { transformRepository } from './repository.js';
4
5
  import { transformRequiredFields } from './requiredFields.js';
5
6
  export {};
6
- export const transform = pipe(transformRequiredFields, transformBin, transformPeerDependenciesMeta);
7
+ export const transform = pipe(transformRequiredFields, transformBin, transformPeerDependenciesMeta, transformRepository);
7
8
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,15 @@
1
+ import type { ProjectManifest } from '@pnpm/types';
2
+ import type { ExportedManifest } from './index.js';
3
+ type Input = Pick<ProjectManifest, 'repository'>;
4
+ type Output<Manifest extends Input> = Omit<Manifest, 'repository'> & Pick<ExportedManifest, 'repository'>;
5
+ /**
6
+ * Normalizes a string `repository` into the object form `{ type: 'git', url }`.
7
+ *
8
+ * npm's `normalize-package-data` performs this conversion before publishing, so a
9
+ * package whose `repository` is a bare URL string still reaches the registry as an
10
+ * object. Some registries (e.g. Gitea) reject a string `repository` with a 500
11
+ * because they decode it into an object-typed struct. Matching npm keeps
12
+ * `pnpm publish` compatible with them. See https://github.com/pnpm/pnpm/issues/12099.
13
+ */
14
+ export declare function transformRepository<Manifest extends Input>(manifest: Manifest): Output<Manifest>;
15
+ export {};
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Normalizes a string `repository` into the object form `{ type: 'git', url }`.
3
+ *
4
+ * npm's `normalize-package-data` performs this conversion before publishing, so a
5
+ * package whose `repository` is a bare URL string still reaches the registry as an
6
+ * object. Some registries (e.g. Gitea) reject a string `repository` with a 500
7
+ * because they decode it into an object-typed struct. Matching npm keeps
8
+ * `pnpm publish` compatible with them. See https://github.com/pnpm/pnpm/issues/12099.
9
+ */
10
+ export function transformRepository(manifest) {
11
+ if (typeof manifest.repository !== 'string')
12
+ return manifest;
13
+ return {
14
+ ...manifest,
15
+ repository: {
16
+ type: 'git',
17
+ url: manifest.repository,
18
+ },
19
+ };
20
+ }
21
+ //# sourceMappingURL=repository.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnpm/releasing.exportable-manifest",
3
- "version": "1100.1.1",
3
+ "version": "1100.1.2",
4
4
  "description": "Creates an exportable manifest",
5
5
  "keywords": [
6
6
  "pnpm",
@@ -28,11 +28,11 @@
28
28
  "p-map-values": "^0.1.0",
29
29
  "ramda": "npm:@pnpm/ramda@0.28.1",
30
30
  "@pnpm/catalogs.resolver": "1100.0.0",
31
- "@pnpm/bins.resolver": "1100.0.5",
31
+ "@pnpm/error": "1100.0.0",
32
32
  "@pnpm/resolving.jsr-specifier-parser": "1100.0.0",
33
33
  "@pnpm/types": "1101.2.0",
34
34
  "@pnpm/workspace.project-manifest-reader": "1100.0.9",
35
- "@pnpm/error": "1100.0.0"
35
+ "@pnpm/bins.resolver": "1100.0.5"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@jest/globals": "30.3.0",
@@ -43,8 +43,8 @@
43
43
  "@pnpm/catalogs.config": "1100.0.0",
44
44
  "@pnpm/catalogs.types": "1100.0.0",
45
45
  "@pnpm/hooks.pnpmfile": "1100.0.11",
46
- "@pnpm/releasing.exportable-manifest": "1100.1.1",
47
- "@pnpm/prepare": "1100.0.11"
46
+ "@pnpm/prepare": "1100.0.12",
47
+ "@pnpm/releasing.exportable-manifest": "1100.1.2"
48
48
  },
49
49
  "engines": {
50
50
  "node": ">=22.13"