Poor/broken monorepo DX: can't specify .contentlayer/ output path, no docs for custom config path
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- nextjs, typescript
- Ambito
- build-system, documentation, tooling
Direzione di ricerca
Inizia con createContentlayerPlugin() e la documentazione di next-contentlayer, inclusa l’opzione configPath e il comportamento relativo a tsconfig.json. Riproduci lo scenario del monorepo apps/my-nextjs-app con pnpm nx serve e definisci il completamento come una configurazione documentata per i percorsi di configurazione e di output, oltre a un supporto corretto per più app senza un output della console confuso.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I tried getting Contentlayer rolling in an nx monorepo and found the developer experience to be poor.
I'm creating an issue to potentially influence the roadmap per the project website.
Contentlayer seems like a decent approach to supporting mdx that covers many use-cases so it'd be great to use it.
If you want to make this issue about one thing: developers should be able to configure the .contentlayer output location such that multiple sites/apps can be cleanly supported.
Context
In a monorepo a developer may have a nextjs blog/website/app at apps/my-app-name or packages/my-app-name.
(or even in an even deeper nested path in really large projects)
A given monorepo may house many different apps and libraries.
Developer Requirements
Contentlayer should not "take over" a project's root folder unless configured to do so, and it should support a monorepo where there may be several apps that use it and others that do not. An organization might have respective blog, product documentation, and marketing websites, each with their own MDX content; an individual might have multiple blogs.
- a way to specify the path to the
.contentlayeroutput dir for a given website/app that uses it - a straightforward and documented way to specify where the contentlayer config file is
- contentlayer to consider where
tsconfig.jsonis based on the path to its config (and/or specify a custom path to tsconfig)- right now contentlayer looks in the root of the project folder vs. where the config file is
- nx apps have a
tsconfig.jsonin their respective folders (it extendstsconfig.base.jsonin monorepo root)
Its ok if that's the default behaviour / happy path is no monorepo however I think there should be ways to support them far more elegantly.
In many cases would be best to be best to house everything together in each app's respective folder: the website content mdx, the contentlayer output, and the app itself.
In other cases a dev might prefer paths for content at the root of the project folder e.g. .contentlayer/ with subfolders for each app, content/ with subfolders for each app's content, etc off the project root.
Acceptance
Consider the scenario where a dev runs pnpm nx serve my-nextjs-app that's housed in apps/my-nextjs-app and everything is clean, organized, and plays nice and the console output isn't filled with confused contentlayer barf.
Documentation Issues
It is not well-documented that I can use createContentlayerPlugin() in next config to specify a configPath.
The docs at https://www.contentlayer.dev/docs/reference/next-contentlayer don't mention any of the "non default configuration options" but mention the existence. I had to find that out from looking at issue comments and PR's e.g. https://github.com/contentlayerdev/contentlayer/pull/248
- Lingua principale
- TypeScript
- Stelle
- 3.5k
- Fork
- 192
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di contentlayerdev/contentlayer
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
contentlayerdev/contentlayer#506 · 84 commenti · 47 reazioni ·
-
State of the project Apertameta: never-stale
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
contentlayerdev/contentlayer#429 · 49 commenti · 83 reazioni ·
-
meta: never-stale topic: markdown/mdx
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
contentlayerdev/contentlayer#421 · 4 reazioni ·
-
meta: never-stale needs-research topic: schema
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
contentlayerdev/contentlayer#420 ·
-
Derived documents Apertaneeds-research
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
contentlayerdev/contentlayer#414 · 1 reazione ·
Tutte le issue di contentlayerdev/contentlayer
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
bug v2
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
modelcontextprotocol/inspector#2458 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
railmapgen/rmp-gallery#4068 ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
carbon-design-system/ibm-products#9907 ·