kofi-stack-template-generator 2.0.14 → 2.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +5 -5
- package/dist/index.js +33 -4
- package/package.json +1 -1
- package/src/generator.ts +32 -3
- package/src/templates.generated.ts +2 -2
- package/templates/monorepo/package.json.hbs +1 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> kofi-stack-template-generator@2.0.
|
|
2
|
+
> kofi-stack-template-generator@2.0.16 build /Users/theodenanyoh/Documents/Krumalabs/create-kofi-stack-v2/packages/template-generator
|
|
3
3
|
> pnpm run prebuild && tsup src/index.ts --format esm --dts
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> kofi-stack-template-generator@2.0.
|
|
6
|
+
> kofi-stack-template-generator@2.0.16 prebuild /Users/theodenanyoh/Documents/Krumalabs/create-kofi-stack-v2/packages/template-generator
|
|
7
7
|
> node scripts/generate-templates.js
|
|
8
8
|
|
|
9
9
|
Generating templates.generated.ts...
|
|
@@ -13,8 +13,8 @@ CLI Using tsconfig: tsconfig.json
|
|
|
13
13
|
CLI tsup v8.5.1
|
|
14
14
|
CLI Target: es2022
|
|
15
15
|
ESM Build start
|
|
16
|
-
ESM dist/index.js
|
|
17
|
-
ESM ⚡️ Build success in
|
|
16
|
+
ESM dist/index.js 76.64 KB
|
|
17
|
+
ESM ⚡️ Build success in 15ms
|
|
18
18
|
DTS Build start
|
|
19
|
-
DTS ⚡️ Build success in
|
|
19
|
+
DTS ⚡️ Build success in 467ms
|
|
20
20
|
DTS dist/index.d.ts 2.96 KB
|
package/dist/index.js
CHANGED
|
@@ -565,7 +565,7 @@ export default function RootLayout({
|
|
|
565
565
|
"marketing/payload/src/globals/index.ts.hbs": "export { SiteSettings } from './SiteSettings'\nexport { Navigation } from './Navigation'\n",
|
|
566
566
|
"marketing/payload/src/payload.config.ts.hbs": "import path from 'path'\nimport { fileURLToPath } from 'url'\nimport { buildConfig } from 'payload'\nimport { postgresAdapter } from '@payloadcms/db-postgres'\nimport { lexicalEditor } from '@payloadcms/richtext-lexical'\nimport { s3Storage } from '@payloadcms/storage-s3'\nimport { seoPlugin } from '@payloadcms/plugin-seo'\n\nimport { Pages } from './collections/Pages'\nimport { Media } from './collections/Media'\nimport { Users } from './collections/Users'\nimport { Posts } from './collections/Posts'\nimport { SiteSettings } from './globals/SiteSettings'\nimport { Navigation } from './globals/Navigation'\n\nconst __filename = fileURLToPath(import.meta.url)\nconst __dirname = path.dirname(__filename)\n\nexport default buildConfig({\n admin: {\n user: Users.slug,\n importMap: {\n baseDir: path.resolve(__dirname),\n },\n },\n db: postgresAdapter({\n pool: {\n connectionString: process.env.DATABASE_URL,\n },\n }),\n editor: lexicalEditor(),\n collections: [Users, Media, Pages, Posts],\n globals: [SiteSettings, Navigation],\n plugins: [\n s3Storage({\n collections: {\n media: true,\n },\n bucket: process.env.S3_BUCKET!,\n config: {\n credentials: {\n accessKeyId: process.env.S3_ACCESS_KEY_ID!,\n secretAccessKey: process.env.S3_SECRET_ACCESS_KEY!,\n },\n region: process.env.S3_REGION!,\n endpoint: process.env.S3_ENDPOINT!,\n forcePathStyle: true,\n },\n }),\n seoPlugin({\n collections: ['pages', 'posts'],\n uploadsCollection: 'media',\n generateTitle: ({ doc }) => `${doc?.title ?? ''} | {{projectName}}`,\n generateDescription: ({ doc }) => doc?.excerpt ?? '',\n }),\n ],\n secret: process.env.PAYLOAD_SECRET!,\n typescript: {\n outputFile: path.resolve(__dirname, 'payload-types.ts'),\n },\n})\n",
|
|
567
567
|
"marketing/payload/tsconfig.json.hbs": '{\n "compilerOptions": {\n "target": "ES2017",\n "lib": ["dom", "dom.iterable", "esnext"],\n "allowJs": true,\n "skipLibCheck": true,\n "strict": true,\n "noEmit": true,\n "esModuleInterop": true,\n "module": "esnext",\n "moduleResolution": "bundler",\n "resolveJsonModule": true,\n "isolatedModules": true,\n "jsx": "react-jsx",\n "incremental": true,\n "plugins": [{ "name": "next" }],\n "paths": {\n "@/*": ["./src/*"]\n }\n },\n "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", ".next/dev/types/**/*.ts"],\n "exclude": ["node_modules"]\n}\n',
|
|
568
|
-
"monorepo/package.json.hbs": '{\n "name": "{{projectName}}",\n "version": "0.1.0",\n "private": true,\n "scripts": {\n "dev": "node scripts/dev.mjs",\n "dev:all": "turbo dev",\n "dev:web": "turbo -F @repo/web dev",\n "dev:backend": "turbo -F @repo/backend dev",\n "dev:setup": "turbo -F @repo/backend dev:setup
|
|
568
|
+
"monorepo/package.json.hbs": '{\n "name": "{{projectName}}",\n "version": "0.1.0",\n "private": true,\n "scripts": {\n "dev": "node scripts/dev.mjs",\n "dev:all": "turbo dev",\n "dev:web": "turbo -F @repo/web dev",\n "dev:backend": "turbo -F @repo/backend dev",\n "dev:setup": "turbo -F @repo/backend dev:setup",\n "build": "turbo build",\n "lint": "turbo lint",\n "lint:fix": "turbo lint:fix",\n "format": "turbo format",\n "typecheck": "turbo typecheck",\n "test": "turbo test",\n "test:e2e": "turbo test:e2e",\n "clean": "turbo clean && rm -rf node_modules",\n "prepare": "husky"\n },\n "devDependencies": {\n "turbo": "^2.0.0",\n "husky": "^9.0.0",\n "lint-staged": "^15.0.0"\n },\n "packageManager": "pnpm@9.0.0",\n "lint-staged": {\n "*.{js,ts,jsx,tsx}": ["biome check --apply"],\n "*.{json,md}": ["biome format --write"]\n }\n}\n',
|
|
569
569
|
"monorepo/pnpm-workspace.yaml.hbs": 'packages:\n - "apps/*"\n - "packages/*"\n',
|
|
570
570
|
"monorepo/turbo.json.hbs": '{\n "$schema": "https://turbo.build/schema.json",\n "ui": "tui",\n "tasks": {\n "build": {\n "dependsOn": ["^build"],\n "inputs": ["$TURBO_DEFAULT$", ".env*"],\n "outputs": [".next/**", "!.next/cache/**", "dist/**"]\n },\n "lint": {\n "dependsOn": ["^lint"],\n "inputs": ["$TURBO_DEFAULT$"]\n },\n "lint:fix": {\n "dependsOn": ["^lint:fix"],\n "inputs": ["$TURBO_DEFAULT$"]\n },\n "format": {\n "dependsOn": ["^format"],\n "inputs": ["$TURBO_DEFAULT$"]\n },\n "typecheck": {\n "dependsOn": ["^typecheck"],\n "inputs": ["$TURBO_DEFAULT$"]\n },\n "dev": {\n "cache": false,\n "persistent": true\n },\n "dev:setup": {\n "cache": false,\n "interactive": true\n },\n "test": {\n "dependsOn": ["^build"],\n "inputs": ["$TURBO_DEFAULT$"]\n },\n "test:e2e": {\n "dependsOn": ["build"],\n "inputs": ["$TURBO_DEFAULT$"]\n },\n "clean": {\n "cache": false\n }\n }\n}\n',
|
|
571
571
|
"packages/config-biome/biome.json.hbs": '{\n "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",\n "extends": ["../../biome.json"]\n}\n',
|
|
@@ -843,19 +843,21 @@ async function postProcess(vfs, config) {
|
|
|
843
843
|
function generateDevScript(vfs, scriptsPath, config) {
|
|
844
844
|
const isMonorepo = config.structure === "monorepo";
|
|
845
845
|
const webAppDir = isMonorepo ? "apps/web" : ".";
|
|
846
|
+
const backendDir = isMonorepo ? "packages/backend" : ".";
|
|
846
847
|
const devScript = `#!/usr/bin/env node
|
|
847
848
|
/**
|
|
848
849
|
* Dev Script - Starts Next.js and Convex dev servers
|
|
849
850
|
*/
|
|
850
851
|
|
|
851
852
|
import { spawn, execSync } from 'child_process'
|
|
852
|
-
import { existsSync, readFileSync } from 'fs'
|
|
853
|
+
import { existsSync, readFileSync, writeFileSync } from 'fs'
|
|
853
854
|
import { resolve, dirname } from 'path'
|
|
854
855
|
import { fileURLToPath } from 'url'
|
|
855
856
|
|
|
856
857
|
const __dirname = dirname(fileURLToPath(import.meta.url))
|
|
857
858
|
const rootDir = resolve(__dirname, '..')
|
|
858
859
|
const webAppDir = resolve(rootDir, '${webAppDir}')
|
|
860
|
+
const backendDir = resolve(rootDir, '${backendDir}')
|
|
859
861
|
|
|
860
862
|
function loadEnvFile(dir) {
|
|
861
863
|
const envPath = resolve(dir, '.env.local')
|
|
@@ -880,6 +882,33 @@ function loadEnvFile(dir) {
|
|
|
880
882
|
return env
|
|
881
883
|
}
|
|
882
884
|
|
|
885
|
+
function syncEnvToWebApp() {
|
|
886
|
+
// In monorepo, Convex creates .env.local in backend package
|
|
887
|
+
// Web app needs NEXT_PUBLIC_CONVEX_URL to connect to Convex
|
|
888
|
+
const backendEnv = loadEnvFile(backendDir)
|
|
889
|
+
const webEnvPath = resolve(webAppDir, '.env.local')
|
|
890
|
+
|
|
891
|
+
if (backendEnv.NEXT_PUBLIC_CONVEX_URL) {
|
|
892
|
+
const webEnv = loadEnvFile(webAppDir)
|
|
893
|
+
|
|
894
|
+
// Only sync if web app doesn't have the URL or it's different
|
|
895
|
+
if (webEnv.NEXT_PUBLIC_CONVEX_URL !== backendEnv.NEXT_PUBLIC_CONVEX_URL) {
|
|
896
|
+
let content = ''
|
|
897
|
+
if (existsSync(webEnvPath)) {
|
|
898
|
+
content = readFileSync(webEnvPath, 'utf-8')
|
|
899
|
+
// Remove existing NEXT_PUBLIC_CONVEX_URL line if present
|
|
900
|
+
content = content.split('\\n').filter(line => !line.startsWith('NEXT_PUBLIC_CONVEX_URL=')).join('\\n')
|
|
901
|
+
if (content && !content.endsWith('\\n')) content += '\\n'
|
|
902
|
+
}
|
|
903
|
+
content += \`NEXT_PUBLIC_CONVEX_URL=\${backendEnv.NEXT_PUBLIC_CONVEX_URL}\\n\`
|
|
904
|
+
writeFileSync(webEnvPath, content)
|
|
905
|
+
console.log('\u2713 Synced NEXT_PUBLIC_CONVEX_URL to web app\\n')
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
return backendEnv
|
|
910
|
+
}
|
|
911
|
+
|
|
883
912
|
async function checkAndInstall() {
|
|
884
913
|
if (!existsSync(resolve(rootDir, 'node_modules'))) {
|
|
885
914
|
console.log('\u{1F4E6} Installing dependencies...\\n')
|
|
@@ -888,9 +917,9 @@ async function checkAndInstall() {
|
|
|
888
917
|
}
|
|
889
918
|
|
|
890
919
|
function startDevServers() {
|
|
891
|
-
const
|
|
920
|
+
${isMonorepo ? "const backendEnv = syncEnvToWebApp()" : "const backendEnv = loadEnvFile(webAppDir)"}
|
|
892
921
|
|
|
893
|
-
if (!
|
|
922
|
+
if (!backendEnv.CONVEX_DEPLOYMENT) {
|
|
894
923
|
console.log('\u26A0\uFE0F Convex not configured. Run: pnpm dev:setup\\n')
|
|
895
924
|
console.log('Starting Next.js only...\\n')
|
|
896
925
|
spawn('pnpm', ['${isMonorepo ? "dev:web" : "dev:next"}'], {
|
package/package.json
CHANGED
package/src/generator.ts
CHANGED
|
@@ -208,6 +208,7 @@ function generateDevScript(
|
|
|
208
208
|
): void {
|
|
209
209
|
const isMonorepo = config.structure === 'monorepo'
|
|
210
210
|
const webAppDir = isMonorepo ? 'apps/web' : '.'
|
|
211
|
+
const backendDir = isMonorepo ? 'packages/backend' : '.'
|
|
211
212
|
|
|
212
213
|
const devScript = `#!/usr/bin/env node
|
|
213
214
|
/**
|
|
@@ -215,13 +216,14 @@ function generateDevScript(
|
|
|
215
216
|
*/
|
|
216
217
|
|
|
217
218
|
import { spawn, execSync } from 'child_process'
|
|
218
|
-
import { existsSync, readFileSync } from 'fs'
|
|
219
|
+
import { existsSync, readFileSync, writeFileSync } from 'fs'
|
|
219
220
|
import { resolve, dirname } from 'path'
|
|
220
221
|
import { fileURLToPath } from 'url'
|
|
221
222
|
|
|
222
223
|
const __dirname = dirname(fileURLToPath(import.meta.url))
|
|
223
224
|
const rootDir = resolve(__dirname, '..')
|
|
224
225
|
const webAppDir = resolve(rootDir, '${webAppDir}')
|
|
226
|
+
const backendDir = resolve(rootDir, '${backendDir}')
|
|
225
227
|
|
|
226
228
|
function loadEnvFile(dir) {
|
|
227
229
|
const envPath = resolve(dir, '.env.local')
|
|
@@ -246,6 +248,33 @@ function loadEnvFile(dir) {
|
|
|
246
248
|
return env
|
|
247
249
|
}
|
|
248
250
|
|
|
251
|
+
function syncEnvToWebApp() {
|
|
252
|
+
// In monorepo, Convex creates .env.local in backend package
|
|
253
|
+
// Web app needs NEXT_PUBLIC_CONVEX_URL to connect to Convex
|
|
254
|
+
const backendEnv = loadEnvFile(backendDir)
|
|
255
|
+
const webEnvPath = resolve(webAppDir, '.env.local')
|
|
256
|
+
|
|
257
|
+
if (backendEnv.NEXT_PUBLIC_CONVEX_URL) {
|
|
258
|
+
const webEnv = loadEnvFile(webAppDir)
|
|
259
|
+
|
|
260
|
+
// Only sync if web app doesn't have the URL or it's different
|
|
261
|
+
if (webEnv.NEXT_PUBLIC_CONVEX_URL !== backendEnv.NEXT_PUBLIC_CONVEX_URL) {
|
|
262
|
+
let content = ''
|
|
263
|
+
if (existsSync(webEnvPath)) {
|
|
264
|
+
content = readFileSync(webEnvPath, 'utf-8')
|
|
265
|
+
// Remove existing NEXT_PUBLIC_CONVEX_URL line if present
|
|
266
|
+
content = content.split('\\n').filter(line => !line.startsWith('NEXT_PUBLIC_CONVEX_URL=')).join('\\n')
|
|
267
|
+
if (content && !content.endsWith('\\n')) content += '\\n'
|
|
268
|
+
}
|
|
269
|
+
content += \`NEXT_PUBLIC_CONVEX_URL=\${backendEnv.NEXT_PUBLIC_CONVEX_URL}\\n\`
|
|
270
|
+
writeFileSync(webEnvPath, content)
|
|
271
|
+
console.log('✓ Synced NEXT_PUBLIC_CONVEX_URL to web app\\n')
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
return backendEnv
|
|
276
|
+
}
|
|
277
|
+
|
|
249
278
|
async function checkAndInstall() {
|
|
250
279
|
if (!existsSync(resolve(rootDir, 'node_modules'))) {
|
|
251
280
|
console.log('📦 Installing dependencies...\\n')
|
|
@@ -254,9 +283,9 @@ async function checkAndInstall() {
|
|
|
254
283
|
}
|
|
255
284
|
|
|
256
285
|
function startDevServers() {
|
|
257
|
-
const
|
|
286
|
+
${isMonorepo ? 'const backendEnv = syncEnvToWebApp()' : 'const backendEnv = loadEnvFile(webAppDir)'}
|
|
258
287
|
|
|
259
|
-
if (!
|
|
288
|
+
if (!backendEnv.CONVEX_DEPLOYMENT) {
|
|
260
289
|
console.log('⚠️ Convex not configured. Run: pnpm dev:setup\\n')
|
|
261
290
|
console.log('Starting Next.js only...\\n')
|
|
262
291
|
spawn('pnpm', ['${isMonorepo ? 'dev:web' : 'dev:next'}'], {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Auto-generated file. Do not edit manually.
|
|
2
2
|
// Run 'pnpm prebuild' to regenerate.
|
|
3
|
-
// Generated: 2026-01-13T23:
|
|
3
|
+
// Generated: 2026-01-13T23:52:13.846Z
|
|
4
4
|
// Template count: 78
|
|
5
5
|
|
|
6
6
|
export const EMBEDDED_TEMPLATES: Record<string, string> = {
|
|
@@ -58,7 +58,7 @@ export const EMBEDDED_TEMPLATES: Record<string, string> = {
|
|
|
58
58
|
"marketing/payload/src/globals/index.ts.hbs": "export { SiteSettings } from './SiteSettings'\nexport { Navigation } from './Navigation'\n",
|
|
59
59
|
"marketing/payload/src/payload.config.ts.hbs": "import path from 'path'\nimport { fileURLToPath } from 'url'\nimport { buildConfig } from 'payload'\nimport { postgresAdapter } from '@payloadcms/db-postgres'\nimport { lexicalEditor } from '@payloadcms/richtext-lexical'\nimport { s3Storage } from '@payloadcms/storage-s3'\nimport { seoPlugin } from '@payloadcms/plugin-seo'\n\nimport { Pages } from './collections/Pages'\nimport { Media } from './collections/Media'\nimport { Users } from './collections/Users'\nimport { Posts } from './collections/Posts'\nimport { SiteSettings } from './globals/SiteSettings'\nimport { Navigation } from './globals/Navigation'\n\nconst __filename = fileURLToPath(import.meta.url)\nconst __dirname = path.dirname(__filename)\n\nexport default buildConfig({\n admin: {\n user: Users.slug,\n importMap: {\n baseDir: path.resolve(__dirname),\n },\n },\n db: postgresAdapter({\n pool: {\n connectionString: process.env.DATABASE_URL,\n },\n }),\n editor: lexicalEditor(),\n collections: [Users, Media, Pages, Posts],\n globals: [SiteSettings, Navigation],\n plugins: [\n s3Storage({\n collections: {\n media: true,\n },\n bucket: process.env.S3_BUCKET!,\n config: {\n credentials: {\n accessKeyId: process.env.S3_ACCESS_KEY_ID!,\n secretAccessKey: process.env.S3_SECRET_ACCESS_KEY!,\n },\n region: process.env.S3_REGION!,\n endpoint: process.env.S3_ENDPOINT!,\n forcePathStyle: true,\n },\n }),\n seoPlugin({\n collections: ['pages', 'posts'],\n uploadsCollection: 'media',\n generateTitle: ({ doc }) => `${doc?.title ?? ''} | {{projectName}}`,\n generateDescription: ({ doc }) => doc?.excerpt ?? '',\n }),\n ],\n secret: process.env.PAYLOAD_SECRET!,\n typescript: {\n outputFile: path.resolve(__dirname, 'payload-types.ts'),\n },\n})\n",
|
|
60
60
|
"marketing/payload/tsconfig.json.hbs": "{\n \"compilerOptions\": {\n \"target\": \"ES2017\",\n \"lib\": [\"dom\", \"dom.iterable\", \"esnext\"],\n \"allowJs\": true,\n \"skipLibCheck\": true,\n \"strict\": true,\n \"noEmit\": true,\n \"esModuleInterop\": true,\n \"module\": \"esnext\",\n \"moduleResolution\": \"bundler\",\n \"resolveJsonModule\": true,\n \"isolatedModules\": true,\n \"jsx\": \"react-jsx\",\n \"incremental\": true,\n \"plugins\": [{ \"name\": \"next\" }],\n \"paths\": {\n \"@/*\": [\"./src/*\"]\n }\n },\n \"include\": [\"next-env.d.ts\", \"**/*.ts\", \"**/*.tsx\", \".next/types/**/*.ts\", \".next/dev/types/**/*.ts\"],\n \"exclude\": [\"node_modules\"]\n}\n",
|
|
61
|
-
"monorepo/package.json.hbs": "{\n \"name\": \"{{projectName}}\",\n \"version\": \"0.1.0\",\n \"private\": true,\n \"scripts\": {\n \"dev\": \"node scripts/dev.mjs\",\n \"dev:all\": \"turbo dev\",\n \"dev:web\": \"turbo -F @repo/web dev\",\n \"dev:backend\": \"turbo -F @repo/backend dev\",\n \"dev:setup\": \"turbo -F @repo/backend dev:setup
|
|
61
|
+
"monorepo/package.json.hbs": "{\n \"name\": \"{{projectName}}\",\n \"version\": \"0.1.0\",\n \"private\": true,\n \"scripts\": {\n \"dev\": \"node scripts/dev.mjs\",\n \"dev:all\": \"turbo dev\",\n \"dev:web\": \"turbo -F @repo/web dev\",\n \"dev:backend\": \"turbo -F @repo/backend dev\",\n \"dev:setup\": \"turbo -F @repo/backend dev:setup\",\n \"build\": \"turbo build\",\n \"lint\": \"turbo lint\",\n \"lint:fix\": \"turbo lint:fix\",\n \"format\": \"turbo format\",\n \"typecheck\": \"turbo typecheck\",\n \"test\": \"turbo test\",\n \"test:e2e\": \"turbo test:e2e\",\n \"clean\": \"turbo clean && rm -rf node_modules\",\n \"prepare\": \"husky\"\n },\n \"devDependencies\": {\n \"turbo\": \"^2.0.0\",\n \"husky\": \"^9.0.0\",\n \"lint-staged\": \"^15.0.0\"\n },\n \"packageManager\": \"pnpm@9.0.0\",\n \"lint-staged\": {\n \"*.{js,ts,jsx,tsx}\": [\"biome check --apply\"],\n \"*.{json,md}\": [\"biome format --write\"]\n }\n}\n",
|
|
62
62
|
"monorepo/pnpm-workspace.yaml.hbs": "packages:\n - \"apps/*\"\n - \"packages/*\"\n",
|
|
63
63
|
"monorepo/turbo.json.hbs": "{\n \"$schema\": \"https://turbo.build/schema.json\",\n \"ui\": \"tui\",\n \"tasks\": {\n \"build\": {\n \"dependsOn\": [\"^build\"],\n \"inputs\": [\"$TURBO_DEFAULT$\", \".env*\"],\n \"outputs\": [\".next/**\", \"!.next/cache/**\", \"dist/**\"]\n },\n \"lint\": {\n \"dependsOn\": [\"^lint\"],\n \"inputs\": [\"$TURBO_DEFAULT$\"]\n },\n \"lint:fix\": {\n \"dependsOn\": [\"^lint:fix\"],\n \"inputs\": [\"$TURBO_DEFAULT$\"]\n },\n \"format\": {\n \"dependsOn\": [\"^format\"],\n \"inputs\": [\"$TURBO_DEFAULT$\"]\n },\n \"typecheck\": {\n \"dependsOn\": [\"^typecheck\"],\n \"inputs\": [\"$TURBO_DEFAULT$\"]\n },\n \"dev\": {\n \"cache\": false,\n \"persistent\": true\n },\n \"dev:setup\": {\n \"cache\": false,\n \"interactive\": true\n },\n \"test\": {\n \"dependsOn\": [\"^build\"],\n \"inputs\": [\"$TURBO_DEFAULT$\"]\n },\n \"test:e2e\": {\n \"dependsOn\": [\"build\"],\n \"inputs\": [\"$TURBO_DEFAULT$\"]\n },\n \"clean\": {\n \"cache\": false\n }\n }\n}\n",
|
|
64
64
|
"packages/config-biome/biome.json.hbs": "{\n \"$schema\": \"https://biomejs.dev/schemas/1.9.4/schema.json\",\n \"extends\": [\"../../biome.json\"]\n}\n",
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"dev:all": "turbo dev",
|
|
8
8
|
"dev:web": "turbo -F @repo/web dev",
|
|
9
9
|
"dev:backend": "turbo -F @repo/backend dev",
|
|
10
|
-
"dev:setup": "turbo -F @repo/backend dev:setup
|
|
10
|
+
"dev:setup": "turbo -F @repo/backend dev:setup",
|
|
11
11
|
"build": "turbo build",
|
|
12
12
|
"lint": "turbo lint",
|
|
13
13
|
"lint:fix": "turbo lint:fix",
|