Skip to content

Commit a971652

Browse files
authored
Use package.json#exports (#1185)
* Use `package.json#exports` * actually add exports, lol * update Preconstruct again
1 parent 90a870a commit a971652

File tree

29 files changed

+467
-209
lines changed

29 files changed

+467
-209
lines changed

.changeset/healthy-cobras-worry.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
"@changesets/get-version-range-type": minor
3+
"@changesets/assemble-release-plan": minor
4+
"@changesets/get-dependents-graph": minor
5+
"@changesets/apply-release-plan": minor
6+
"@changesets/changelog-github": minor
7+
"@changesets/get-release-plan": minor
8+
"@changesets/get-github-info": minor
9+
"@changesets/changelog-git": minor
10+
"@changesets/release-utils": minor
11+
"@changesets/test-utils": minor
12+
"@changesets/config": minor
13+
"@changesets/errors": minor
14+
"@changesets/logger": minor
15+
"@changesets/parse": minor
16+
"@changesets/types": minor
17+
"@changesets/write": minor
18+
"@changesets/read": minor
19+
"@changesets/cli": minor
20+
"@changesets/git": minor
21+
"@changesets/pre": minor
22+
---
23+
24+
`package.json#exports` have been added to limit what (and how) code might be imported from the package.

package.json

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
"@babel/preset-typescript": "^7.18.6",
4141
"@babel/runtime": "^7.20.1",
4242
"@manypkg/cli": "^0.19.1",
43-
"@preconstruct/cli": "^1.1.26",
43+
"@preconstruct/cli": "^2.8.1",
4444
"@types/fs-extra": "^5.1.0",
4545
"@types/jest": "^24.0.12",
4646
"@types/jest-in-case": "^1.0.6",
@@ -65,13 +65,19 @@
6565
"jest-junit": "^15.0.0",
6666
"jest-watch-typeahead": "^2.2.1",
6767
"prettier": "^2.7.1",
68-
"typescript": "^4.8.4"
68+
"typescript": "^5.1.6"
6969
},
7070
"preconstruct": {
7171
"packages": [
7272
"packages/*",
7373
"scripts/*"
74-
]
74+
],
75+
"exports": {
76+
"importConditionDefaultExport": "default"
77+
},
78+
"___experimentalFlags_WILL_CHANGE_IN_PATCH": {
79+
"importsConditions": true
80+
}
7581
},
7682
"prettier": {}
7783
}

packages/apply-release-plan/package.json

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,20 @@
22
"name": "@changesets/apply-release-plan",
33
"version": "6.1.4",
44
"description": "Takes a release plan and applies it to packages",
5-
"main": "dist/apply-release-plan.cjs.js",
6-
"module": "dist/apply-release-plan.esm.js",
5+
"main": "dist/changesets-apply-release-plan.cjs.js",
6+
"module": "dist/changesets-apply-release-plan.esm.js",
7+
"exports": {
8+
".": {
9+
"types": {
10+
"import": "./dist/changesets-apply-release-plan.cjs.mjs",
11+
"default": "./dist/changesets-apply-release-plan.cjs.js"
12+
},
13+
"module": "./dist/changesets-apply-release-plan.esm.js",
14+
"import": "./dist/changesets-apply-release-plan.cjs.mjs",
15+
"default": "./dist/changesets-apply-release-plan.cjs.js"
16+
},
17+
"./package.json": "./package.json"
18+
},
719
"license": "MIT",
820
"repository": "https://github.com/changesets/changesets/tree/main/packages/apply-release-plan",
921
"dependencies": {
Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,4 @@
1-
/*
2-
BAD CODE ALERT!
3-
4-
You should never reach out of one package and into another in a multi-package repository.
5-
(doing so is a leading cause of 'works on my machine' but then failure when the packages are published)
6-
7-
We are doing it here to avoide adding a circular dependency and as this is only used in testing.
8-
9-
This is wicked, and please don't copy us.
10-
*/
11-
12-
export { default } from "../../../cli/changelog";
1+
// We are doing it here to avoide adding a circular dependency and as this is only used in testing.
2+
// This is wicked, and please don't copy us.
3+
// eslint-disable-next-line import/no-extraneous-dependencies
4+
export { default } from "@changesets/cli/changelog";
Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,4 @@
1-
/*
2-
BAD CODE ALERT!
3-
4-
You should never reach out of one package and into another in a multi-package repository.
5-
(doing so is a leading cause of 'works on my machine' but then failure when the packages are published)
6-
7-
We are doing it here to avoide adding a circular dependency and as this is only used in testing.
8-
9-
This is wicked, and please don't copy us.
10-
*/
11-
12-
export { default } from "../../../cli/commit";
1+
// We are doing it here to avoide adding a circular dependency and as this is only used in testing.
2+
// This is wicked, and please don't copy us.
3+
// eslint-disable-next-line import/no-extraneous-dependencies
4+
export { default } from "@changesets/cli/commit";

packages/assemble-release-plan/package.json

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,20 @@
22
"name": "@changesets/assemble-release-plan",
33
"version": "5.2.4",
44
"description": "Reads changesets and adds information on dependents that need bumping",
5-
"main": "dist/assemble-release-plan.cjs.js",
6-
"module": "dist/assemble-release-plan.esm.js",
5+
"main": "dist/changesets-assemble-release-plan.cjs.js",
6+
"module": "dist/changesets-assemble-release-plan.esm.js",
7+
"exports": {
8+
".": {
9+
"types": {
10+
"import": "./dist/changesets-assemble-release-plan.cjs.mjs",
11+
"default": "./dist/changesets-assemble-release-plan.cjs.js"
12+
},
13+
"module": "./dist/changesets-assemble-release-plan.esm.js",
14+
"import": "./dist/changesets-assemble-release-plan.cjs.mjs",
15+
"default": "./dist/changesets-assemble-release-plan.cjs.js"
16+
},
17+
"./package.json": "./package.json"
18+
},
719
"license": "MIT",
820
"repository": "https://github.com/changesets/changesets/tree/main/packages/assemble-release-plan",
921
"dependencies": {

packages/changelog-git/package.json

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,20 @@
22
"name": "@changesets/changelog-git",
33
"version": "0.1.14",
44
"description": "A changelog entry generator for git that writes hashes",
5-
"main": "dist/changelog-git.cjs.js",
6-
"module": "dist/changelog-git.esm.js",
5+
"main": "dist/changesets-changelog-git.cjs.js",
6+
"module": "dist/changesets-changelog-git.esm.js",
7+
"exports": {
8+
".": {
9+
"types": {
10+
"import": "./dist/changesets-changelog-git.cjs.mjs",
11+
"default": "./dist/changesets-changelog-git.cjs.js"
12+
},
13+
"module": "./dist/changesets-changelog-git.esm.js",
14+
"import": "./dist/changesets-changelog-git.cjs.mjs",
15+
"default": "./dist/changesets-changelog-git.cjs.js"
16+
},
17+
"./package.json": "./package.json"
18+
},
719
"license": "MIT",
820
"repository": "https://github.com/changesets/changesets/tree/main/packages/changelog-git",
921
"dependencies": {

packages/changelog-github/package.json

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,20 @@
22
"name": "@changesets/changelog-github",
33
"version": "0.4.8",
44
"description": "A changelog entry generator for GitHub that links to commits, PRs and users",
5-
"main": "dist/changelog-github.cjs.js",
6-
"module": "dist/changelog-github.esm.js",
5+
"main": "dist/changesets-changelog-github.cjs.js",
6+
"module": "dist/changesets-changelog-github.esm.js",
7+
"exports": {
8+
".": {
9+
"types": {
10+
"import": "./dist/changesets-changelog-github.cjs.mjs",
11+
"default": "./dist/changesets-changelog-github.cjs.js"
12+
},
13+
"module": "./dist/changesets-changelog-github.esm.js",
14+
"import": "./dist/changesets-changelog-github.cjs.mjs",
15+
"default": "./dist/changesets-changelog-github.cjs.js"
16+
},
17+
"./package.json": "./package.json"
18+
},
719
"license": "MIT",
820
"repository": "https://github.com/changesets/changesets/tree/main/packages/changelog-github",
921
"dependencies": {
Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
{
2-
"main": "dist/cli.cjs.js",
3-
"module": "dist/cli.esm.js",
4-
"preconstruct": {
5-
"source": "../src/changelog"
6-
}
2+
"main": "dist/changesets-cli-changelog.cjs.js",
3+
"module": "dist/changesets-cli-changelog.esm.js"
74
}

packages/cli/commit/package.json

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
{
2-
"main": "dist/cli.cjs.js",
3-
"module": "dist/cli.esm.js",
4-
"preconstruct": {
5-
"source": "../src/commit"
6-
}
2+
"main": "dist/changesets-cli-commit.cjs.js",
3+
"module": "dist/changesets-cli-commit.esm.js"
74
}

0 commit comments

Comments
 (0)