diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..52d3ef4
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1 @@
+**/*.hbs
\ No newline at end of file
diff --git a/apps/storyblok/src/constants/sbComponents.tsx b/apps/storyblok/src/constants/sbComponents.tsx
index e702d35..663dbab 100644
--- a/apps/storyblok/src/constants/sbComponents.tsx
+++ b/apps/storyblok/src/constants/sbComponents.tsx
@@ -1,3 +1,4 @@
+// start of sb components imports
import Blog from "@/contentSections/Blog";
import CardsGrid from "@/contentSections/CardsGrid";
import SimpleCarousel from "@/contentSections/carousels/SimpleCarousel";
@@ -12,7 +13,10 @@ import Footer from "@/components/Footer";
import Header from "@/components/Header";
import PageContainer from "@/components/Page";
+// end of sb components imports
+
export const COMPONENTS = {
+ // start of sb components mapping
page: PageContainer,
copy: Copy,
header: Header,
@@ -25,4 +29,5 @@ export const COMPONENTS = {
wideSimpleCarousel: WideSimpleCarousel,
hero: Hero,
pricing: Pricing,
+ // end of sb components mapping
};
diff --git a/package.json b/package.json
index 5fa609b..166dddf 100644
--- a/package.json
+++ b/package.json
@@ -37,7 +37,7 @@
"@turbo/gen": "^2.0.6",
"prettier": "^3.2.5",
"prettier-plugin-tailwindcss": "^0.5.14",
- "turbo": "^2.1.3"
+ "turbo": "^2.2.3"
},
"manypkg": {
"ignoredRules": [
diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json
index 969c1b6..ff3d8d3 100644
--- a/packages/eslint-config/package.json
+++ b/packages/eslint-config/package.json
@@ -8,8 +8,8 @@
"@typescript-eslint/eslint-plugin": "^7.10.0",
"@typescript-eslint/parser": "^7.10.0",
"eslint-config-prettier": "^9.1.0",
- "eslint-config-turbo": "^2.0.6",
- "eslint-plugin-react": "^7.34.1"
+ "eslint-plugin-react": "^7.34.1",
+ "eslint-config-turbo": "^2.2.3"
},
"publishConfig": {
"access": "public"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3badcbf..3ecdf16 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -25,7 +25,7 @@ importers:
version: link:packages/eslint-config
'@turbo/gen':
specifier: ^2.0.6
- version: 2.0.6(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5)
+ version: 2.0.6(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5)
prettier:
specifier: ^3.2.5
version: 3.3.2
@@ -33,8 +33,8 @@ importers:
specifier: ^0.5.14
version: 0.5.14(@ianvs/prettier-plugin-sort-imports@4.3.0(prettier@3.3.2))(prettier@3.3.2)
turbo:
- specifier: ^2.1.3
- version: 2.1.3
+ specifier: ^2.2.3
+ version: 2.2.3
devDependencies:
dotenv:
specifier: ^16.4.5
@@ -74,7 +74,7 @@ importers:
version: link:../../packages/ui
'@tailwindcss/typography':
specifier: ^0.5.10
- version: 0.5.13(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5)))
+ version: 0.5.13(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5)))
'@tinloof/sanity-studio':
specifier: ^1.3.2
version: 1.3.2(@sanity/client@6.21.1)(@sanity/mutator@3.52.4)(@types/node@22.0.2)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-fast-compare@3.2.2)(react-is@18.3.1)(react@18.3.1)(rxjs@7.8.1)(sanity@3.52.4(@types/node@22.0.2)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.34.0))(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.34.0)
@@ -132,7 +132,7 @@ importers:
version: 3.3.2
tailwindcss:
specifier: ^3.4.3
- version: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5))
+ version: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5))
typescript:
specifier: 5.4.5
version: 5.4.5
@@ -169,7 +169,7 @@ importers:
version: link:../../packages/ts-config
'@tailwindcss/typography':
specifier: ^0.5.10
- version: 0.5.13(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@20.14.10)(typescript@5.4.5)))
+ version: 0.5.13(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@20.14.10)(typescript@5.4.5)))
'@types/node':
specifier: ^20
version: 20.14.10
@@ -205,7 +205,7 @@ importers:
version: 0.3.0
tailwindcss:
specifier: ^3.4.3
- version: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@20.14.10)(typescript@5.4.5))
+ version: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@20.14.10)(typescript@5.4.5))
typescript:
specifier: 5.4.5
version: 5.4.5
@@ -225,27 +225,27 @@ importers:
specifier: ^9.1.0
version: 9.1.0(eslint@8.57.0)
eslint-config-turbo:
- specifier: ^2.0.6
- version: 2.0.6(eslint@8.57.0)
+ specifier: ^2.2.3
+ version: 2.2.3(eslint@8.57.0)
eslint-plugin-react:
specifier: ^7.34.1
version: 7.34.3(eslint@8.57.0)
devDependencies:
eslint-plugin-tailwindcss:
specifier: ^3.17.4
- version: 3.17.4(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5)))
+ version: 3.17.4(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5)))
packages/tailwind-config:
dependencies:
'@tailwindcss/typography':
specifier: ^0.5.10
- version: 0.5.13(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5)))
+ version: 0.5.13(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5)))
tailwindcss:
specifier: ^3.4.3
- version: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5))
+ version: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5))
tailwindcss-animate:
specifier: ^1.0.7
- version: 1.0.7(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5)))
+ version: 1.0.7(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5)))
devDependencies:
'@shared/ts-config':
specifier: workspace:*
@@ -314,7 +314,7 @@ importers:
version: 1.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next:
specifier: ^14.1.0
- version: 14.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ version: 14.1.0(@babel/core@7.24.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-hook-form:
specifier: ^7.51.5
version: 7.52.1(react@18.3.1)
@@ -326,7 +326,7 @@ importers:
version: 2.4.0
tailwindcss-animate:
specifier: ^1.0.7
- version: 1.0.7(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5)))
+ version: 1.0.7(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5)))
devDependencies:
'@shared/eslint-config':
specifier: workspace:*
@@ -354,7 +354,7 @@ importers:
version: 18.3.1(react@18.3.1)
tailwindcss:
specifier: ^3.4.3
- version: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5))
+ version: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5))
typescript:
specifier: 5.4.5
version: 5.4.5
@@ -4359,8 +4359,8 @@ packages:
peerDependencies:
eslint: '>=7.0.0'
- eslint-config-turbo@2.0.6:
- resolution: {integrity: sha512-PkRjFnZUZWPcrYT4Xoi5OWOUtnn6xVGh88I6TsayiH4AQZuLs/MDmzfJRK+PiWIrI7Q7sbsVEQP+nUyyRE3uAw==}
+ eslint-config-turbo@2.2.3:
+ resolution: {integrity: sha512-/zwNU+G2w0HszXzWILdl6/Catt86ejUG7vsFSdpnFzFAAUbbT2TxgoCFvC1fKtm6+SkQsXwkRRe9tFz0aMftpg==}
peerDependencies:
eslint: '>6.6.0'
@@ -4429,8 +4429,8 @@ packages:
peerDependencies:
tailwindcss: ^3.4.0
- eslint-plugin-turbo@2.0.6:
- resolution: {integrity: sha512-yGnpMvyBxI09ZrF5bGpaniBz57MiExTCsRnNxP+JnbMFD+xU3jG3ukRzehVol8LYNdC/G7E4HoH+x7OEpoSGAQ==}
+ eslint-plugin-turbo@2.2.3:
+ resolution: {integrity: sha512-LHt35VwxthdGVO6hQRfvmFb6ee8/exAzAYWCy4o87Bnp7urltP8qg7xMd4dPSLAhtfnI2xSo1WgeVaR3MeItxw==}
peerDependencies:
eslint: '>6.6.0'
@@ -7389,38 +7389,38 @@ packages:
tunnel-agent@0.6.0:
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
- turbo-darwin-64@2.1.3:
- resolution: {integrity: sha512-ouJOm0g0YyoBuhmikEujVCBGo3Zr0lbSOWFIsQtWUTItC88F2w2byhjtsYGPXQwMlTbXwmoBU2lOCfWNkeEwHQ==}
+ turbo-darwin-64@2.2.3:
+ resolution: {integrity: sha512-Rcm10CuMKQGcdIBS3R/9PMeuYnv6beYIHqfZFeKWVYEWH69sauj4INs83zKMTUiZJ3/hWGZ4jet9AOwhsssLyg==}
cpu: [x64]
os: [darwin]
- turbo-darwin-arm64@2.1.3:
- resolution: {integrity: sha512-j2FOJsK4LAOtHQlb3Oom0yWB/Vi0nF1ljInr311mVzHoFAJRZtfW2fRvdZRb/lBUwjSp8be58qWHzANIcrA0OA==}
+ turbo-darwin-arm64@2.2.3:
+ resolution: {integrity: sha512-+EIMHkuLFqUdJYsA3roj66t9+9IciCajgj+DVek+QezEdOJKcRxlvDOS2BUaeN8kEzVSsNiAGnoysFWYw4K0HA==}
cpu: [arm64]
os: [darwin]
- turbo-linux-64@2.1.3:
- resolution: {integrity: sha512-ubRHkI1gSel7H7wsmxKK8C9UlLWqg/2dkCC88LFupaK6TKgvBKqDqA0Z1M9C/escK0Jsle2k0H8bybV9OYIl4Q==}
+ turbo-linux-64@2.2.3:
+ resolution: {integrity: sha512-UBhJCYnqtaeOBQLmLo8BAisWbc9v9daL9G8upLR+XGj6vuN/Nz6qUAhverN4Pyej1g4Nt1BhROnj6GLOPYyqxQ==}
cpu: [x64]
os: [linux]
- turbo-linux-arm64@2.1.3:
- resolution: {integrity: sha512-LffUL+e5wv7BtD6DgnM2kKOlDkMo2eRjhbAjVnrCD3wi2ug0tl6NDzajnHHjtaMyOnIf4AvzSKdLWsBxafGBQA==}
+ turbo-linux-arm64@2.2.3:
+ resolution: {integrity: sha512-hJYT9dN06XCQ3jBka/EWvvAETnHRs3xuO/rb5bESmDfG+d9yQjeTMlhRXKrr4eyIMt6cLDt1LBfyi+6CQ+VAwQ==}
cpu: [arm64]
os: [linux]
- turbo-windows-64@2.1.3:
- resolution: {integrity: sha512-S9SvcZZoaq5jKr6kA6eF7/xgQhVn8Vh7PVy5lono9zybvhyL4eY++y2PaLToIgL8G9IcbLmgOC73ExNjFBg9XQ==}
+ turbo-windows-64@2.2.3:
+ resolution: {integrity: sha512-NPrjacrZypMBF31b4HE4ROg4P3nhMBPHKS5WTpMwf7wydZ8uvdEHpESVNMOtqhlp857zbnKYgP+yJF30H3N2dQ==}
cpu: [x64]
os: [win32]
- turbo-windows-arm64@2.1.3:
- resolution: {integrity: sha512-twlEo8lRrGbrR6T/ZklUIquW3IlFCEtywklgVA81aIrSBm56+GEVpSrHhIlsx1hiYeSNrs+GpDwZGe+V7fvEVQ==}
+ turbo-windows-arm64@2.2.3:
+ resolution: {integrity: sha512-fnNrYBCqn6zgKPKLHu4sOkihBI/+0oYFr075duRxqUZ+1aLWTAGfHZLgjVeLh3zR37CVzuerGIPWAEkNhkWEIw==}
cpu: [arm64]
os: [win32]
- turbo@2.1.3:
- resolution: {integrity: sha512-lY0yj2GH2a2a3NExZ3rGe+rHUVeFE2aXuRAue57n+08E7Z7N7YCmynju0kPC1grAQzERmoLpKrmzmWd+PNiADw==}
+ turbo@2.2.3:
+ resolution: {integrity: sha512-5lDvSqIxCYJ/BAd6rQGK/AzFRhBkbu4JHVMLmGh/hCb7U3CqSnr5Tjwfy9vc+/5wG2DJ6wttgAaA7MoCgvBKZQ==}
hasBin: true
type-check@0.4.0:
@@ -10703,7 +10703,7 @@ snapshots:
'@swc/core-win32-x64-msvc@1.7.28':
optional: true
- '@swc/core@1.7.28(@swc/helpers@0.5.5)':
+ '@swc/core@1.7.28':
dependencies:
'@swc/counter': 0.1.3
'@swc/types': 0.1.12
@@ -10718,7 +10718,6 @@ snapshots:
'@swc/core-win32-arm64-msvc': 1.7.28
'@swc/core-win32-ia32-msvc': 1.7.28
'@swc/core-win32-x64-msvc': 1.7.28
- '@swc/helpers': 0.5.5
optional: true
'@swc/counter@0.1.3': {}
@@ -10745,21 +10744,21 @@ snapshots:
dependencies:
defer-to-connect: 2.0.1
- '@tailwindcss/typography@0.5.13(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@20.14.10)(typescript@5.4.5)))':
+ '@tailwindcss/typography@0.5.13(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@20.14.10)(typescript@5.4.5)))':
dependencies:
lodash.castarray: 4.4.0
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
postcss-selector-parser: 6.0.10
- tailwindcss: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@20.14.10)(typescript@5.4.5))
+ tailwindcss: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@20.14.10)(typescript@5.4.5))
- '@tailwindcss/typography@0.5.13(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5)))':
+ '@tailwindcss/typography@0.5.13(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5)))':
dependencies:
lodash.castarray: 4.4.0
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
postcss-selector-parser: 6.0.10
- tailwindcss: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5))
+ tailwindcss: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5))
'@tanstack/react-table@8.19.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
@@ -10860,7 +10859,7 @@ snapshots:
'@tsconfig/node16@1.0.4': {}
- '@turbo/gen@2.0.6(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5)':
+ '@turbo/gen@2.0.6(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5)':
dependencies:
'@turbo/workspaces': 2.0.6
chalk: 2.4.2
@@ -10870,7 +10869,7 @@ snapshots:
minimatch: 9.0.5
node-plop: 0.26.3
proxy-agent: 6.4.0
- ts-node: 10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5)
+ ts-node: 10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5)
update-check: 1.5.4
validate-npm-package-name: 5.0.1
transitivePeerDependencies:
@@ -12659,7 +12658,7 @@ snapshots:
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0)
- eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0)
eslint-plugin-jsx-a11y: 6.9.0(eslint@8.57.0)
eslint-plugin-react: 7.34.3(eslint@8.57.0)
eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0)
@@ -12673,10 +12672,10 @@ snapshots:
dependencies:
eslint: 8.57.0
- eslint-config-turbo@2.0.6(eslint@8.57.0):
+ eslint-config-turbo@2.2.3(eslint@8.57.0):
dependencies:
eslint: 8.57.0
- eslint-plugin-turbo: 2.0.6(eslint@8.57.0)
+ eslint-plugin-turbo: 2.2.3(eslint@8.57.0)
eslint-import-resolver-node@0.3.9:
dependencies:
@@ -12692,7 +12691,7 @@ snapshots:
enhanced-resolve: 5.17.0
eslint: 8.57.0
eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0)
- eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0)
fast-glob: 3.3.2
get-tsconfig: 4.7.5
is-core-module: 2.14.0
@@ -12714,7 +12713,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
+ eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0):
dependencies:
array-includes: 3.1.8
array.prototype.findlastindex: 1.2.5
@@ -12787,13 +12786,13 @@ snapshots:
semver: 6.3.1
string.prototype.matchall: 4.0.11
- eslint-plugin-tailwindcss@3.17.4(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5))):
+ eslint-plugin-tailwindcss@3.17.4(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5))):
dependencies:
fast-glob: 3.3.2
postcss: 8.4.39
- tailwindcss: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5))
+ tailwindcss: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5))
- eslint-plugin-turbo@2.0.6(eslint@8.57.0):
+ eslint-plugin-turbo@2.2.3(eslint@8.57.0):
dependencies:
dotenv: 16.0.3
eslint: 8.57.0
@@ -14283,7 +14282,7 @@ snapshots:
next-tick@1.1.0: {}
- next@14.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ next@14.1.0(@babel/core@7.24.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@next/env': 14.1.0
'@swc/helpers': 0.5.2
@@ -14293,7 +14292,7 @@ snapshots:
postcss: 8.4.31
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- styled-jsx: 5.1.1(react@18.3.1)
+ styled-jsx: 5.1.1(@babel/core@7.24.7)(react@18.3.1)
optionalDependencies:
'@next/swc-darwin-arm64': 14.1.0
'@next/swc-darwin-x64': 14.1.0
@@ -14762,21 +14761,21 @@ snapshots:
camelcase-css: 2.0.1
postcss: 8.4.39
- postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@20.14.10)(typescript@5.4.5)):
+ postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@20.14.10)(typescript@5.4.5)):
dependencies:
lilconfig: 3.1.2
yaml: 2.4.5
optionalDependencies:
postcss: 8.4.39
- ts-node: 10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@20.14.10)(typescript@5.4.5)
+ ts-node: 10.9.2(@swc/core@1.7.28)(@types/node@20.14.10)(typescript@5.4.5)
- postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5)):
+ postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5)):
dependencies:
lilconfig: 3.1.2
yaml: 2.4.5
optionalDependencies:
postcss: 8.4.39
- ts-node: 10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5)
+ ts-node: 10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5)
postcss-nested@6.0.1(postcss@8.4.39):
dependencies:
@@ -15818,11 +15817,6 @@ snapshots:
optionalDependencies:
'@babel/core': 7.24.7
- styled-jsx@5.1.1(react@18.3.1):
- dependencies:
- client-only: 0.0.1
- react: 18.3.1
-
stylis@4.3.2: {}
sucrase@3.35.0:
@@ -15860,11 +15854,11 @@ snapshots:
tailwind-merge@2.4.0: {}
- tailwindcss-animate@1.0.7(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5))):
+ tailwindcss-animate@1.0.7(tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5))):
dependencies:
- tailwindcss: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5))
+ tailwindcss: 3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5))
- tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@20.14.10)(typescript@5.4.5)):
+ tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@20.14.10)(typescript@5.4.5)):
dependencies:
'@alloc/quick-lru': 5.2.0
arg: 5.0.2
@@ -15883,7 +15877,7 @@ snapshots:
postcss: 8.4.39
postcss-import: 15.1.0(postcss@8.4.39)
postcss-js: 4.0.1(postcss@8.4.39)
- postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@20.14.10)(typescript@5.4.5))
+ postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@20.14.10)(typescript@5.4.5))
postcss-nested: 6.0.1(postcss@8.4.39)
postcss-selector-parser: 6.1.0
resolve: 1.22.8
@@ -15891,7 +15885,7 @@ snapshots:
transitivePeerDependencies:
- ts-node
- tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5)):
+ tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5)):
dependencies:
'@alloc/quick-lru': 5.2.0
arg: 5.0.2
@@ -15910,7 +15904,7 @@ snapshots:
postcss: 8.4.39
postcss-import: 15.1.0(postcss@8.4.39)
postcss-js: 4.0.1(postcss@8.4.39)
- postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5))
+ postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5))
postcss-nested: 6.0.1(postcss@8.4.39)
postcss-selector-parser: 6.1.0
resolve: 1.22.8
@@ -16052,7 +16046,7 @@ snapshots:
ts-interface-checker@0.1.13: {}
- ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@20.14.10)(typescript@5.4.5):
+ ts-node@10.9.2(@swc/core@1.7.28)(@types/node@20.14.10)(typescript@5.4.5):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
@@ -16070,10 +16064,10 @@ snapshots:
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
optionalDependencies:
- '@swc/core': 1.7.28(@swc/helpers@0.5.5)
+ '@swc/core': 1.7.28
optional: true
- ts-node@10.9.2(@swc/core@1.7.28(@swc/helpers@0.5.5))(@types/node@22.0.2)(typescript@5.4.5):
+ ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.0.2)(typescript@5.4.5):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
@@ -16091,7 +16085,7 @@ snapshots:
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
optionalDependencies:
- '@swc/core': 1.7.28(@swc/helpers@0.5.5)
+ '@swc/core': 1.7.28
tsconfig-paths@3.15.0:
dependencies:
@@ -16116,32 +16110,32 @@ snapshots:
dependencies:
safe-buffer: 5.2.1
- turbo-darwin-64@2.1.3:
+ turbo-darwin-64@2.2.3:
optional: true
- turbo-darwin-arm64@2.1.3:
+ turbo-darwin-arm64@2.2.3:
optional: true
- turbo-linux-64@2.1.3:
+ turbo-linux-64@2.2.3:
optional: true
- turbo-linux-arm64@2.1.3:
+ turbo-linux-arm64@2.2.3:
optional: true
- turbo-windows-64@2.1.3:
+ turbo-windows-64@2.2.3:
optional: true
- turbo-windows-arm64@2.1.3:
+ turbo-windows-arm64@2.2.3:
optional: true
- turbo@2.1.3:
+ turbo@2.2.3:
optionalDependencies:
- turbo-darwin-64: 2.1.3
- turbo-darwin-arm64: 2.1.3
- turbo-linux-64: 2.1.3
- turbo-linux-arm64: 2.1.3
- turbo-windows-64: 2.1.3
- turbo-windows-arm64: 2.1.3
+ turbo-darwin-64: 2.2.3
+ turbo-darwin-arm64: 2.2.3
+ turbo-linux-64: 2.2.3
+ turbo-linux-arm64: 2.2.3
+ turbo-windows-64: 2.2.3
+ turbo-windows-arm64: 2.2.3
type-check@0.4.0:
dependencies:
diff --git a/prettier.config.js b/prettier.config.js
index 53af116..484e1ab 100644
--- a/prettier.config.js
+++ b/prettier.config.js
@@ -37,4 +37,4 @@ module.exports = {
"prettier-plugin-tailwindcss",
],
tailwindConfig: "./packages/ui/tailwind.config.ts",
-}
+};
diff --git a/turbo.json b/turbo.json
index 7079405..86e1a44 100644
--- a/turbo.json
+++ b/turbo.json
@@ -14,12 +14,7 @@
"build": {
"cache": false,
"dependsOn": ["^build"],
- "outputs": [
- ".next/**",
- "!.next/cache/**",
- "dist/**",
- "storybook-static/**"
- ]
+ "outputs": [".next/**", "!.next/cache/**", "dist/**"]
},
"start": {
"dependsOn": ["^build"]
@@ -33,10 +28,6 @@
"dev:turbo": {
"cache": false,
"persistent": true
- },
- "proxy": {
- "cache": false,
- "persistent": true
}
}
}
diff --git a/turbo/generators/config.ts b/turbo/generators/config.ts
index 8a803a7..6e58f98 100644
--- a/turbo/generators/config.ts
+++ b/turbo/generators/config.ts
@@ -1,70 +1,86 @@
import type { PlopTypes } from "@turbo/gen";
+const componentNamePrompt = {
+ type: "input",
+ name: "sectionName",
+ message: "What is the name of the new section?",
+ validate: (input: string) => {
+ if (!input) {
+ return "section name is required";
+ }
+
+ if (input.split(" ").length > 1) {
+ return "section name should be a single word";
+ }
+
+ return true;
+ },
+};
+
export default function generator(plop: PlopTypes.NodePlopAPI): void {
plop.setHelper("capitialize", (str: string) => {
return str.charAt(0).toUpperCase() + str.slice(1);
});
+ plop.setHelper("lowercase", (str: string) => {
+ return str.toLowerCase();
+ });
+
plop.setGenerator("UI", {
description: "Create a new UI component",
- prompts: [
- {
- type: "input",
- name: "componentName",
- message: "What is the name of the new component?",
- validate: (input: string) => {
- if (!input) {
- return "component name is required";
- }
-
- if (input.split(" ").length > 1) {
- return "component name should be a single word";
- }
-
- return true;
- },
- },
- ],
+ prompts: [componentNamePrompt],
actions: [
{
type: "add",
- path: "{{ turbo.paths.root }}/packages/ui/components/ui/{{ componentName }}/index.tsx",
+ path: "{{ turbo.paths.root }}/packages/ui/components/ui/{{ capitialize sectionName }}/index.tsx",
templateFile: "templates/uiComponent.hbs",
},
{
type: "add",
- path: "{{ turbo.paths.root }}/packages/ui/components/ui/{{ componentName }}/types.ts",
+ path: "{{ turbo.paths.root }}/packages/ui/components/ui/{{ capitialize sectionName }}/types.ts",
templateFile: "templates/uiComponentTypes.hbs",
},
{
type: "modify",
path: "{{ turbo.paths.root }}/packages/ui/index.tsx",
pattern: /(\/\/ end component exports)/g,
- template: `export * from "./components/ui/{{ componentName }}"\n$1`,
+ template: `export * from "./components/ui/{{ capitialize sectionName }}"\n$1`,
},
],
});
- plop.setGenerator("Sanity", {
+ plop.setGenerator("Storyblok", {
description: "Create a new content section",
- prompts: [
- {
- type: "input",
- name: "sectionName",
- message: "What is the name of the new section?",
- validate: (input: string) => {
- if (!input) {
- return "section name is required";
- }
-
- if (input.split(" ").length > 1) {
- return "section name should be a single word";
- }
-
- return true;
- },
+ prompts: [componentNamePrompt],
+ actions: [
+ {
+ type: "add",
+ path: "{{ turbo.paths.root }}/apps/storyblok/src/contentSections/{{ capitialize sectionName }}/index.tsx",
+ templateFile: "templates/storyblokSection.hbs",
+ },
+ {
+ type: "add",
+ path: "{{ turbo.paths.root }}/apps/storyblok/src/contentSections/{{ capitialize sectionName }}/types.ts",
+ templateFile: "templates/storyblokSectionTypes.hbs",
+ },
+ {
+ type: "modify",
+ path: "{{ turbo.paths.root }}/apps/storyblok/src/constants/sbComponents.tsx",
+ pattern: /(\/\/ end of sb components imports)/g,
+ template: `import {{ capitialize sectionName }} from '@/contentSections/{{ capitialize sectionName }}'\n$1`,
+ },
+ {
+ type: "modify",
+ path: "{{ turbo.paths.root }}/apps/storyblok/src/constants/sbComponents.tsx",
+ pattern: /(\/\/ end of sb components mapping)/g,
+ template: ` {{ lowercase sectionName }}: {{ capitialize sectionName }},\n$1`,
},
],
+ });
+
+ plop.setGenerator("Sanity", {
+ description: "Create a new content section",
+ prompts: [componentNamePrompt],
actions: [
{
type: "add",
diff --git a/turbo/generators/templates/sanitySectionTypes.hbs b/turbo/generators/templates/sanitySectionTypes.hbs
index 09a45c8..7ac4a78 100644
--- a/turbo/generators/templates/sanitySectionTypes.hbs
+++ b/turbo/generators/templates/sanitySectionTypes.hbs
@@ -1,8 +1,7 @@
-export interface I{{ capitialize sectionName }} {
- _key: string;
- title: string;
-}
+import type { Section{{ capitialize sectionName }} } from "@/generated/extracted-types";
-export interface I{{ capitialize sectionName }}SectionProps {
- data: I{{ capitialize sectionName }}
+export interface I{{ capitialize sectionName }}Props {
+ data: Section{{ capitialize sectionName }} & {
+ _key: string;
+ };
}
diff --git a/turbo/generators/templates/storyblokSection.hbs b/turbo/generators/templates/storyblokSection.hbs
new file mode 100644
index 0000000..5c39ccb
--- /dev/null
+++ b/turbo/generators/templates/storyblokSection.hbs
@@ -0,0 +1,27 @@
+import EmptyBlock from "@shared/ui/components/EmptyBlock";
+
+import { {{capitialize sectionName}} as {{capitialize sectionName}}UI } from "@shared/ui";
+
+import { prepareImageProps } from "@/lib/adapters/prepareImageProps";
+import { prepareLinkProps } from "@/lib/adapters/prepareLinkProps";
+import { prepareRichTextProps } from "@/lib/adapters/prepareRichTextProps";
+import SectionContainer from "@/components/SectionContainer";
+
+import type { I{{capitialize sectionName}}Props } from "./types";
+
+export default function {{capitialize sectionName}}({ blok }: I{{capitialize sectionName}}Props) {
+ const { text, image, link } = blok;
+
+ if (text.length === 0 && image.length === 0 && link.length === 0)
+ return