Skip to content

NextJS template, used by wayofdev. Bundled with Turbo, PNPM monorepo

License

Notifications You must be signed in to change notification settings

fossabot/next-starter-tpl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation




Build Status Latest Version Software License Commits since latest release Code Climate maintainability Code Climate issues Code Climate technical debt Code Climate coverage

NextJS Starter Template

This repository contains monorepo boilerplate written in Next.js. Used together with backend API part — laravel-starter-tpl.


🤔 What's inside?

This turborepo uses pnpm as a package manager. It includes the following packages/apps:

→ Apps and Packages

  • docs: a Nextra application generated from Nextra: Docs Starter Kit
  • web: Next.js app
  • ui: a stub React component library shared by both web and docs applications
  • eslint-config-custom: eslint configurations (includes eslint-config-next and eslint-config-prettier)
  • tsconfig-config: tsconfig configs used throughout the monorepo
  • jest-config: JestJS configs used across the monorepo
  • Each package/app is 100% TypeScript.

→ Utilities and Features

This repository has some additional tools already setup for you:


📑 Requirements


💿 Installation

Warning: Repository with docker-shared-services should be configured, up and running, to ensure system wide TLS and DNS support.

→ Instructions

  • First, setup, for this repository, compatible backend by following instructions in laravel-starter-tpl

  • After backend is set up done, clone this repository:

    [email protected]:wayofdev/next-starter-tpl.git
  • Create .env file:

    $ make env \
     APP_NAME=tpl \
     SYSTEM_SERVICES_NAMESPACE=ss \
     PROJECT_SERVICES_NAMESPACE=wod
  • Build, install and run application:

    make
  • Now, project is running, and, if default settings were used, available at https://tpl.wod.docker


💻 Usage

→ Build

To build all apps and packages, run the following command:

# with makefile, through Docker
$ make build

# or, directly, without docker, using system binaries
$ pnpm run build

→ Develop

To develop all apps and packages, run the following command:

# with makefile, through Docker
$ make up

# or, directly, without docker, using system binaries
$ pnpm run dev

→ Remote Caching

Turborepo can use a technique known as Remote Caching to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.

By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:

# with makefile
$ make turbo-login

# directly
$ pnpm dlx turbo login

This will authenticate the Turborepo CLI with your Vercel account.

Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your turborepo:

# with makefile
$ make turbo-link

# directly
$ pnpm dlx turbo link

🧪 Testing

You can check Makefile or package.json to get full list of commands for local testing. For testing, you can use these commands to test:

make test

🤝 License

Licence FOSSA Status


FOSSA Status

🧱 Credits and Useful Resources

Based on nextjs-monorepo-example template from belgattitude.

Learn more about the power of Turborepo:

Other monorepo templates:

Other projects:


🙆🏼‍♂️ Author Information

This repository was created in 2022 by lotyp / wayofdev.


🫡 Contributors

Contributors

Contributors

About

NextJS template, used by wayofdev. Bundled with Turbo, PNPM monorepo

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 58.6%
  • TypeScript 27.5%
  • Makefile 10.0%
  • Shell 3.6%
  • CSS 0.3%