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 ; + + return ( + + <{{capitialize sectionName}}UI + text={prepareRichTextProps(text[0])} + image={prepareImageProps(image[0])} + link={prepareLinkProps(link[0])} + /> + + ); +} diff --git a/turbo/generators/templates/storyblokSectionTypes.hbs b/turbo/generators/templates/storyblokSectionTypes.hbs new file mode 100644 index 0000000..162bef5 --- /dev/null +++ b/turbo/generators/templates/storyblokSectionTypes.hbs @@ -0,0 +1,5 @@ +import type { {{capitialize sectionName}}Storyblok } from "@/generated/extracted-types"; + +export interface I{{capitialize sectionName}}Props { + blok: {{capitialize sectionName}}Storyblok; +} diff --git a/turbo/generators/templates/uiComponent.hbs b/turbo/generators/templates/uiComponent.hbs index 9b40946..4e3155d 100644 --- a/turbo/generators/templates/uiComponent.hbs +++ b/turbo/generators/templates/uiComponent.hbs @@ -1,10 +1,7 @@ -import type { I{{ capitialize componentName }}Props } from "./types" - -export function {{ capitialize componentName }} ({ title }: I{{ capitialize componentName }}Props) { - return ( -
- new UI component: Table - title: {title || 'title not provided'} -
- ) -} +import type { I{{capitialize sectionName}}Props } from "./types" export function +{{capitialize sectionName}} +({ title }: I{{capitialize sectionName}}Props) { return ( +
+ new UI component: Table title: {title || 'title not provided'} +
+) } \ No newline at end of file diff --git a/turbo/generators/templates/uiComponentTypes.hbs b/turbo/generators/templates/uiComponentTypes.hbs index 54b24a4..5665321 100644 --- a/turbo/generators/templates/uiComponentTypes.hbs +++ b/turbo/generators/templates/uiComponentTypes.hbs @@ -1,3 +1 @@ -export interface I{{ capitialize componentName }}Props { - title: string; -} \ No newline at end of file +export interface I{{capitialize sectionName}}Props { title: string; } \ No newline at end of file