create-cedar-app 2.8.0 → 2.8.1-next.109

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.
Files changed (37) hide show
  1. package/dist/create-cedar-app.js +161 -161
  2. package/package.json +5 -5
  3. package/templates/esm-js/.env.defaults +1 -1
  4. package/templates/esm-js/api/db/schema.prisma +5 -3
  5. package/templates/esm-js/api/package.json +3 -1
  6. package/templates/esm-js/api/prisma.config.cjs +4 -1
  7. package/templates/esm-js/api/src/lib/db.js +20 -2
  8. package/templates/esm-js/gitignore.template +1 -0
  9. package/templates/esm-ts/.env.defaults +1 -1
  10. package/templates/esm-ts/api/db/schema.prisma +5 -3
  11. package/templates/esm-ts/api/package.json +3 -1
  12. package/templates/esm-ts/api/prisma.config.cjs +4 -1
  13. package/templates/esm-ts/api/src/lib/db.ts +20 -2
  14. package/templates/esm-ts/api/tsconfig.json +1 -0
  15. package/templates/esm-ts/gitignore.template +1 -0
  16. package/templates/esm-ts/web/tsconfig.json +1 -0
  17. package/templates/js/.env.defaults +1 -1
  18. package/templates/js/api/db/schema.prisma +5 -3
  19. package/templates/js/api/package.json +4 -2
  20. package/templates/js/api/prisma.config.cjs +4 -1
  21. package/templates/js/api/src/lib/db.js +20 -2
  22. package/templates/js/gitignore.template +1 -0
  23. package/templates/js/package.json +4 -4
  24. package/templates/js/web/package.json +4 -4
  25. package/templates/ts/.env.defaults +1 -1
  26. package/templates/ts/api/db/schema.prisma +5 -3
  27. package/templates/ts/api/package.json +4 -2
  28. package/templates/ts/api/prisma.config.cjs +4 -1
  29. package/templates/ts/api/src/lib/db.ts +18 -2
  30. package/templates/ts/api/tsconfig.json +1 -0
  31. package/templates/ts/gitignore.template +1 -0
  32. package/templates/ts/package.json +4 -4
  33. package/templates/ts/scripts/tsconfig.json +1 -0
  34. package/templates/ts/web/package.json +4 -4
  35. package/templates/ts/web/tsconfig.json +1 -0
  36. package/templates/esm-js/.yarn/install-state.gz +0 -0
  37. package/templates/esm-ts/.yarn/install-state.gz +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-cedar-app",
3
- "version": "2.8.0",
3
+ "version": "2.8.1-next.109+be993981d",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/cedarjs/cedar.git",
@@ -26,8 +26,8 @@
26
26
  "devDependencies": {
27
27
  "@babel/core": "^7.26.10",
28
28
  "@babel/plugin-transform-typescript": "^7.26.8",
29
- "@cedarjs/framework-tools": "0.0.0",
30
- "@cedarjs/tui": "2.8.0",
29
+ "@cedarjs/framework-tools": "2.8.1-next.109",
30
+ "@cedarjs/tui": "2.8.1-next.109+be993981d",
31
31
  "@opentelemetry/api": "1.9.0",
32
32
  "@opentelemetry/exporter-trace-otlp-http": "0.57.2",
33
33
  "@opentelemetry/resources": "1.30.1",
@@ -43,7 +43,7 @@
43
43
  "gradient-string": "3.0.0",
44
44
  "klaw-sync": "7.0.0",
45
45
  "semver": "7.7.4",
46
- "systeminformation": "5.31.2",
46
+ "systeminformation": "5.31.4",
47
47
  "termi-link": "1.1.0",
48
48
  "tsx": "4.21.0",
49
49
  "untildify": "4.0.0",
@@ -54,5 +54,5 @@
54
54
  "publishConfig": {
55
55
  "access": "public"
56
56
  },
57
- "gitHead": "0264a3a73dafa5bdc90c8e5d06f5c3d1eceba046"
57
+ "gitHead": "be993981d7e162a83244009c3f7ab9270c6773f3"
58
58
  }
@@ -4,7 +4,7 @@
4
4
  # into version control.
5
5
 
6
6
  # schema.prisma defaults
7
- DATABASE_URL=file:./dev.db
7
+ DATABASE_URL=file:./db/dev.db
8
8
 
9
9
  # location of the test database for api service scenarios (defaults to ./.redwood/test.db if not set)
10
10
  # TEST_DATABASE_URL=file:./.redwood/test.db
@@ -6,12 +6,14 @@
6
6
 
7
7
  datasource db {
8
8
  provider = "sqlite"
9
- url = env("DATABASE_URL")
10
9
  }
11
10
 
12
11
  generator client {
13
- provider = "prisma-client-js"
14
- binaryTargets = "native"
12
+ provider = "prisma-client"
13
+ output = "./generated/prisma"
14
+ moduleFormat = "cjs"
15
+ generatedFileExtension = "mts"
16
+ importFileExtension = "mts"
15
17
  }
16
18
 
17
19
  // Define your own datamodels here and run `yarn cedar prisma migrate dev`
@@ -4,7 +4,9 @@
4
4
  "version": "0.0.0",
5
5
  "private": true,
6
6
  "dependencies": {
7
+ "@prisma/adapter-better-sqlite3": "7.5.0",
7
8
  "@cedarjs/api": "2.8.0",
8
- "@cedarjs/graphql-server": "2.8.0"
9
+ "@cedarjs/graphql-server": "2.8.0",
10
+ "better-sqlite3": "12.8.0"
9
11
  }
10
12
  }
@@ -1,4 +1,4 @@
1
- const { defineConfig } = require('prisma/config')
1
+ const { defineConfig, env } = require('prisma/config')
2
2
 
3
3
  module.exports = defineConfig({
4
4
  schema: 'db/schema.prisma',
@@ -6,4 +6,7 @@ module.exports = defineConfig({
6
6
  path: 'db/migrations',
7
7
  seed: 'yarn cedar exec seed',
8
8
  },
9
+ datasource: {
10
+ url: env('DATABASE_URL'),
11
+ },
9
12
  })
@@ -1,16 +1,34 @@
1
1
  // See https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/constructor
2
2
  // for options.
3
3
 
4
- import { PrismaClient } from '@prisma/client'
4
+ import path from 'node:path'
5
+
6
+ import { PrismaBetterSqlite3 } from '@prisma/adapter-better-sqlite3'
7
+ import { PrismaClient } from 'api/db/generated/prisma/client.mts'
5
8
 
6
9
  import { emitLogLevels, handlePrismaLogging } from '@cedarjs/api/logger'
10
+ import { getPaths } from '@cedarjs/project-config'
7
11
 
8
12
  import { logger } from './logger.js'
9
13
 
10
- export * from '@prisma/client'
14
+ export * from 'api/db/generated/prisma/client.mts'
15
+
16
+ const resolveSqliteUrl = (url = 'file:./db/dev.db') => {
17
+ if (!url.startsWith('file:.')) {
18
+ return url
19
+ }
20
+
21
+ const apiDir = getPaths().api.base
11
22
 
23
+ return `file:${path.resolve(apiDir, url.slice('file:'.length))}`
24
+ }
25
+
26
+ const adapter = new PrismaBetterSqlite3({
27
+ url: resolveSqliteUrl(process.env.DATABASE_URL),
28
+ })
12
29
  const prismaClient = new PrismaClient({
13
30
  log: emitLogLevels(['info', 'warn', 'error']),
31
+ adapter,
14
32
  })
15
33
 
16
34
  handlePrismaLogging({
@@ -7,6 +7,7 @@
7
7
  .redwood/*
8
8
  !.redwood/README.md
9
9
  dev.db*
10
+ api/db/generated/prisma
10
11
  dist
11
12
  dist-babel
12
13
  node_modules
@@ -4,7 +4,7 @@
4
4
  # into version control.
5
5
 
6
6
  # schema.prisma defaults
7
- DATABASE_URL=file:./dev.db
7
+ DATABASE_URL=file:./db/dev.db
8
8
 
9
9
  # location of the test database for api service scenarios (defaults to ./.redwood/test.db if not set)
10
10
  # TEST_DATABASE_URL=file:./.redwood/test.db
@@ -6,12 +6,14 @@
6
6
 
7
7
  datasource db {
8
8
  provider = "sqlite"
9
- url = env("DATABASE_URL")
10
9
  }
11
10
 
12
11
  generator client {
13
- provider = "prisma-client-js"
14
- binaryTargets = "native"
12
+ provider = "prisma-client"
13
+ output = "./generated/prisma"
14
+ moduleFormat = "cjs"
15
+ generatedFileExtension = "mts"
16
+ importFileExtension = "mts"
15
17
  }
16
18
 
17
19
  // Define your own datamodels here and run `yarn cedar prisma migrate dev`
@@ -4,7 +4,9 @@
4
4
  "version": "0.0.0",
5
5
  "private": true,
6
6
  "dependencies": {
7
+ "@prisma/adapter-better-sqlite3": "7.5.0",
7
8
  "@cedarjs/api": "2.8.0",
8
- "@cedarjs/graphql-server": "2.8.0"
9
+ "@cedarjs/graphql-server": "2.8.0",
10
+ "better-sqlite3": "12.8.0"
9
11
  }
10
12
  }
@@ -1,4 +1,4 @@
1
- const { defineConfig } = require('prisma/config')
1
+ const { defineConfig, env } = require('prisma/config')
2
2
 
3
3
  module.exports = defineConfig({
4
4
  schema: 'db/schema.prisma',
@@ -6,4 +6,7 @@ module.exports = defineConfig({
6
6
  path: 'db/migrations',
7
7
  seed: 'yarn cedar exec seed',
8
8
  },
9
+ datasource: {
10
+ url: env('DATABASE_URL'),
11
+ },
9
12
  })
@@ -1,16 +1,34 @@
1
1
  // See https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/constructor
2
2
  // for options.
3
3
 
4
- import { PrismaClient } from '@prisma/client'
4
+ import path from 'node:path'
5
+
6
+ import { PrismaBetterSqlite3 } from '@prisma/adapter-better-sqlite3'
7
+ import { PrismaClient } from 'api/db/generated/prisma/client.mts'
5
8
 
6
9
  import { emitLogLevels, handlePrismaLogging } from '@cedarjs/api/logger'
10
+ import { getPaths } from '@cedarjs/project-config'
7
11
 
8
12
  import { logger } from './logger.js'
9
13
 
10
- export * from '@prisma/client'
14
+ export * from 'api/db/generated/prisma/client.mts'
15
+
16
+ const resolveSqliteUrl = (url = 'file:./db/dev.db') => {
17
+ if (!url.startsWith('file:.')) {
18
+ return url
19
+ }
20
+
21
+ const apiDir = getPaths().api.base
11
22
 
23
+ return `file:${path.resolve(apiDir, url.slice('file:'.length))}`
24
+ }
25
+
26
+ const adapter = new PrismaBetterSqlite3({
27
+ url: resolveSqliteUrl(process.env.DATABASE_URL),
28
+ })
12
29
  const prismaClient = new PrismaClient({
13
30
  log: emitLogLevels(['info', 'warn', 'error']),
31
+ adapter,
14
32
  })
15
33
 
16
34
  handlePrismaLogging({
@@ -6,6 +6,7 @@
6
6
  "target": "es2023",
7
7
  "module": "node20",
8
8
  "moduleResolution": "node16",
9
+ "allowImportingTsExtensions": true,
9
10
  "skipLibCheck": false,
10
11
  "rootDirs": ["./src", "../.redwood/types/mirror/api/src"],
11
12
  "paths": {
@@ -7,6 +7,7 @@
7
7
  .redwood/*
8
8
  !.redwood/README.md
9
9
  dev.db*
10
+ api/db/generated/prisma
10
11
  dist
11
12
  dist-babel
12
13
  node_modules
@@ -6,6 +6,7 @@
6
6
  "target": "ES2022",
7
7
  "module": "ESNext",
8
8
  "moduleResolution": "Bundler",
9
+ "allowImportingTsExtensions": true,
9
10
  "skipLibCheck": false,
10
11
  "rootDirs": [
11
12
  "./src",
@@ -4,7 +4,7 @@
4
4
  # into version control.
5
5
 
6
6
  # schema.prisma defaults
7
- DATABASE_URL=file:./dev.db
7
+ DATABASE_URL=file:./db/dev.db
8
8
 
9
9
  # location of the test database for api service scenarios (defaults to ./.redwood/test.db if not set)
10
10
  # TEST_DATABASE_URL=file:./.redwood/test.db
@@ -6,12 +6,14 @@
6
6
 
7
7
  datasource db {
8
8
  provider = "sqlite"
9
- url = env("DATABASE_URL")
10
9
  }
11
10
 
12
11
  generator client {
13
- provider = "prisma-client-js"
14
- binaryTargets = "native"
12
+ provider = "prisma-client"
13
+ output = "./generated/prisma"
14
+ moduleFormat = "cjs"
15
+ generatedFileExtension = "mts"
16
+ importFileExtension = "mts"
15
17
  }
16
18
 
17
19
  // Define your own datamodels here and run `yarn cedar prisma migrate dev`
@@ -3,7 +3,9 @@
3
3
  "version": "0.0.0",
4
4
  "private": true,
5
5
  "dependencies": {
6
- "@cedarjs/api": "2.8.0",
7
- "@cedarjs/graphql-server": "2.8.0"
6
+ "@cedarjs/api": "2.8.1-next.109",
7
+ "@cedarjs/graphql-server": "2.8.1-next.109",
8
+ "@prisma/adapter-better-sqlite3": "7.5.0",
9
+ "better-sqlite3": "12.8.0"
8
10
  }
9
11
  }
@@ -1,4 +1,4 @@
1
- const { defineConfig } = require('prisma/config')
1
+ const { defineConfig, env } = require('prisma/config')
2
2
 
3
3
  module.exports = defineConfig({
4
4
  schema: 'db/schema.prisma',
@@ -6,4 +6,7 @@ module.exports = defineConfig({
6
6
  path: 'db/migrations',
7
7
  seed: 'yarn cedar exec seed',
8
8
  },
9
+ datasource: {
10
+ url: env('DATABASE_URL'),
11
+ },
9
12
  })
@@ -1,16 +1,34 @@
1
1
  // See https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/constructor
2
2
  // for options.
3
3
 
4
- import { PrismaClient } from '@prisma/client'
4
+ import path from 'node:path'
5
+
6
+ import { PrismaBetterSqlite3 } from '@prisma/adapter-better-sqlite3'
7
+ import { PrismaClient } from 'api/db/generated/prisma/client.mts'
5
8
 
6
9
  import { emitLogLevels, handlePrismaLogging } from '@cedarjs/api/logger'
10
+ import { getPaths } from '@cedarjs/project-config'
7
11
 
8
12
  import { logger } from './logger.js'
9
13
 
10
- export * from '@prisma/client'
14
+ export * from 'api/db/generated/prisma/client.mts'
15
+
16
+ const resolveSqliteUrl = (url = 'file:./db/dev.db') => {
17
+ if (!url.startsWith('file:.')) {
18
+ return url
19
+ }
20
+
21
+ const apiDir = getPaths().api.base
11
22
 
23
+ return `file:${path.resolve(apiDir, url.slice('file:'.length))}`
24
+ }
25
+
26
+ const adapter = new PrismaBetterSqlite3({
27
+ url: resolveSqliteUrl(process.env.DATABASE_URL),
28
+ })
12
29
  const prismaClient = new PrismaClient({
13
30
  log: emitLogLevels(['info', 'warn', 'error']),
31
+ adapter,
14
32
  })
15
33
 
16
34
  handlePrismaLogging({
@@ -7,6 +7,7 @@
7
7
  .redwood/*
8
8
  !.redwood/README.md
9
9
  dev.db*
10
+ api/db/generated/prisma
10
11
  dist
11
12
  dist-babel
12
13
  node_modules
@@ -5,10 +5,10 @@
5
5
  "web"
6
6
  ],
7
7
  "devDependencies": {
8
- "@cedarjs/core": "2.8.0",
9
- "@cedarjs/eslint-config": "2.8.0",
10
- "@cedarjs/project-config": "2.8.0",
11
- "@cedarjs/testing": "2.8.0"
8
+ "@cedarjs/core": "2.8.1-next.109",
9
+ "@cedarjs/eslint-config": "2.8.1-next.109",
10
+ "@cedarjs/project-config": "2.8.1-next.109",
11
+ "@cedarjs/testing": "2.8.1-next.109"
12
12
  },
13
13
  "engines": {
14
14
  "node": "=24.x"
@@ -11,14 +11,14 @@
11
11
  ]
12
12
  },
13
13
  "dependencies": {
14
- "@cedarjs/forms": "2.8.0",
15
- "@cedarjs/router": "2.8.0",
16
- "@cedarjs/web": "2.8.0",
14
+ "@cedarjs/forms": "2.8.1-next.109",
15
+ "@cedarjs/router": "2.8.1-next.109",
16
+ "@cedarjs/web": "2.8.1-next.109",
17
17
  "react": "18.3.1",
18
18
  "react-dom": "18.3.1"
19
19
  },
20
20
  "devDependencies": {
21
- "@cedarjs/vite": "2.8.0",
21
+ "@cedarjs/vite": "2.8.1-next.109",
22
22
  "@types/react": "^18.2.55",
23
23
  "@types/react-dom": "^18.2.19"
24
24
  }
@@ -4,7 +4,7 @@
4
4
  # into version control.
5
5
 
6
6
  # schema.prisma defaults
7
- DATABASE_URL=file:./dev.db
7
+ DATABASE_URL=file:./db/dev.db
8
8
 
9
9
  # location of the test database for api service scenarios (defaults to ./.redwood/test.db if not set)
10
10
  # TEST_DATABASE_URL=file:./.redwood/test.db
@@ -6,12 +6,14 @@
6
6
 
7
7
  datasource db {
8
8
  provider = "sqlite"
9
- url = env("DATABASE_URL")
10
9
  }
11
10
 
12
11
  generator client {
13
- provider = "prisma-client-js"
14
- binaryTargets = "native"
12
+ provider = "prisma-client"
13
+ output = "./generated/prisma"
14
+ moduleFormat = "cjs"
15
+ generatedFileExtension = "mts"
16
+ importFileExtension = "mts"
15
17
  }
16
18
 
17
19
  // Define your own datamodels here and run `yarn cedar prisma migrate dev`
@@ -3,7 +3,9 @@
3
3
  "version": "0.0.0",
4
4
  "private": true,
5
5
  "dependencies": {
6
- "@cedarjs/api": "2.8.0",
7
- "@cedarjs/graphql-server": "2.8.0"
6
+ "@cedarjs/api": "2.8.1-next.109",
7
+ "@cedarjs/graphql-server": "2.8.1-next.109",
8
+ "@prisma/adapter-better-sqlite3": "7.5.0",
9
+ "better-sqlite3": "12.8.0"
8
10
  }
9
11
  }
@@ -1,4 +1,4 @@
1
- const { defineConfig } = require('prisma/config')
1
+ const { defineConfig, env } = require('prisma/config')
2
2
 
3
3
  module.exports = defineConfig({
4
4
  schema: 'db/schema.prisma',
@@ -6,4 +6,7 @@ module.exports = defineConfig({
6
6
  path: 'db/migrations',
7
7
  seed: 'yarn cedar exec seed',
8
8
  },
9
+ datasource: {
10
+ url: env('DATABASE_URL'),
11
+ },
9
12
  })
@@ -1,16 +1,32 @@
1
1
  // See https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/constructor
2
2
  // for options.
3
3
 
4
- import { PrismaClient } from '@prisma/client'
4
+ import path from 'node:path'
5
+
6
+ import { PrismaBetterSqlite3 } from '@prisma/adapter-better-sqlite3'
7
+ import { PrismaClient } from 'api/db/generated/prisma/client.mts'
5
8
 
6
9
  import { emitLogLevels, handlePrismaLogging } from '@cedarjs/api/logger'
10
+ import { getPaths } from '@cedarjs/project-config'
7
11
 
8
12
  import { logger } from './logger.js'
9
13
 
10
- export * from '@prisma/client'
14
+ export * from 'api/db/generated/prisma/client.mts'
15
+
16
+ const resolveSqliteUrl = (url = 'file:./db/dev.db') => {
17
+ if (!url.startsWith('file:.')) {
18
+ return url
19
+ }
11
20
 
21
+ return `file:${path.resolve(getPaths().api.base, url.slice('file:'.length))}`
22
+ }
23
+
24
+ const adapter = new PrismaBetterSqlite3({
25
+ url: resolveSqliteUrl(process.env.DATABASE_URL),
26
+ })
12
27
  const prismaClient = new PrismaClient({
13
28
  log: emitLogLevels(['info', 'warn', 'error']),
29
+ adapter,
14
30
  })
15
31
 
16
32
  handlePrismaLogging({
@@ -6,6 +6,7 @@
6
6
  "target": "es2023",
7
7
  "module": "node20",
8
8
  "moduleResolution": "node16",
9
+ "allowImportingTsExtensions": true,
9
10
  "skipLibCheck": false,
10
11
  "rootDirs": ["./src", "../.redwood/types/mirror/api/src"],
11
12
  "paths": {
@@ -7,6 +7,7 @@
7
7
  .redwood/*
8
8
  !.redwood/README.md
9
9
  dev.db*
10
+ api/db/generated/prisma
10
11
  dist
11
12
  dist-babel
12
13
  node_modules
@@ -5,10 +5,10 @@
5
5
  "web"
6
6
  ],
7
7
  "devDependencies": {
8
- "@cedarjs/core": "2.8.0",
9
- "@cedarjs/eslint-config": "2.8.0",
10
- "@cedarjs/project-config": "2.8.0",
11
- "@cedarjs/testing": "2.8.0"
8
+ "@cedarjs/core": "2.8.1-next.109",
9
+ "@cedarjs/eslint-config": "2.8.1-next.109",
10
+ "@cedarjs/project-config": "2.8.1-next.109",
11
+ "@cedarjs/testing": "2.8.1-next.109"
12
12
  },
13
13
  "engines": {
14
14
  "node": "=24.x"
@@ -6,6 +6,7 @@
6
6
  "target": "es2023",
7
7
  "module": "node20",
8
8
  "moduleResolution": "node16",
9
+ "allowImportingTsExtensions": true,
9
10
  "paths": {
10
11
  "$api/*": ["../api/*"],
11
12
  "api/*": ["../api/*"],
@@ -11,14 +11,14 @@
11
11
  ]
12
12
  },
13
13
  "dependencies": {
14
- "@cedarjs/forms": "2.8.0",
15
- "@cedarjs/router": "2.8.0",
16
- "@cedarjs/web": "2.8.0",
14
+ "@cedarjs/forms": "2.8.1-next.109",
15
+ "@cedarjs/router": "2.8.1-next.109",
16
+ "@cedarjs/web": "2.8.1-next.109",
17
17
  "react": "18.3.1",
18
18
  "react-dom": "18.3.1"
19
19
  },
20
20
  "devDependencies": {
21
- "@cedarjs/vite": "2.8.0",
21
+ "@cedarjs/vite": "2.8.1-next.109",
22
22
  "@types/react": "^18.2.55",
23
23
  "@types/react-dom": "^18.2.19"
24
24
  }
@@ -6,6 +6,7 @@
6
6
  "target": "ES2022",
7
7
  "module": "ESNext",
8
8
  "moduleResolution": "Bundler",
9
+ "allowImportingTsExtensions": true,
9
10
  "skipLibCheck": false,
10
11
  "rootDirs": [
11
12
  "./src",