@changesets/read
Advanced tools
Comparing version 0.5.8 to 0.5.9
# @changesets/read | ||
## 0.5.9 | ||
### Patch Changes | ||
- Updated dependencies [[`598136a`](https://github.com/changesets/changesets/commit/598136a32a00b620c9521d7a7151fbbc721c17d7), [`521205d`](https://github.com/changesets/changesets/commit/521205dc8c70fe71b181bd3c4bb7c9c6d2e721d2), [`598136a`](https://github.com/changesets/changesets/commit/598136a32a00b620c9521d7a7151fbbc721c17d7), [`598136a`](https://github.com/changesets/changesets/commit/598136a32a00b620c9521d7a7151fbbc721c17d7), [`521205d`](https://github.com/changesets/changesets/commit/521205dc8c70fe71b181bd3c4bb7c9c6d2e721d2)]: | ||
- @changesets/git@2.0.0 | ||
- @changesets/types@5.2.1 | ||
- @changesets/parse@0.3.16 | ||
## 0.5.8 | ||
@@ -4,0 +13,0 @@ |
{ | ||
"name": "@changesets/read", | ||
"version": "0.5.8", | ||
"version": "0.5.9", | ||
"description": "Read changesets from disc, and return the information as JSON", | ||
@@ -10,7 +10,7 @@ "main": "dist/read.cjs.js", | ||
"dependencies": { | ||
"@babel/runtime": "^7.10.4", | ||
"@changesets/git": "^1.5.0", | ||
"@babel/runtime": "^7.20.1", | ||
"@changesets/git": "^2.0.0", | ||
"@changesets/logger": "^0.0.5", | ||
"@changesets/parse": "^0.3.15", | ||
"@changesets/types": "^5.2.0", | ||
"@changesets/parse": "^0.3.16", | ||
"@changesets/types": "^5.2.1", | ||
"chalk": "^2.1.0", | ||
@@ -22,5 +22,4 @@ "fs-extra": "^7.0.1", | ||
"@changesets/test-utils": "*", | ||
"fixturez": "^1.1.0", | ||
"outdent": "^0.5.0" | ||
} | ||
} |
@@ -1,9 +0,8 @@ | ||
import fixtures from "fixturez"; | ||
import fs from "fs-extra"; | ||
import path from "path"; | ||
import outdent from "outdent"; | ||
import read from "./"; | ||
import { silenceLogsInBlock } from "@changesets/test-utils"; | ||
import { silenceLogsInBlock, testdir } from "@changesets/test-utils"; | ||
const f = fixtures(__dirname); | ||
silenceLogsInBlock(); | ||
@@ -13,5 +12,11 @@ | ||
it("should read a changeset from disc", async () => { | ||
const changesetPath = f.find("easy-read"); | ||
const cwd = await testdir({ | ||
".changeset/cool-computer-club.md": `--- | ||
"cool-package": minor | ||
--- | ||
const changesets = await read(changesetPath); | ||
Nice simple summary`, | ||
}); | ||
const changesets = await read(cwd); | ||
expect(changesets).toEqual([ | ||
@@ -21,3 +26,3 @@ { | ||
summary: "Nice simple summary", | ||
id: "basic-changeset", | ||
id: "cool-computer-club", | ||
}, | ||
@@ -27,5 +32,13 @@ ]); | ||
it("should ignore a readme file", async () => { | ||
const changesetPath = f.find("with-readme"); | ||
const cwd = await testdir({ | ||
".changeset/README.md": `Changesets are great for monorepos`, | ||
".changeset/one-chance.md": `--- | ||
"cool-package": minor | ||
--- | ||
const changesets = await read(changesetPath); | ||
Nice simple summary | ||
`, | ||
}); | ||
const changesets = await read(cwd); | ||
expect(changesets).toEqual([ | ||
@@ -35,3 +48,3 @@ { | ||
summary: "Nice simple summary", | ||
id: "basic-changeset", | ||
id: "one-chance", | ||
}, | ||
@@ -43,5 +56,11 @@ ]); | ||
// is in no way part of the changeset spec | ||
const changesetPath = f.find("easy-read"); | ||
const cwd = await testdir({ | ||
".changeset/basic-changeset.md": `--- | ||
"cool-package": minor | ||
--- | ||
const changesets = await read(changesetPath); | ||
Nice simple summary`, | ||
}); | ||
const changesets = await read(cwd); | ||
expect(changesets).toEqual([ | ||
@@ -56,5 +75,17 @@ { | ||
it("should read many changesets from disc", async () => { | ||
const changesetPath = f.find("multiple-changesets"); | ||
const cwd = await testdir({ | ||
".changeset/cool-computer-club.md": `--- | ||
"cool-package": minor | ||
--- | ||
const changesets = await read(changesetPath); | ||
Nice simple summary`, | ||
".changeset/tiny-little-but-awesome.md": `--- | ||
"perfect-package": patch | ||
--- | ||
I'm amazed we needed to update the best package, because it was already the best | ||
`, | ||
}); | ||
const changesets = await read(cwd); | ||
expect(changesets).toEqual([ | ||
@@ -64,9 +95,9 @@ { | ||
summary: "Nice simple summary", | ||
id: "first-changeset", | ||
id: "cool-computer-club", | ||
}, | ||
{ | ||
releases: [{ name: "best-package", type: "patch" }], | ||
releases: [{ name: "perfect-package", type: "patch" }], | ||
summary: | ||
"I'm amazed we needed to update the best package, because it was already the best", | ||
id: "second-changeset", | ||
id: "tiny-little-but-awesome", | ||
}, | ||
@@ -76,12 +107,13 @@ ]); | ||
it("should return an empty array when no changesets are found", async () => { | ||
const changesetPath = f.find("no-changeset"); | ||
const cwd = await testdir({}); | ||
await fs.mkdir(path.join(cwd, ".changeset")); | ||
const changesets = await read(changesetPath); | ||
const changesets = await read(cwd); | ||
expect(changesets).toEqual([]); | ||
}); | ||
it("should error when there is no changeset folder", async () => { | ||
const changesetPath = f.find("no-changeset-folder"); | ||
const cwd = await testdir({}); | ||
try { | ||
await read(changesetPath); | ||
await read(cwd); | ||
} catch (e) { | ||
@@ -96,5 +128,13 @@ expect((e as Error).message).toBe( | ||
it("should error on broken changeset?", async () => { | ||
const changesetPath = f.find("broken-changeset"); | ||
const cwd = await testdir({ | ||
".changeset/broken-changeset.md": `--- | ||
expect(read(changesetPath)).rejects.toThrow( | ||
"cool-package": minor | ||
-- | ||
Everything is wrong`, | ||
}); | ||
expect(read(cwd)).rejects.toThrow( | ||
outdent`could not parse changeset - invalid frontmatter: --- | ||
@@ -110,5 +150,8 @@ | ||
it("should return no releases and empty summary when the changeset is empty", async () => { | ||
const changesetPath = f.find("empty-changeset"); | ||
const cwd = await testdir({ | ||
".changeset/empty-like-void.md": `--- | ||
---`, | ||
}); | ||
const changesets = await read(changesetPath); | ||
const changesets = await read(cwd); | ||
expect(changesets).toEqual([ | ||
@@ -118,3 +161,3 @@ { | ||
summary: "", | ||
id: "empty-changeset", | ||
id: "empty-like-void", | ||
}, | ||
@@ -124,5 +167,33 @@ ]); | ||
it("should filter out ignored changesets", async () => { | ||
const changesetPath = f.find("ignored-changeset"); | ||
const cwd = await testdir({ | ||
"package.json": JSON.stringify({ | ||
private: true, | ||
workspaces: ["packages/*"], | ||
}), | ||
"packages/pkg-a/package.json": JSON.stringify({ | ||
name: "pkg-a", | ||
version: "1.0.0", | ||
dependencies: { | ||
"pkg-b": "1.0.0", | ||
}, | ||
}), | ||
"packages/pkg-b/package.json": JSON.stringify({ | ||
name: "pkg-b", | ||
version: "1.0.0", | ||
}), | ||
".changeset/changesets-are-beautiful.md": `--- | ||
"pkg-a": minor | ||
--- | ||
const changesets = await read(changesetPath); | ||
Nice simple summary, much wow | ||
`, | ||
".changeset/.ignored-temporarily.md": `--- | ||
"pkg-b": minor | ||
--- | ||
Awesome feature, hidden behind a feature flag | ||
`, | ||
}); | ||
const changesets = await read(cwd); | ||
expect(changesets).toEqual([ | ||
@@ -136,2 +207,26 @@ { | ||
}); | ||
it("should read an old changeset", async () => { | ||
const cwd = await testdir({ | ||
".changeset/basic-changeset/changes.json": JSON.stringify({ | ||
releases: [ | ||
{ | ||
name: "cool-package", | ||
type: "minor", | ||
}, | ||
], | ||
dependents: [], | ||
}), | ||
".changeset/basic-changeset/changes.md": `Nice simple summary`, | ||
}); | ||
const changesets = await read(cwd); | ||
expect(changesets).toEqual([ | ||
{ | ||
releases: [{ name: "cool-package", type: "minor" }], | ||
summary: "Nice simple summary", | ||
id: "basic-changeset", | ||
}, | ||
]); | ||
}); | ||
}); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
35298
2
629
+ Added@changesets/git@2.0.0(transitive)
- Removed@changesets/git@1.5.0(transitive)
Updated@babel/runtime@^7.20.1
Updated@changesets/git@^2.0.0
Updated@changesets/parse@^0.3.16
Updated@changesets/types@^5.2.1