Git Product home page Git Product logo

monorepo's Introduction

image

Turborepo + Sveltekit + Tailwind + Histoire (Demo)

oneezy

This is a monorepo starter powered by:

To Do

  • 🆕 create "main" app for all other apps to live on the same level / better control of (group) layouts
  • 🆕 fixed layouts / duplicate content
  • 🆕 created $base links so stand-alone app links will work
  • 🆕 bumped histoire to v0.11.7
  • 🆕 better tailwind.config content paths
  • 🆕 fix plop app to work w/ new layout structure
  • convert Histoire (svelte) to Histoire (sveltekit)
  • Turborepo
  • Sveltekit ^1.0.0-next.570
  • Tailwind ^3.1.8
  • PNPM
  • Husky
  • Commitlint
  • Symlink routes fixed! (sveltekit issue #6303)
  • Shared @packages/* between @apps/*
  • Remove all build folder w/ pnpm clean script
  • Open multiple apps on different ports w/ pnpm dev
  • Build multiple apps w/ pnpm build (turborepo build under hood)
  • Preview built apps w/ pnpm preview
  • Implement Changesets (link)
  • Setup Component Stories
    • Histoire
    • Vitebook (deprecated / no iframe)
    • Bookit (no iframe)
  • Commitlint Emojis
  • Setup Docker w/ Turborepo
  • Deploy dev, beta, and prod to real web host
  • CI Build Process
  • Create env variables shared in packages
  • Limit access to certain directories
  • Setup git submodules for opensource repos
  • Create @oneezy/componentsGitHub repo + NPM package for sharing components between projects
  • Automate Release Tags
  • Testing

Apps

websites and webapps live in the ./apps folder. They all live at the same level but the app routes are symlinked into the +app (main app) directory so they inherit Sveltekit's SPA routing system (Single Page Application).

  • +app (main app)
  • +stories (histoire stories)
  • site
  • docs

Packages

libraries, configs and components live in the ./packages folder.

  • components
    • where components and global css live
  • config
    • shared configs between all apps
  • dependencies
    • shared dependencies and devDependencies between alls apps
  • libs
    • useful libraries from npm and other 3rd party resources
  • metadata
    • base metadata shared between apps
  • utils
    • where utilities live

Setup

Prereqs

node v18.8.0  (or later)
pnpm v7       (or later)image.png

Installation

degit oneezy/monorepo my-app
pnpm i

+ start all apps
pnpm dev

+ start single app
pnpm dev --filter @apps/site

+ production build all apps
pnpm build

+ production preview all apps
pnpm preview

+ production preview single app
pnpm preview --filter @apps/dev

Add App

This monorepo makes use of symlinks to handle 2 separate scenarios. if you plan on using either you will need to follow the steps below for your app(s) to work properly. Learn more about symlinks by clicking here.

PROTIP: Quickly generate an app using plop !

pnpm plop app

symlink static assets
this monorepo only uses one folder for static assets located at ./apps/+app/static so you will need to symlink that static folder into every app you add to the apps/* folder to get static assets working (this may change in the future but this is how we're handling it at the moment).

This is automatically handled for you when you pnpm i anywhere.

symlink app routes
if you want to link entire apps together as routes you will need to symlink your ./apps/my-app/src/routes directory into the main ./apps/+app/src/routes directory.

This is automatically handled for you when you pnpm i anywhere.

Add Component

Components are the building blocks of your apps.

PROTIP: Quickly generate a component using plop !

pnpm plop component

or do it manually...

  1. create new component in ./packages/components/src directory

  2. export new component from ./packages/components/index.js file

  3. use component in an app ./apps/site/src/routes/index.svelte

<script>
  import { MyComponent } from '@packages/components';
</script>

<MyComponent />

Add Package

  1. create new folder in ./apps (i.e. docs)
  2. create new folder in ./packages (i.e. components)
  3. go to components folder and create package.json with proper namespace
{
  "name": "@packages/components",
  "version": "0.0.0",
  "type": "module",
  "main": "index.js"
}
  1. cd into the app you want to add the package to and use the pnpm add command
cd apps/docs
pnpm add @packages/components

pnpm adds the workspace at the bottom of your docs/package.json

"dependencies": {
  "@packages/components": "workspace:*"
}

Project Configuration

Modify the root package.json

Make sure to modify the contents in the project's root package json to fit your needs.

Package.json inheritance from @packages/dependencies

You can create base package.json's to inherit from each other.

i.e. packages/dependencies/package.shared.json

{
    "devDependencies": {
        "svrollbar": "^0.12.0",
        "svelte-accessible-accordion": "^2.1.0"
    },
    "dependencies": {
        "@packages/config": "workspace:*",
        "@packages/metadata": "workspace:*",
        "@packages/components": "workspace:*"
    }
}

And then add it to the app's package.json like...

  "name": "@apps/site",
  "inherits": [
    "@packages/dependencies/package.svelte.json",
    "@packages/dependencies/package.shared.json"
  ],

Running Multiple Dev Environments

If you want to run multiple dev enviornments in parallel, you will have to define different ports in each of your apps package.json npm scripts (i.e. -p 4000). Each apps port will need to be different.

"name": "@apps/docs",
"version": "0.0.0",
"scripts": {
  "dev": "vite dev --port 4000",
  "build": "vite build",
  "preview": "vite preview --port 4000"
},

Setting up Symlinks (if you're on Windows)

Prerequisites

Symlink Permissions

You have 1 of 3 options. If you try to create a symlink without one of these, you will see:

Failed to create symbolic link 'link' : Operation not permitted
🟦 Option 1: Run as Administrator

When you make a symlink this way, you'll always need to open up the terminal as an Administrator.

🟦 Option 2: Developer Mode

This is the easiest way but not the safest (security risk).

  1. Go to your start menu and search "Developer Settings".
  2. Turn Developer Mode On.
✅ Option 3: Local Security Policy
  1. Go to your start menu and search "Local Security Policy".
  2. Double click on Create symbolic links
+ Security Settings > Local Policies > User Rights Assignment > Create symbolic links
  1. Click the Add User or Group button
  2. Type in your username and click the OK button
  3. Click the Apply button
  4. Restart your computer for the settings to take place

Choose a Path: Command Prompt, Git Bash or WSL

Command Prompt

  1. Open the Command Prompt
  2. Use cd to go into your project where you want to add the symlink
cd C:\Users\oneezy\Desktop\sveltekit-symlinks\src\routes
  1. Create a relative symlink (not absolute!) to a directory folder (not a file!)
mklink /D my-new-symlink ..\..\symlinked-docs
  1. And your finished!

Git Bash

Step 1. Setting System Environment Variables

🟦 Option 1: Exporting variable per session (tedious)

In your terminal you'll need to write the following command every time you restart git bash.

export MSYS=winsymlinks:nativestrict
✅ Option 2: Create an entry for MSYS (once)
  1. Go to your start menu and search for "System Settings"
  2. Click the Environment Variables... button
  3. Go to System variables section and click the New button
  4. Enter in the New System Variable name and value and click the OK button.
Variable name:    MSYS
Variable value:   winsymlinks:nativestrict
  1. Click the OK button again to confirm.
  2. Congratulations! Now you have the power to create symlinks whenever you want!

Step 2. Enable Symlinks in Gitconfig

You may also need to enable symlinks in your .gitconfig user profile.

git config --global core.symlinks true

This will add the symlinks = true to C:\Users\username\.gitconfig

[core]
  symlinks = true

You may also need to manually add symlinks = true to the gitconfig inside C:\Program Files\Git\etc\gitconfig if it's not there already

[core]
  symlinks = true

Step 3. Create Symlink (Git Bash)

  1. Open up Git Bash
  2. Use cd to go into your project where you want to add the symlink
cd c/users/oneezy/desktop/sveltekit-symlinks/src/routes
  1. Create a relative symlink (not absolute!) to a directory folder (not a file!)
ln -s ../../../docs docs
  1. And your finished!

PROTIP: To see a list of your symlinks use the ls -l command

oneezy@oneezy MINGW64 ~/Desktop/sveltekit-symlinks/src/routes (main)
$ ls -l

rw-r--r-- 1 oneezy 197609 1354 Jun  1 13:00 index.svelte
+lrwxrwxrwx 1 oneezy 197609   20 Jun  1 20:45 docs -> ../../docs/

Deploying

This uses Sveltkits adapter-auto and is being deployed to Vercel but you may need to change it depending on how you want to deploy.

BUILD COMMAND

pnpm build --filter @apps/app

ROOD DIRECTORY

apps/+app

image

References

Monorepo

Docs Starters

Blog Starters

Tailwind UI

Svelte Themes

Full-Stack Sveltekit

Thanks Everyone for your contributions!

monorepo's People

Contributors

gyurielf avatar oneezy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

monorepo's Issues

vercel build error: "No output directory named public"

Not sure why but the vercel build is now breaking and live demo is not reflecting the current code base.

The error in build output:

- Error! No Output Directory named "public" found after the Build completed. You can configure the Output Directory in your Project Settings.

It finished off the error with the message:

Learn More: https://vercel.link/missing-public-directory

Apparently it doesn't like "public" so I need to investigate that.

Vercel build command:

cd ../.. && npx turbo run build --scope=site --include-dependencies --no-deps

image

here's the full build output for brevity:

[07:59:22.126] Cloning github.com/oneezy/monorepo (Branch: main, Commit: 0e610c4)
[07:59:22.552] Cloning completed: 425.746ms
[07:59:23.533] Looking up build cache...
[07:59:23.795] Build Cache not found
[07:59:24.012] Running "vercel build"
[07:59:24.502] Vercel CLI 28.0.1
[07:59:24.822] Detected `pnpm-lock.yaml` generated by pnpm 7...
[07:59:24.822] Running "install" command: `pnpm i`...
[07:59:25.356] Scope: all 10 workspace projects
[07:59:25.470] ../..                                    | Progress: resolved 1, reused 0, downloaded 0, added 0
[07:59:25.617] ../..                                    | +739 ++++++++++++++++++++++++++++++++
[07:59:26.067] Packages are hard linked from the content-addressable store to the virtual store.
[07:59:26.067]   Content-addressable store is at: /vercel/.local/share/pnpm/store/v3
[07:59:26.068]   Virtual store is at:             ../../node_modules/.pnpm
[07:59:26.475] ../..                                    | Progress: resolved 739, reused 0, downloaded 45, added 39
[07:59:27.475] ../..                                    | Progress: resolved 739, reused 0, downloaded 128, added 129
[07:59:28.476] ../..                                    | Progress: resolved 739, reused 0, downloaded 261, added 262
[07:59:29.477] ../..                                    | Progress: resolved 739, reused 0, downloaded 353, added 357
[07:59:30.478] ../..                                    | Progress: resolved 739, reused 0, downloaded 461, added 465
[07:59:31.486] ../..                                    | Progress: resolved 739, reused 0, downloaded 592, added 594
[07:59:32.487] ../..                                    | Progress: resolved 739, reused 0, downloaded 727, added 732
[07:59:33.489] ../..                                    | Progress: resolved 739, reused 0, downloaded 734, added 739, done
[07:59:33.656] .../node_modules/svelte-preprocess postinstall$ echo "[svelte-preprocess] Don't forget to install the preprocessors packages that will be used: node-sass/sass, stylus, less, postcss & postcss-load-config, coffeescript, pug, etc..."
[07:59:33.671] .../node_modules/svelte-preprocess postinstall: [svelte-preprocess] Don't forget to install the preprocessors packages that will be used: node-sass/sass, stylus, less, postcss & postcss-load-config, coffeescript, pug, etc...
[07:59:33.672] .../node_modules/svelte-preprocess postinstall: Done
[07:59:33.682] .../node_modules/svelte-preprocess postinstall$ echo "[svelte-preprocess] Don't forget to install the preprocessors packages that will be used: node-sass/sass, stylus, less, postcss & postcss-load-config, coffeescript, pug, etc..."
[07:59:33.683] .../node_modules/svelte-preprocess postinstall$ echo "[svelte-preprocess] Don't forget to install the preprocessors packages that will be used: node-sass/sass, stylus, less, postcss & postcss-load-config, coffeescript, pug, etc..."
[07:59:33.700] .../node_modules/svelte-preprocess postinstall: [svelte-preprocess] Don't forget to install the preprocessors packages that will be used: node-sass/sass, stylus, less, postcss & postcss-load-config, coffeescript, pug, etc...
[07:59:33.701] .../node_modules/svelte-preprocess postinstall: Done
[07:59:33.701] .../node_modules/svelte-preprocess postinstall: [svelte-preprocess] Don't forget to install the preprocessors packages that will be used: node-sass/sass, stylus, less, postcss & postcss-load-config, coffeescript, pug, etc...
[07:59:33.702] .../node_modules/svelte-preprocess postinstall: Done
[07:59:33.758] .../[email protected]/node_modules/esbuild postinstall$ node install.js
[07:59:33.758] .../.pnpm/[email protected]/node_modules/turbo postinstall$ node install.js
[07:59:33.836] .../[email protected]/node_modules/esbuild postinstall: Done
[07:59:33.847] .../.pnpm/[email protected]/node_modules/turbo postinstall: Done
[07:59:33.925] .../node_modules/@sveltejs/kit postinstall$ node svelte-kit.js sync
[07:59:34.001] .../node_modules/@sveltejs/kit postinstall: Missing /vercel/path0/svelte.config.js — skipping
[07:59:34.003] .../node_modules/@sveltejs/kit postinstall: Done
[07:59:34.525] 
[07:59:34.525] dependencies:
[07:59:34.526] + @packages/components 0.1.1 <- ../../packages/components
[07:59:34.526] + @packages/config 0.1.0 <- ../../packages/config
[07:59:34.526] + @packages/metadata 0.1.1 <- ../../packages/metadata
[07:59:34.526] 
[07:59:34.526] devDependencies:
[07:59:34.526] + @sveltejs/adapter-auto 1.0.0-next.64
[07:59:34.526] + @sveltejs/kit 1.0.0-next.405
[07:59:34.526] + @tailwindcss/typography 0.5.4
[07:59:34.526] + autoprefixer 10.4.8
[07:59:34.526] + eslint 7.32.0
[07:59:34.526] + eslint-config-prettier 8.5.0
[07:59:34.526] + eslint-plugin-svelte3 3.4.1
[07:59:34.527] + mdsvex 0.10.6
[07:59:34.528] + postcss 8.4.16
[07:59:34.528] + postcss-load-config 3.1.4
[07:59:34.528] + prettier 2.7.1
[07:59:34.528] + prettier-plugin-svelte 2.7.0
[07:59:34.528] + prettier-plugin-tailwindcss 0.1.13
[07:59:34.528] + svelte 3.49.0
[07:59:34.528] + svelte-accessible-accordion 2.1.0
[07:59:34.528] + svelte-check 2.8.0
[07:59:34.528] + svelte-preprocess 4.10.7
[07:59:34.528] + svrollbar 0.12.0
[07:59:34.528] + tailwindcss 3.1.8
[07:59:34.529] + vite 3.0.7
[07:59:34.529] 
[07:59:34.529] ../docs preinstall$ pnpm exec inherit -u
[07:59:34.529] ../.. preinstall$ pnpm exec inherit -u
[07:59:34.529] . preinstall$ pnpm exec inherit -u
[07:59:35.369] ../.. preinstall: Nothing needs to be updated.
[07:59:35.379] ../.. preinstall: Done
[07:59:35.380] ../.. prepare$ husky install
[07:59:35.420] ../docs preinstall: Nothing needs to be updated.
[07:59:35.434] ../docs preinstall: Done
[07:59:35.435] ../docs prepare$ svelte-kit sync
[07:59:35.472] ../.. prepare: husky - Git hooks installed
[07:59:35.475] ../.. prepare: Done
[07:59:35.524] . preinstall: Nothing needs to be updated.
[07:59:35.539] . preinstall: Done
[07:59:35.539] . prepare$ svelte-kit sync
[07:59:35.555] ../docs prepare: `svelte-kit sync` now runs on "postinstall" — please remove the "prepare" script from your package.json
[07:59:35.564] ../docs prepare: Done
[07:59:35.632] . prepare: `svelte-kit sync` now runs on "postinstall" — please remove the "prepare" script from your package.json
[07:59:35.635] . prepare: Done
[07:59:36.241] • Packages in scope: @apps/site, @packages/components, @packages/config, @packages/metadata
[07:59:36.241] • Running build in 4 packages
[07:59:36.241] • Remote computation caching enabled
[07:59:36.770] @apps/site:build: cache miss, executing 49a98bfaf1ebefcf
[07:59:37.237] @apps/site:build: 
[07:59:37.238] @apps/site:build: > @apps/[email protected] build /vercel/path0/apps/site
[07:59:37.238] @apps/site:build: > vite build
[07:59:37.238] @apps/site:build: 
[07:59:37.767] @apps/site:build: �[36mvite v3.0.7 �[32mbuilding for production...�[36m�[39m
[07:59:37.791] @apps/site:build: transforming...
[07:59:42.574] @apps/site:build: �[32m✓�[39m 80 modules transformed.
[07:59:42.680] @apps/site:build: rendering chunks...
[07:59:42.688] @apps/site:build: The emitted file "_app/immutable/assets/__error-6e692366.css" overwrites a previously emitted file of the same name.
[07:59:42.759] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[32mmanifest.json                                                           �[39m �[2m5.11 KiB�[22m
[07:59:42.763] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[36m_app/immutable/layout.svelte-c8457e33.js                                �[39m �[2m0.53 KiB / gzip: 0.35 KiB�[22m
[07:59:42.765] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[36m_app/immutable/pages/__error.svelte-b0ba7faa.js                         �[39m �[2m1.01 KiB / gzip: 0.62 KiB�[22m
[07:59:42.765] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[36m_app/immutable/pages/__layout-site.svelte-976e0503.js                   �[39m �[2m7.47 KiB / gzip: 2.44 KiB�[22m
[07:59:42.765] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[36m_app/immutable/pages/docs/__error.svelte-9d1fd950.js                    �[39m �[2m1.01 KiB / gzip: 0.62 KiB�[22m
[07:59:42.765] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[36m_app/immutable/pages/docs/__layout-docs.svelte-8a8ff74a.js              �[39m �[2m7.48 KiB / gzip: 2.44 KiB�[22m
[07:59:42.765] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[36m_app/immutable/pages/docs/[email protected]                 �[39m �[2m6.30 KiB / gzip: 2.36 KiB�[22m
[07:59:42.766] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[36m_app/immutable/start-42655908.js                                        �[39m �[2m26.72 KiB / gzip: 9.08 KiB�[22m
[07:59:42.766] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[36m_app/immutable/pages/[email protected]                      �[39m �[2m6.65 KiB / gzip: 2.51 KiB�[22m
[07:59:42.766] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[36m_app/immutable/chunks/index-092d6d0a.js                                 �[39m �[2m0.79 KiB / gzip: 0.49 KiB�[22m
[07:59:42.766] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[36m_app/immutable/chunks/Content-1e902885.js                               �[39m �[2m3.57 KiB / gzip: 1.69 KiB�[22m
[07:59:42.766] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[36m_app/immutable/chunks/index-0c5168cd.js                                 �[39m �[2m12.09 KiB / gzip: 5.06 KiB�[22m
[07:59:42.766] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[35m_app/immutable/assets/[email protected]                           �[39m �[2m0.35 KiB / gzip: 0.16 KiB�[22m
[07:59:42.767] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[35m_app/immutable/assets/[email protected]                           �[39m �[2m0.35 KiB / gzip: 0.16 KiB�[22m
[07:59:42.767] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[36m_app/immutable/chunks/Header.svelte_svelte_type_style_lang-5940fe71.js  �[39m �[2m27.31 KiB / gzip: 9.06 KiB�[22m
[07:59:42.767] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[35m_app/immutable/assets/__layout-site-2b0fdc58.css                        �[39m �[2m48.65 KiB / gzip: 6.85 KiB�[22m
[07:59:42.767] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[36m_app/immutable/chunks/global-11ccb3e0.js                                �[39m �[2m31.14 KiB / gzip: 9.62 KiB�[22m
[07:59:42.767] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[35m_app/immutable/assets/__error-6e692366.css                              �[39m �[2m0.31 KiB / gzip: 0.18 KiB�[22m
[07:59:42.767] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[35m_app/immutable/assets/Header-42a7efbb.css                               �[39m �[2m1.12 KiB / gzip: 0.40 KiB�[22m
[07:59:42.767] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[35m_app/immutable/assets/__layout-docs-7e89b0f4.css                        �[39m �[2m48.83 KiB / gzip: 6.90 KiB�[22m
[07:59:42.767] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[35m_app/immutable/assets/global-529224ed.css                               �[39m �[2m55.42 KiB / gzip: 7.94 KiB�[22m
[07:59:42.783] @apps/site:build: �[36mvite v3.0.7 �[32mbuilding SSR bundle for production...�[36m�[39m
[07:59:42.788] @apps/site:build: transforming...
[07:59:43.869] @apps/site:build: "inview" is imported from external module "svelte-inview" but never used in "../../packages/components/lib/Section/Section.svelte".
[07:59:43.869] @apps/site:build: �[32m✓�[39m 78 modules transformed.
[07:59:43.906] @apps/site:build: Generated an empty chunk: "hooks"
[07:59:43.912] @apps/site:build: The emitted file "_app/immutable/assets/__error-3a3c8c46.css" overwrites a previously emitted file of the same name.
[07:59:43.917] @apps/site:build: rendering chunks...
[07:59:43.942] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/server/�[22m�[90m�[39m�[32mmanifest.json                                                           �[39m �[2m3.45 KiB�[22m
[07:59:43.942] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/server/�[22m�[90m�[39m�[36mindex.js                                                                �[39m �[2m81.29 KiB�[22m
[07:59:43.943] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/server/�[22m�[90m�[39m�[36mentries/fallbacks/layout.svelte.js                                      �[39m �[2m0.25 KiB�[22m
[07:59:43.943] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/server/�[22m�[90m�[39m�[36mentries/pages/__error.svelte.js                                         �[39m �[2m0.80 KiB�[22m
[07:59:43.943] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/server/�[22m�[90m�[39m�[36mentries/pages/__layout-site.svelte.js                                   �[39m �[2m4.75 KiB�[22m
[07:59:43.943] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/server/�[22m�[90m�[39m�[36mentries/pages/docs/__error.svelte.js                                    �[39m �[2m0.80 KiB�[22m
[07:59:43.943] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/server/�[22m�[90m�[39m�[36mentries/pages/docs/__layout-docs.svelte.js                              �[39m �[2m4.76 KiB�[22m
[07:59:43.943] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/server/�[22m�[90m�[39m�[36mentries/pages/docs/[email protected]                                 �[39m �[2m5.01 KiB�[22m
[07:59:43.943] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/server/�[22m�[90m�[39m�[36mentries/pages/[email protected]                                      �[39m �[2m5.15 KiB�[22m
[07:59:43.943] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/server/�[22m�[90m�[39m�[36m_app/immutable/chunks/index-0eb912ed.js                                 �[39m �[2m7.96 KiB�[22m
[07:59:43.943] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/server/�[22m�[90m�[39m�[36m_app/immutable/chunks/Header.svelte_svelte_type_style_lang-ca6ea9cd.js  �[39m �[2m27.45 KiB�[22m
[07:59:43.943] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/server/�[22m�[90m�[39m�[36m_app/immutable/chunks/global-1e6ae8b4.js                                �[39m �[2m22.20 KiB�[22m
[07:59:43.943] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/server/�[22m�[90m�[39m�[36m_app/immutable/chunks/Content-0e0e39e8.js                               �[39m �[2m2.45 KiB�[22m
[07:59:43.944] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/server/�[22m�[90m�[39m�[36m_app/immutable/chunks/hooks-bced8853.js                                 �[39m �[2m0.00 KiB�[22m
[07:59:44.459] @apps/site:build: �[36mvite v3.0.7 �[32mbuilding for production...�[36m�[39m
[07:59:44.462] @apps/site:build: transforming...
[07:59:44.468] @apps/site:build: �[32m✓�[39m 2 modules transformed.
[07:59:44.476] @apps/site:build: rendering chunks...
[07:59:44.477] @apps/site:build: �[90m�[37m�[2m.svelte-kit/output/client/�[22m�[90m�[39m�[36mservice-worker.js  �[39m �[2m5.23 KiB / gzip: 1.53 KiB�[22m
[07:59:44.477] @apps/site:build: 
[07:59:44.477] @apps/site:build: Run npm run preview to preview your production build locally.
[07:59:44.508] 
[07:59:44.508]  Tasks:    1 successful, 1 total
[07:59:44.508] Cached:    0 cached, 1 total
[07:59:44.508]   Time:    8.299s 
[07:59:44.509] 
[07:59:45.372] Error! No Output Directory named "public" found after the Build completed. You can configure the Output Directory in your Project Settings.
[07:59:45.372] Learn More: https://vercel.link/missing-public-directory

error when doing PNPM i

hi,
why this error happens when doing pnpm i ?

I am just downloading your starter and doing npm i on mac, and it does not work

~/0-dev/offical/oneezy via 🤖 v20.1.0 🐏 6GiB/8GiB | 2GiB/3GiB
🕙 13:42:10 ❯ ni
Scope: all 12 workspace projects
Lockfile is up to date, resolution step is skipped
Already up to date
apps/docs preinstall$ pnpm exec inherit -u
│ Nothing needs to be updated.
└─ Done in 825ms
apps/site preinstall$ pnpm exec inherit -u
│ Nothing needs to be updated.
└─ Done in 824ms
. preinstall$ pnpm exec inherit -u
│ Nothing needs to be updated.
└─ Done in 825ms
apps/+app preinstall$ pnpm exec inherit -u
│ Nothing needs to be updated.
└─ Done in 823ms
apps/+app prepare$ svelte-kit sync
│ file:///Users/0-minuit-ax/0-dev/offical/oneezy/node_modules/.pnpm/@sveltejs[email protected][email protected]_
│ import { isCSSRequest } from 'vite';
│ ^^^^^^^^^^^^
│ SyntaxError: The requested module 'vite' does not provide an export named 'isCSSRequest'
│ at ModuleJob._instantiate (node:internal/modules/esm/module_job:122:21)
│ at async ModuleJob.run (node:internal/modules/esm/module_job:188:5)
│ Node.js v20.1.0
└─ Failed in 352ms at /Users/0-minuit-ax/0-dev/offical/oneezy/apps/+app

Prettier doesn't format svelte files

After cloning and installing, prettier didn't format svelte files inside both the app/* and packages/* folder.
js/ts files are formatted correctly.

Very disapointing

  1. Thank you for your work.
  2. Keep it up or delete it.
Scope: all 12 workspace projects
apps/+stories                            |  WARN  deprecated [email protected]
Packages: +856
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Packages are cloned from the content-addressable store to the virtual store.
  Content-addressable store is at: /home/user1/.local/share/pnpm/store/v3
  Virtual store is at:             node_modules/.pnpm
Progress: resolved 876, reused 392, downloaded 457, added 856, done
node_modules/.pnpm/[email protected]_gqx7lw3sljhsd4bstor5m2aa2u/node_modules/svelte-preprocess: Running postinstall script, done in 74ms
node_modules/.pnpm/[email protected]_wvrm32gd33klg3jid3dvetj6va/node_modules/svelte-preprocess: Running postinstall script, done in 69ms
node_modules/.pnpm/[email protected]_awginupsaj455aehf5x365sh44/node_modules/svelte-preprocess: Running postinstall script, done in 70ms
node_modules/.pnpm/[email protected]_oifjsu5oar4lzyaoppb2hxramu/node_modules/svelte-preprocess: Running postinstall script, done in 76ms
node_modules/.pnpm/[email protected]/node_modules/esbuild: Running postinstall script, done in 288ms
node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@sveltejs/kit: Running postinstall script, done in 1.2s
apps/docs preinstall$ pnpm exec inherit -u
│ Nothing needs to be updated.
└─ Done in 2.8s
apps/site preinstall$ pnpm exec inherit -u
│ Nothing needs to be updated.
└─ Done in 3.2s
. preinstall$ pnpm exec inherit -u
│ Nothing needs to be updated.
└─ Done in 2.9s
apps/+app preinstall$ pnpm exec inherit -u
│ Nothing needs to be updated.
└─ Done in 3.1s
apps/docs prepare$ svelte-kit sync
└─ Running...
. postinstall$ pnpm exec ./.sh/symlinks.sh
└─ Running...
apps/+app prepare$ svelte-kit sync
[1 lines collapsed]
│ file:///home/user/Projects/oneezy-delusion/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@sveltejs/kit/src/exports/vite/dev/index.js:6
│          ^^^^^^^^^^^^
│ SyntaxError: The requested module 'vite' does not provide an export named 'isCSSRequest'
│     at ModuleJob._instantiate (node:internal/modules/esm/module_job:123:21)
│     at async ModuleJob.run (node:internal/modules/esm/module_job:189:5)
│     at async Promise.all (index 0)
│     at async ESMLoader.import (node:internal/modules/esm/loader:530:24)
│     at async load_config (file:///home/user/Projects/oneezy-delusion/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@sveltejs/kit/src/core/config/index.js:61:17)
│     at async file:///home/user/Projects/oneezy-delusion/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@sveltejs/kit/src/cli.js:36:19
│ Node.js v18.12.1
└─ Running...
└─ Failed in 1.1s at /home/user/Projects/oneezy-delusion/apps/+app
│ file:///home/user/Projects/oneezy-delusion/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@sveltejs/kit/src/exports/vite/dev/index.js:6
│ import { isCSSRequest } from 'vite';
│          ^^^^^^^^^^^^
│ SyntaxError: The requested module 'vite' does not provide an export named 'isCSSRequest'
│     at ModuleJob._instantiate (node:internal/modules/esm/module_job:123:21)
│     at async ModuleJob.run (node:internal/modules/esm/module_job:189:5)
│     at async Promise.all (index 0)
│     at async ESMLoader.import (node:internal/modules/esm/loader:530:24)
│     at async load_config (file:///home/user/Projects/oneezy-delusion/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@sveltejs/kit/src/core/config/index.js:61:17)
│     at async file:///home/user/Projects/oneezy-delusion/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@sveltejs/kit/src/cli.js:36:19
│ Node.js v18.12.1
└─ Failed in 1.1s at /home/user/Projects/oneezy-delusion/apps/site
 ELIFECYCLE  Command failed with exit code 1.

The requested module 'vite' does not provide an export named 'isCSSRequest'

Getting following error when pnpm install

Scope: all 12 workspace projects

Lockfile is up to date, resolution step is skipped
Already up to date
apps/docs preinstall$ pnpm exec inherit -u
│ Nothing needs to be updated.
└─ Done in 507ms
apps/site preinstall$ pnpm exec inherit -u
│ Nothing needs to be updated.
└─ Done in 502ms
. preinstall$ pnpm exec inherit -u
│ Nothing needs to be updated.
└─ Done in 500ms
apps/+app preinstall$ pnpm exec inherit -u
│ Nothing needs to be updated.
└─ Done in 501ms
. postinstall$ pnpm exec ./.sh/symlinks.sh
└─ Running...
apps/+app prepare$ svelte-kit sync
│ file:///Users/weye/workspace/my-app/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@sveltejs/kit/src/exports/vite/d
│ import { isCSSRequest } from 'vite';
│          ^^^^^^^^^^^^
│ SyntaxError: The requested module 'vite' does not provide an export named 'isCSSRequest'
│     at ModuleJob._instantiate (node:internal/modules/esm/module_job:123:21)
│     at async ModuleJob.run (node:internal/modules/esm/module_job:189:5)
│     at async Promise.all (index 0)
│     at async ESMLoader.import (node:internal/modules/esm/loader:528:24)
│     at async load_config (file:///Users/weye/workspace/my-app/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@svelt
│     at async file:///Users/weye/workspace/my-app/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@sveltejs/kit/src/c
│ Node.js v18.8.0
└─ Failed in 199ms at /Users/weye/workspace/my-app/apps/+app
apps/site prepare$ svelte-kit sync
└─ Running...
apps/docs prepare$ svelte-kit sync
└─ Running...
 ELIFECYCLE  Command failed with exit code 1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.