Problem:
Prettier was not running when I saved Emacs buffers.
Why?
- prettier-js-mode needs needs node; lorri exposes node to direnv; direnv
exposes node to Emacs; lorri was not working as expected.
Solution:
Now that I'm using nix-buffer, I can properly expose node (and other
dependencies) to my Emacs buffers. Now Prettier is working.
Commentary:
Since prettier hadn't worked for so long, I stopped thinking about it. As such,
I did not include it as a dependency in boilerplate/typescript. I added it
now. I retroactively ran prettier across a few of my frontend projects to unify
the code styling.
I may need to run...
```shell
$ cd ~/briefcase
$ nix-shell
$ npx prettier --list-different "**/*.{js,ts,jsx,tsx,html,css,json}"
```
...to see which files I should have formatted.
27 lines
725 B
TypeScript
27 lines
725 B
TypeScript
import { createClient } from "contentful";
|
|
import type { ContentfulClientApi } from "contentful";
|
|
|
|
const space = process.env.CONTENTFUL_SPACE_ID;
|
|
const accessToken = process.env.CONTENTFUL_ACCESS_TOKEN;
|
|
|
|
let client: ContentfulClientApi;
|
|
|
|
// Idempotent way to get a reference to the Contentful client.
|
|
export const getClient = (): ContentfulClientApi => {
|
|
if (typeof client !== "undefined") {
|
|
return client;
|
|
} else {
|
|
if (typeof space === "string" && typeof accessToken === "string") {
|
|
let client = createClient({
|
|
space,
|
|
accessToken,
|
|
});
|
|
|
|
return client;
|
|
} else {
|
|
throw new Error(
|
|
"Please set CONTENTFUL_SPACE_ID and CONTENTFUL_ACCESS_TOKEN"
|
|
);
|
|
}
|
|
}
|
|
};
|