feat: add version key into `palette.json` (#91)
* feat: add version key to palette json * feat: import deno.json directly * chore: update mod.ts & release please config * fix: avoid jsr (no-slow-types) error "Destructuring in exports is not supported. Instead of destructuring, export each symbol individually." ref: https://jsr.io/docs/about-slow-types#typescript-restrictions * fix: make sure to export non-destructured value --------- Co-authored-by: backwardspy <backwardspy@pigeon.life>
This commit is contained in:
parent
cf765d2269
commit
e76a60a712
|
@ -1,2 +1,3 @@
|
|||
dist/
|
||||
node_modules/
|
||||
.DS_STORE
|
|
@ -1,6 +1,6 @@
|
|||
import { assertEquals } from "std/assert/assert_equals.ts";
|
||||
|
||||
import { flavorEntries, flavors } from "@catppuccin/palette";
|
||||
import { flavorEntries, flavors, version } from "@catppuccin/palette";
|
||||
import palette from "@/palette.json" with { type: "json" };
|
||||
|
||||
Deno.test("flavorEntries", () => {
|
||||
|
@ -21,3 +21,7 @@ Deno.test("flavors", () => {
|
|||
);
|
||||
});
|
||||
});
|
||||
|
||||
Deno.test("version", () => {
|
||||
assertEquals(version, "1.2.0"); // x-release-please-version
|
||||
});
|
||||
|
|
24
mod.ts
24
mod.ts
|
@ -187,17 +187,25 @@ export type ColorFormat = Readonly<{
|
|||
accent: boolean;
|
||||
}>;
|
||||
|
||||
const { version: _, ...jsonFlavors } = definitions;
|
||||
|
||||
/**
|
||||
* The version of the Catppuccin palette
|
||||
*/
|
||||
export const version = definitions.version;
|
||||
|
||||
/**
|
||||
* All flavors of Catppuccin
|
||||
*/
|
||||
export const flavors: CatppuccinFlavors = entriesFromObject(definitions)
|
||||
.reduce((acc, [flavorName, flavor]) => {
|
||||
acc[flavorName] = {
|
||||
...flavor,
|
||||
colorEntries: entriesFromObject(flavor.colors),
|
||||
};
|
||||
return acc;
|
||||
}, {} as CatppuccinFlavors);
|
||||
export const flavors: CatppuccinFlavors = entriesFromObject(
|
||||
jsonFlavors,
|
||||
).reduce((acc, [flavorName, flavor]) => {
|
||||
acc[flavorName] = {
|
||||
...flavor,
|
||||
colorEntries: entriesFromObject(flavor.colors),
|
||||
};
|
||||
return acc;
|
||||
}, {} as CatppuccinFlavors);
|
||||
|
||||
/**
|
||||
* A typed `Object.entries()` iterable of all Catppuccin flavors
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
"version": "1.2.0",
|
||||
"latte": {
|
||||
"name": "Latte",
|
||||
"emoji": "🌻",
|
||||
|
|
|
@ -8,6 +8,15 @@
|
|||
"path": "deno.json",
|
||||
"type": "json",
|
||||
"jsonpath": "$.version"
|
||||
},
|
||||
{
|
||||
"path": "palette.json",
|
||||
"type": "json",
|
||||
"jsonpath": "$.version"
|
||||
},
|
||||
{
|
||||
"type": "generic",
|
||||
"path": "mod.test.ts"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
import { join } from "std/path/join.ts";
|
||||
import tinycolor from "tinycolor2";
|
||||
|
||||
import meta from "../deno.json" with { type: "json" };
|
||||
|
||||
import type {
|
||||
CatppuccinColors,
|
||||
CatppuccinFlavor,
|
||||
|
@ -226,7 +228,12 @@ const formatted = entriesFromObject(definitions)
|
|||
|
||||
const __dirname = new URL(".", import.meta.url).pathname;
|
||||
|
||||
const result = {
|
||||
version: meta.version,
|
||||
...formatted,
|
||||
};
|
||||
|
||||
Deno.writeTextFileSync(
|
||||
join(__dirname, "../palette.json"),
|
||||
JSON.stringify(formatted, null, 2),
|
||||
JSON.stringify(result, null, 2),
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue