diff --git a/packages/blog/src/content/config.ts b/packages/blog/src/content/config.ts index 9b480918..2611d959 100644 --- a/packages/blog/src/content/config.ts +++ b/packages/blog/src/content/config.ts @@ -9,8 +9,8 @@ const posts = defineCollection({ tags: z.array(z.string()), publishedAt: z.date(), coverImage: image().nullable(), - related: z.array(reference('posts')).optional(), - isPinned: z.boolean().optional().default(false), + related: z.array(reference('posts')).nullable(), + isPinned: z.boolean().nullable().default(false), }); }, }); diff --git a/packages/blog/src/content/posts/_dart-enhanced-enums-are-the-goats.md b/packages/blog/src/content/posts/_dart-enhanced-enums-are-the-goats.md index cfe889cc..223f6563 100644 --- a/packages/blog/src/content/posts/_dart-enhanced-enums-are-the-goats.md +++ b/packages/blog/src/content/posts/_dart-enhanced-enums-are-the-goats.md @@ -4,7 +4,6 @@ description: tags: - dart - programming -platforms: publishedAt: coverImage: --- diff --git a/packages/blog/src/content/posts/_launching-this-blog-took-me-several-years-instead-of-weeks.md b/packages/blog/src/content/posts/_launching-this-blog-took-me-several-years-instead-of-weeks.md index 8ace5a9f..463cd256 100644 --- a/packages/blog/src/content/posts/_launching-this-blog-took-me-several-years-instead-of-weeks.md +++ b/packages/blog/src/content/posts/_launching-this-blog-took-me-several-years-instead-of-weeks.md @@ -2,7 +2,6 @@ title: Launching this blog took me several years instead of weeks description: The site you reading right now is as dumb in terms of architecture as it can possible be, but still it took me several years to turn the idea of having a blog to actually having it. Here I'll tell you how it happened tags: -platforms: publishedAt: coverImage: --- diff --git a/packages/blog/src/content/posts/_typescript-monorepos-are-painful.md b/packages/blog/src/content/posts/_typescript-monorepos-are-painful.md new file mode 100644 index 00000000..81c922bd --- /dev/null +++ b/packages/blog/src/content/posts/_typescript-monorepos-are-painful.md @@ -0,0 +1,55 @@ +--- +title: TypeScript Monorepos are painful +description: 'You know how they they "once you go black, you never go back"? I went through it with two things: TypeScript and Monopepos, but to set up them both simultaneously was... interesting to say the least. But in the end I now have a strong foundation for a projects of any size and scale, that I''d like to share with you' +tags: + - programming + - typescript + - node +publishedAt: +coverImage: +related: +isPinned: +--- + +### Why TypeScript? + +### Why Monorepo? + +### Monorepo options + +npm workspaces vs yarn workspaces + +- yarn focus +- workspace versioning +- traversal run + +### Usual Polyrepo with TypeScript + +- prod with node +- build with tsc +- watch with nodemon & ts-node + +### Monorepo with TypeScript + +workspace deps in package.json -> +prod +workspace reference in tsconfig.json -> +build +watch? + +### TypeScript tooling ecosystem + +ts-node (tsc) esm problem, ts-node (tsc) references problem +tsx (esbuild) references problem, tsx (esbuild) decorators problem +tsx for unit tests +nodemon (with tsc as 2nd process) problem + +### Keep it simple, stupid + +built-in watch mode (with tsc as 2nd process) sulution + +### What's next + +client-side mess (webpack, rollup, esbuild) + +### P.S. + +yarn pnp problem with tsc diff --git a/packages/blog/src/content/posts/_what-building-a nodejs-project-from-the-scratch-might-teach-you.md b/packages/blog/src/content/posts/_what-building-a nodejs-project-from-the-scratch-might-teach-you.md index 6136f347..0b72bf98 100644 --- a/packages/blog/src/content/posts/_what-building-a nodejs-project-from-the-scratch-might-teach-you.md +++ b/packages/blog/src/content/posts/_what-building-a nodejs-project-from-the-scratch-might-teach-you.md @@ -4,7 +4,6 @@ description: As of now I've been coding some pet-project for a couple of months. tags: - node - programming -platforms: publishedAt: coverImage: --- diff --git a/packages/blog/src/content/posts/_why-brave-new-world-is-actually-a-utopia.md b/packages/blog/src/content/posts/_why-brave-new-world-is-actually-a-utopia.md index b2bb2246..cadba615 100644 --- a/packages/blog/src/content/posts/_why-brave-new-world-is-actually-a-utopia.md +++ b/packages/blog/src/content/posts/_why-brave-new-world-is-actually-a-utopia.md @@ -3,9 +3,6 @@ title: Why "Brave New World" is actually a utopia description: Some time ago, I read Aldous Huxley's "Brave New World." The book made a strong impression on me, despite the fact that I had already read Ray Bradbury's "Fahrenheit 451" and George Orwell's "1984." I noticed a certain difference between this dystopian novel and the other two, but for some reason, I couldn't put it into words. Eventually, one of my friends, on my recommendation, also read this book, and we had a fairly long conversation about it. In the end, we came to the conclusion that "Brave New World" is actually more of a utopia than a dystopia. So, here are my thoughts on the matter. tags: - books -platforms: - - https://vas3k.club/post/1186/ - - https://www.reddit.com/r/Pikabu/comments/gc3vxp/%D0%BF%D0%BE%D1%87%D0%B5%D0%BC%D1%83_%D0%BE_%D0%B4%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9_%D0%BC%D0%B8%D1%80_%D0%BD%D0%B0_%D1%81%D0%B0%D0%BC%D0%BE%D0%BC_%D0%B4%D0%B5%D0%BB%D0%B5_%D1%83%D1%82%D0%BE%D0%BF%D0%B8%D1%8F/?utm_source=share&utm_medium=web2x&context=3 publishedAt: 2020-05-02 coverImage: ../attachments/why-brave-new-world-is-actually-a-utopia/cover.jpg --- diff --git a/packages/blog/src/content/posts/aws-amplify-functions-on-steroids.md b/packages/blog/src/content/posts/aws-amplify-functions-on-steroids.md index c793db24..fadc259c 100644 --- a/packages/blog/src/content/posts/aws-amplify-functions-on-steroids.md +++ b/packages/blog/src/content/posts/aws-amplify-functions-on-steroids.md @@ -9,6 +9,7 @@ publishedAt: 2023-07-05 coverImage: ../attachments/aws-amplify-functions-on-steroids/cover.png related: - pitfalls-of-aws-amplify-serverless-containers +isPinned: --- ### What we have out of the box diff --git a/packages/blog/src/content/posts/branding-an-angular-app-with-docker-volumes-and-css3-variables.md b/packages/blog/src/content/posts/branding-an-angular-app-with-docker-volumes-and-css3-variables.md index 182e2942..831be9fc 100644 --- a/packages/blog/src/content/posts/branding-an-angular-app-with-docker-volumes-and-css3-variables.md +++ b/packages/blog/src/content/posts/branding-an-angular-app-with-docker-volumes-and-css3-variables.md @@ -5,10 +5,10 @@ tags: - programming - docker - angular -platforms: - - https://vorant94.medium.com/skin-replacement-in-angular-after-image-build-bfeb7d2be3f6 publishedAt: 2021-01-26 coverImage: +related: +isPinned: --- ### The problem diff --git a/packages/blog/src/content/posts/dart-through-the-eyes-of-a-js-ts-dev.md b/packages/blog/src/content/posts/dart-through-the-eyes-of-a-js-ts-dev.md index b4c805c3..1078a5c0 100644 --- a/packages/blog/src/content/posts/dart-through-the-eyes-of-a-js-ts-dev.md +++ b/packages/blog/src/content/posts/dart-through-the-eyes-of-a-js-ts-dev.md @@ -7,6 +7,8 @@ tags: - typescript publishedAt: 2023-11-27 coverImage: ../attachments/dart-through-the-eyes-of-a-js-ts-dev/cover.jpg +related: +isPinned: --- ### Intro diff --git a/packages/blog/src/content/posts/pitfalls-of-aws-amplify-serverless-containers.md b/packages/blog/src/content/posts/pitfalls-of-aws-amplify-serverless-containers.md index 1034d98f..fc874112 100644 --- a/packages/blog/src/content/posts/pitfalls-of-aws-amplify-serverless-containers.md +++ b/packages/blog/src/content/posts/pitfalls-of-aws-amplify-serverless-containers.md @@ -9,6 +9,7 @@ publishedAt: 2023-01-31 coverImage: related: - aws-amplify-functions-on-steroids +isPinned: --- ### Starting point diff --git a/packages/blog/src/content/posts/war-in-israel.md b/packages/blog/src/content/posts/war-in-israel.md index ea15250e..a0f2780e 100644 --- a/packages/blog/src/content/posts/war-in-israel.md +++ b/packages/blog/src/content/posts/war-in-israel.md @@ -7,6 +7,7 @@ tags: - self-reflection publishedAt: 2023-10-14 coverImage: ../attachments/war-in-israel/cover.webp +related: isPinned: true --- diff --git a/packages/blog/src/content/posts/whats-in-my-pi-bitwarden.md b/packages/blog/src/content/posts/whats-in-my-pi-bitwarden.md index d864cc03..2fa16850 100644 --- a/packages/blog/src/content/posts/whats-in-my-pi-bitwarden.md +++ b/packages/blog/src/content/posts/whats-in-my-pi-bitwarden.md @@ -10,6 +10,7 @@ coverImage: ../attachments/whats-in-my-pi/bitwarden-logo.svg related: - whats-in-my-pi-pi-hole - whats-in-my-pi-freshrss +isPinned: --- There are multiple options to store your passwords nowadays. I suppose that the default option for an average modern user is either to have only one password for everything or to store all of the passwords in a browser since it constantly suggests to autofill them: diff --git a/packages/blog/src/content/posts/whats-in-my-pi-freshrss.md b/packages/blog/src/content/posts/whats-in-my-pi-freshrss.md index ba3b81b6..feaf0e7b 100644 --- a/packages/blog/src/content/posts/whats-in-my-pi-freshrss.md +++ b/packages/blog/src/content/posts/whats-in-my-pi-freshrss.md @@ -10,6 +10,7 @@ coverImage: ../attachments/whats-in-my-pi/freshrss-logo.svg related: - whats-in-my-pi-freshrss - whats-in-my-pi-bitwarden +isPinned: --- Back in the old days when there were no social networks if you wanted to have blog, you had to have one, not just to create a profile in some platform, but to maintain a fully-featured website (like the one you are reading right now). From the author perspective an entry level for blogging in such environment was a much higher, but he/she had total freedom and more important ownership of his/her content. From the reader perspective entry point also was a little bit tricky: in order to build nice and convenient post feed with updates from all of your subscriptions you had to come up with something, nobody wanted to manually go over a list of sites on a regular basis. So people invented [RSS protocol](https://en.wikipedia.org/wiki/RSS). diff --git a/packages/blog/src/content/posts/whats-in-my-pi-pi-hole.md b/packages/blog/src/content/posts/whats-in-my-pi-pi-hole.md index 2ce29d64..0348779b 100644 --- a/packages/blog/src/content/posts/whats-in-my-pi-pi-hole.md +++ b/packages/blog/src/content/posts/whats-in-my-pi-pi-hole.md @@ -10,6 +10,7 @@ coverImage: ../attachments/whats-in-my-pi/pi-hole-logo.svg related: - whats-in-my-pi-pi-hole - whats-in-my-pi-bitwarden +isPinned: --- If you have ever searched anything on the Internet, you probably are pissed of by the amount of ads modern websites have. It literally can be just a simple cooking recipe page, where after each step there is reserved placeholder for a targeting ad.