/web-starters-free

Free and Open source version of Monwoo Web Starters

Primary LanguagePHPApache License 2.0Apache-2.0

Monwoo Web Starters (MWS) Apache-2.0 (Free)

Build by Miguel Monwoo, Open Source Apache-2.0 with Copyright © MONWOO 2023

www.monwoo.com/don

Contain multiple free webstarters and parts of opened confidential starters (Optional full code under private license per domains, or for confidential knowledge with no rights to duplicate without appropriate notice or license)

Warning

mws-sf-pdf-billings Not for productions without serious testings and cleanings.

Be carefull with cloud since this solution might consume huge bandwidth for timeSlot pictures reports and qualification.

For example, 1 year of jobs with 60 000 pictures will load and reload those for qualification(s) or reports. At full size, it's around 100Go of media data. (10 times imports might be 1To without optimisations...)

Want to give motivation for tests or other stuffs ?

Donate with your comment on : www.monwoo.com/don

Apps and Packages

Monwoo Web Starters

Next JS example

  • next-js-docs: a Next.js app
  • next-js-web: another Next.js app
  • next-js-ui: a stub React component library shared by both next-js-web and next-js-docs applications
  • next-js-eslint-config: eslint configurations (includes eslint-config-next and eslint-config-prettier). WARNING : package name set to eslint-config-next-js for config compatibility purpose.
  • next-js-tsconfig: tsconfig.json used throughout the monorepo next-js apps and packages

Svelte example

  • svelte-docs: a svelte-kit app
  • svelte-web: another svelte-kit app
  • svelte-ui: a Svelte component library shared by svelte-web and svelte-docs applications
  • svelte-eslint-config: eslint configurations (includes eslint-plugin-svelte and eslint-config-prettier). WARNING : package name set to eslint-config-svelte for config compatibility purpose.
  • svelte-tsconfig: tsconfig.json used throughout the monorepo svelte apps and packages

Supports

To support us and/or help us open more software, send a subvention with :

Build

# install :
pnpm install

# launch turbo for dev :
turbo dev

# launch turbo to build all apps
# and packages (if build script inside package.json) :
turbo build

# Check lint rules for all apps and packages :
turbo lint

# Format :

# TIPS : use versioning, push to have clean repo,
#        then format and check new possible changes

# Sync versioning
git add -A && git commit -m "[MWS] <pending modifications details>"
git push
# Format all apps and packages
turbo format
# Check and review changes before next commit :
git diff

BASED on : Turborepo starter

This starter come from an official pnpm starter turborepo.

What's inside?

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

Create a new Svelte turbo repo :

Run the following command:

npx create-turbo@latest -e with-svelte

Utilities

This turborepo has some additional tools already setup for you:

Build

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

cd my-turborepo
pnpm run build

Develop

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

cd my-turborepo
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:

cd my-turborepo
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:

pnpm dlx turbo link

Useful Links

Learn more about the power of Turborepo: