2 weeks ago

I'm #streaming some #godot #gameDev today - focusing on refactoring parts of Dino (my games/addons #monorepo: to use Pandora, a new db-like addon.

Check out the stream (or later on, the vod):

Be sure to check out Pandora, from @bitbraindev: - still in alpha, but pretty useful already :)

#godotEngine #SoloDev #IndieDev #twitch

1 month ago

What is the best way to share dependencies between packages in #turborepo

I've got a bunch of #NextJS apps in `/apps/` folder and some component libs in `/packages`. I want all the packages to share the same version of material UI as a dependency. What is the recommended way?

#monorepo #javascript

2 months ago

Does anybody have any suggestions about how to make a #monorepo perform well given what I have said? Any good tools to use or should I just not do it? #Lerna #NX #Turborepo etc.? Stack currently Jekyll, but will be moving to something Node/Deno flavoured.

2 months ago

Currently at work we have a large site that is made from ~75 smaller sites, each generated from it's own repo and synced to a different "folder" in S3.

Each of these smaller sites shares a common theme amongst other things - this ensures the site looks cohesive as a larger site.

Each repo has a totally separate team of writers/developers working on it.

It works well, has some excellent pros, but also some significant cons too. The alternative is a #monorepo with some serious CODEOWNERS use.

People, please, please, please: don't use #monorepo if you are not an expert on tooling and have many years of experience.

You'll fuck it up. It will be horrible, and the worst part: you won't know. You won't understand how horrible it is due to lack of experience with better systems, and you won't see a path forward for how to improve it, except burning it all and start again from scratch.

This advice is even more relevant when using #TypeScript

3 months ago

I'm looking for a #monorepo solution at work. We are a small team (6 people) and mostly use #TypeScript so I'm looking for something that is not overkill. #npm workspaces seemed interesting, is it good enough or should I dive into something more serious?

Tane Piper
3 months ago

Anyone doing #github #actions - does anyone know a way to do dynamic environment variables, at the job level - based on a folder in a #monorepo?

I need to build container images and frontend apps, and pass to them different API paths and keys. At the moment every time an app is added, the secrets and vars need to get added to be passed down into the actions.

3 months ago

whispers monorepo monorepo monorepo monorepo ...

#MonoRepo #krita

A still from The Simpsons episode "Marge vs. the Monorail" showing Lyle Lanley in front of a blackboard with the text "Mono = One" "Repo = Repo"
Aaron Martin-Colby
3 months ago

For anyone looking into #nx or #turborepo for their #monorepo, a huge difference is that Turborepo has somewhat better support for Yarn Plug'n'Play.

Karsten Schmidt
3 months ago

A short code example to extract the dependency graph of _all_ packages within a #JavaScript (or #TypeScript, npm/yarn-style) #MonoRepo and produce its visualization via #GraphViz (the viz shown uses the neato layout engine).

The 2nd code example produces textual output of the same source data... In both cases all done via just a few select packages...

cc @nkint

TypeScript source code:

import { serializeGraph, type Node } from "";
import { files, readJSON, writeText } from "";
import { assocObj, map, mapcat, transduce } from "";
import { execFileSync } from "child_process";

// load package.json of all packages in monorepo and extract key details...
const packages = [ string) => readJSON(f), files("packages", "package.json", 2)),

// transform & serialize to Graphviz DOT format
const dot = serializeGraph({
	attribs: {
		rankdir: "LR",
		node: {
			style: "filled",
			color: "black",
			fontcolor: "white",
			fontsize: 9,
	nodes: transduce(
			({ name, version }) =>
				<[string, Node]>[name, { label: `${name}\\n${version}` }]
	edges: [
			(p) =>
				Object.keys(p.dependencies || {}).map((d) => ({
					dest: d,

// output and execute
writeText("", dot);
execFileSync("dot", ["-Tsvg", "-o", "dependencies.svg", ""]);
TypeScript source code:

import { defDGraph } from "";
import { files, readJSON } from "";
import { map, mapcat, repeat, zip } from "";

// load package.json of all packages in monorepo and extract key details...
const packages = [ string) => readJSON(f), files("packages", "package.json", 2)),

// alternative textual output...

// define DAG from edge pairs
const g = defDGraph<string>(
		(p) =>
				p.dependencies ? Object.keys(p.dependencies) : [null]

// sort topologically
const sorted = g.sort();
console.log("topo order:", => x.split("/")[1]).join(" "), "\n\n");

const noprefix = (names: Iterable<string>) => [...names].sort().map((x) => x.split("/")[1]);

sorted.forEach((x) => {
	console.log(`\t<-- ${noprefix(g.transitiveDependencies(x))}`);
	console.log(`\t--> ${noprefix(g.transitiveDependents(x))}\n\n`);

console.log("leaves", packages.filter((p) => !p.dependencies).map((p) =>;
Zoomed-out graph visualization of the 180 packages/libraries and their inter-dependencies in the monorepo
Jan Deppisch
3 months ago

Last week, at our first in person meetup after 2019, Dominik from Textbroker livecoded us through the Nx build system for a mono repo setup — supported by pizza, drinks, fun conversations and a raffle for the EnterJS conf 😎 Take a look:

#monorepo #frontend #meetup #mainz

Audience and Speaker Dominik Huppmann during this session "Full Stack Monorep Development with Nx" at the office of Textbroker in Mainz on June, 15th
Brandon Bennett
4 months ago

Cool. You can use `go work` and it no longer needs to reach out to external projects that are defined in `use` statements.

Still not sure if this is better or worse than a central `go.mod` if I am not doing versioning.

#golang #monorepo

It's 35k lines long!!! We *just* started moving old packages into the monorepo a few months ago, it's going to get MUCH BIGGER.

#monorepo is an #AntiPattern

#webDev #programming #pnpm

Somehow, every #packageManager that tries to replace #NPM is worse than the last.

I can't even open #PNPM's package_lock.json in my company's #monorepo because #VSCode runs out of memory trying to display a changeset.

I don't even WANT a fucking package_lock!!!

#NodeJS #JavaScript #yarn

Matijs van Zuijlen
4 months ago

I'm becoming more and more convinced that monorepos for open-source projects are terrible for casual contributors.


I’ve just released attempt 2 at a workaround for monorepos with :github: Advanced Security Code Scanning results, to let you filter by project 🚀

My last try didn’t work out, but I’ve taken a new tack ⛵️ and come back with a new ✨ way…

The sample Actions workflow I’ve shown works for CodeQL, but you can apply the same idea to any Code Scanning integration.

#GitHub #SAST #GitHubAdvancedSecurity #MonoRepo #DevSecOps #SecureCoding

People who are working with #npm #monorepo's, if I have a package (eslint config) in the monorepo that is used as `devDependency` in other package from the same repo, and that other package is going to be published. Does this `devDependency` has to be published too? Or can it stay private? I really don't see sense publishing it, but also couldn't find information whether npm cares about devDeps...

Also tagging #nx #lerna #turborepo #pnpm #javascript, in case you guys maybe know the answer.

Lucas Santos
5 months ago

3 - Repetição de código, você vai ter o mesmo arquivo, com o mesmo conteúdo em um ou mais projetos, se você tiver um #monorepo ainda, pior.

I've opensourced Actions/scripts to enhance #GitHub Code Scanning

🔖 tag-sarif: for filtering results in a #monorepo
🧭 remap-sarif: for scanning code that transpiles to #JavaScript

tag-sarif attaches custom tags to results to allow filtering in the Code Scanning UI

remap-sarif lets you scan languages/frameworks, such as Dart/, using Source Maps



#SAST #DevSecOps #AppSec

haliphax 👾
6 months ago

Putting together my first blog post in almost a year about #Gradle #monorepo structure for #Kotlin projects. I'm going to call it "The Holy Gradle". 🏆

We found a way to combine turborepo's great builds with overmind's great process management.

#nodejs #webdev #monorepo

Heath Stewart
6 months ago

Maintaining a #monorepo already has enough challenges. Keeping its #CODEOWNERS up to date can be difficult. I started on a new #GitHubCLI extension: `gh ext install heaths/gh-codeowners`

It does only simple linting for now but will have a fix mode for supported error types.

See for more information. #GitHub

Sebastian Helzle
7 months ago

Quite happy that I started splitting a larger #React app a while ago into a #monorepo with each workspace containing everything related to a feature.

Plus a core package with shared code, a package that wires everything together and two packages for the two build targets.

Can focus on a few folders when doing my work and it’s easier to show contributors where to work and they can mostly ignore the rest.

It’s also obvious in PRs when code leaks out of its workspace.

7 months ago

Are #monorepo only laziness of Javascript developers to do proper libraries?
What do you think of #monorepo ?

Anders Borch
7 months ago

Monorepos Lead To Bad Developer Culture.

This might seem like somewhat of a stretch, but hear me out.

#DevExperience #BigCo #MonoRepo #Culture #Organisation

What does your team dev workflow look like?

Please tick which apply, or comment for more info.

For those who use a monorepo with trunk-based workflow, can you teach me how code review, linting and security testing (e.g. SAST) fit into your workflow?

#MonoRepo #GitFlow #TrunkBasedDevelopment

For my work on #Cuppings I merged the backend, data and #iOS repositories into one because I was moving stuff back and forth anyway.

A #monorepo is the best way to work at all scales.

8 months ago

Since the hashtag is totally empty for me on here, I'll start it:

Anyone on the #fediverse want to talk to #turborepo, let me know :D.

#vercel #monorepo #nextjs #frontend #programming #nx #moon #bazel #etc #etc

Jason Whaley
8 months ago

For those of you interested in the SCM and monorepo space, check out if you haven't already.

My favorite feature after using this for a bit is using a VFS for your local working copy so that files from the current revision are lazily loaded

#scm #monorepo #git

Krzysztof Jeziorny
8 months ago

svn #monorepo realness

VSCode message "At revision 10000."
Maxence Maireaux
9 months ago

Savez-vous ce qu'est un #Monorepo?

C'est une approche de gestion des dépôts de code où tous les projets et dépendances sont gérés dans un seul dépôt. Et voici pourquoi vous devriez envisager d'utiliser un Monorepo pour votre prochain projet :


9 months ago

🎉Part 4: Building a Fullstack App with #dart_frog and u/FlutterDev in a Monorepo is now LIVE🚀!

🛠 Implement r/PostgreSQL db, added r/laravel -inspired HTTPController, fully implement CRUD, datasource, repository.
#fullstack #monorepo #todoapp #flutter
submitted by /u/saileshbro
[link] [comment…

#flutter #flutterdev

9 months ago

🚀 Building a Fullstack App with #dart_frog and r/FlutterDev in a Monorepo - Part 3 is live! 🚀🥳

🚀 Building a Fullstack App with #dart_frog and r/FlutterDev in a Monorepo - Part 3 is live! 🚀🥳
✂️ Had to split Part 3 into two parts because it was getting too big!
🗓️ Will be posting part 4 tomorrow😎!
#flutter #dart_frog #fullstack #monorepo…

#flutter #flutterdev

9 months ago

I have so many #chaostoolkit extensions, each on their own repository. I do wonder if I shouldn't collate them into a single repository. #monorepo

9 months ago

And this link:
was super helpful in setting up #prisma in a #monorepo with #pnpm.

9 months ago

Making a quick shout out to my favorite developer tool in the whole wide world! ❤️❤️❤️

Nx: Smart, Fast and Extensible Build System

#angular #react #vue #storybook #cypressIO #monorepo #npm

@micah our tram adopted #monorepo approach in recent years and we couldn't be more thankful to this change. This enforces a mental model for implementing security and other #devops related concepts that otherwise become simple office bureaucracy.

10 months ago

Explain me how a #monorepo is not the symptom of what Team Topologies calls “Monolitic (Coupled) Releases”

My newest article breaks down my #monorepo structure for #tootahead, as well as how I'm automating deployment with Netlify and Azure DevOps.

#buildinpublic #opensource #devops #docker

David Burns
10 months ago

I've just asked my first question on #StackOverflow in what feels like forever! If you're a #nrwl #nx pro, could you help me here? I have a workaround which is running 2 separate commands but feels like nx should know what to do here properly

#monorepo #build

NaNdy Stalick
10 months ago

I want to contribute a new #eInk display to #NodeJS but the #pnpm workspaces flow has me baffled.

#MonoRepo blues!

I made the mistake of breaking out my app into a few repositories thinking it would help me make changes more quickly.

Spoiler alert: it slowed me down.

Going back to team #monorepo soon...

Colin Gourlay
11 months ago

Announcement on #GitHub about a new #DotNet Virtual Monolithic Repository

I'm a big fan of the #Nx build system - the tooling for #Angular is lovely but the .net support (or certainly how I want to use it) is limited.

Hoping this might take my #AzureDevOps CI/CD pipelines in an interesting direction.

Definitely something to keep an eye on.

Announcement here:

#DevOps #MonoRepo #TrunkBasedDevelopment #ContinuousIntegration #ContinuousDeployment #ContinuousDelivery

Nick Rankovic
11 months ago

Getting used to VS Code after years of PyCharm, plus working in a #monorepo with multiple languages (#JavaScript and #Python). Wondering if the “⌘ + T” shortcut (search by symbol) can be made to only work with *.py files?