Socket
Socket
Sign inDemoInstall

@changesets/read

Package Overview
Dependencies
Maintainers
3
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@changesets/read - npm Package Compare versions

Comparing version 0.5.8 to 0.5.9

9

CHANGELOG.md
# @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 @@

11

package.json
{
"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",
},
]);
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc