All Projects → Izhaki → mono.ts

Izhaki / mono.ts

Licence: other
A minimal example of a typescript mono repo with pre-build support (tests, vscode).

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to mono.ts

vscode-monorepo-workspace
📦✨Manage monorepos with multi-root workspaces. Supports Lerna, Yarn, Pnpm, Rushjs and recursive package directories.
Stars: ✭ 93 (+60.34%)
Mutual labels:  lerna, monorepo, yarn-workspaces
Puppeteer Extra
💯 Teach puppeteer new tricks through plugins.
Stars: ✭ 3,397 (+5756.9%)
Mutual labels:  lerna, monorepo, yarn-workspaces
cra-monorepo-demo
Monorepo example using create-react-app and common component library structure with yarn workspaces
Stars: ✭ 37 (-36.21%)
Mutual labels:  lerna, monorepo, yarn-workspaces
monopacker
A tool for managing builds of monorepo frontend projects with eg. npm- or yarn workspaces, lerna or similar tools into a standalone application - no other tools needed.
Stars: ✭ 17 (-70.69%)
Mutual labels:  lerna, monorepo
yarn-workspaces-example
Sample monorepo project using new Yarn feature called Workspaces
Stars: ✭ 39 (-32.76%)
Mutual labels:  lerna, monorepo
blog
blog posts & source code.
Stars: ✭ 44 (-24.14%)
Mutual labels:  lerna, monorepo
eslint-import-resolver-lerna
Resolver for Lerna-based projects for eslint-plugin-import
Stars: ✭ 47 (-18.97%)
Mutual labels:  lerna, monorepo
react-ecommerce
E-commerce monorepo application using NextJs, React, React-native, Design-System and Graphql with Typescript
Stars: ✭ 136 (+134.48%)
Mutual labels:  lerna, monorepo
yarn-workspaces-simple-monorepo
Yarn Workspaces basic monorepo management without Lerna for coding examples
Stars: ✭ 31 (-46.55%)
Mutual labels:  monorepo, yarn-workspaces
ng-mono-repo-starter
Angular Mono Repo Starter
Stars: ✭ 79 (+36.21%)
Mutual labels:  lerna, monorepo
mock-spy-module-import
JavaScript import/require module testing do's and don'ts with Jest
Stars: ✭ 40 (-31.03%)
Mutual labels:  monorepo, yarn-workspaces
tangerine-monorepo
A "fast" TypeScript-based Node.js monorepo setup powered by esbuild & turborepo
Stars: ✭ 191 (+229.31%)
Mutual labels:  monorepo, yarn-workspaces
devto-monorepo
Source code for the Dev.to article - Next.js, Apollo Client and Server on a single Express app
Stars: ✭ 33 (-43.1%)
Mutual labels:  monorepo, yarn-workspaces
react-monorepo
a simple monorepo setup for react & react-native using yarn workspaces.
Stars: ✭ 40 (-31.03%)
Mutual labels:  monorepo, yarn-workspaces
shared-react-components-example
An example of a mono-repository of shared React components libraries!
Stars: ✭ 85 (+46.55%)
Mutual labels:  lerna, monorepo
lerna-sync
A package to synchronize distributed GitHub repos inside a Lerna monorepo.
Stars: ✭ 15 (-74.14%)
Mutual labels:  lerna, monorepo
pacote
A box of goodies, in TypeScript.
Stars: ✭ 14 (-75.86%)
Mutual labels:  lerna, monorepo
monorepo-utils
A collection of utilities for monorepo/lerna. Tools for TypeScript project references etc..
Stars: ✭ 143 (+146.55%)
Mutual labels:  lerna, monorepo
lerna-terminal
Powerful cli ui for monorepos
Stars: ✭ 25 (-56.9%)
Mutual labels:  lerna, monorepo
React-Native-Web-TypeScript-Prettier-Boilerplate
A starterkit to work with nextjs, react-native, storybook… all with prettified typescript and in a monorepo
Stars: ✭ 16 (-72.41%)
Mutual labels:  monorepo, yarn-workspaces

Oh Hello!

My name is mono.ts. I'm a minimal example of a typescript mono-repo.

I'm Different

Unlike many similar examples I can do the following, before you build anything:

Run Tests

/packages/line/package.json:

"test": "mocha --require ts-node/register --require tsconfig-paths/register test/*.ts"

VSCode Package Linking

If you click on @geo/point (/packages/line/src/index.ts):

import { Point, getDistance } from '@geo/point';

VScode will take you to /packages/point/src/index.ts

The Stuff I'm Made Of

How do I work?

There are basically two parallel typescript configuration hierarchies.

Pre-build

This tree is using aliases (or paths in typescript world). This allows VSCode to reference the correct files, and tests to run.

  • /packages/tsconfig.base.json (common configuration for both pre-build and build configurations)
    • /packages/tsconfig.json
      • /packages/line/tsconfig.json

Build

This tree uses typescript's project reference for optimised builds.

  • /packages/tsconfig.base.json
    • /packages/tsconfig.build.json
      • /packages/point/tsconfig.build.json
      • /packages/line/tsconfig.build.json

Note that to build the packages you run (/package.json):

"build": "tsc --build packages/tsconfig.build.json"

This is allegedly better than letting yarn or lerna build the packages in turn based on the dependency tree.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].