create-nextjs-cms 0.9.8 → 0.9.9

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-nextjs-cms",
3
- "version": "0.9.8",
3
+ "version": "0.9.9",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "bin": {
@@ -29,8 +29,8 @@
29
29
  "tsx": "^4.20.6",
30
30
  "typescript": "^5.9.2",
31
31
  "@lzcms/eslint-config": "0.3.0",
32
- "@lzcms/tsconfig": "0.1.0",
33
- "@lzcms/prettier-config": "0.1.0"
32
+ "@lzcms/prettier-config": "0.1.0",
33
+ "@lzcms/tsconfig": "0.1.0"
34
34
  },
35
35
  "prettier": "@lzcms/prettier-config",
36
36
  "scripts": {
@@ -0,0 +1,19 @@
1
+ ####
2
+ # Test database configuration
3
+ # Used exclusively by the Playwright e2e test suite (globalSetup).
4
+ # Points to the Docker MySQL container started by `pnpm test:db:up`.
5
+ #
6
+ # NEVER point these at the dev database (port 3306).
7
+ ####
8
+ DB_HOST=
9
+ DB_PORT=
10
+ DB_NAME=
11
+ DB_USER=
12
+ DB_PASSWORD=
13
+
14
+ # Override these to use a different admin account in tests
15
+ E2E_ADMIN_USERNAME=
16
+ E2E_ADMIN_PASSWORD=
17
+
18
+ # Set to "true" to stop the Docker container after the test run
19
+ E2E_TEARDOWN_DB=
@@ -24,7 +24,7 @@ export default function DocumentFormInput({
24
24
  } = useController({
25
25
  name: input.name,
26
26
  control,
27
- defaultValue: input.value ?? '',
27
+ defaultValue: undefined,
28
28
  })
29
29
 
30
30
  const [fileName, setFileName] = useState(t('noFileSelected'))
@@ -15,7 +15,7 @@ export default function VideoFormInput({ input, sectionName }: { input: VideoFie
15
15
  } = useController({
16
16
  name: input.name,
17
17
  control,
18
- defaultValue: input.value ?? '',
18
+ defaultValue: undefined,
19
19
  })
20
20
 
21
21
  const [fileName, setFileName] = useState(t('noFileSelected'))
@@ -1,4 +1,4 @@
1
- import {mysqlTable,int,longtext,mysqlEnum,varchar,index,unique,primaryKey,boolean,double,timestamp} from 'drizzle-orm/mysql-core'
1
+ import {mysqlTable,int,longtext,mysqlEnum,varchar,index,unique,primaryKey,boolean,double,timestamp,float,date,datetime} from 'drizzle-orm/mysql-core'
2
2
 
3
3
  export const AppInfoTable = mysqlTable('app_info', {
4
4
  id: int('id').autoincrement().notNull().primaryKey(),
@@ -473,3 +473,32 @@ export const AddressTable = mysqlTable('address', {
473
473
  level: int('level')
474
474
  });
475
475
 
476
+
477
+ export const E2eAllFieldsTable = mysqlTable('e2e_all_fields', {
478
+ id: int('id').autoincrement().notNull().primaryKey(),
479
+ title: varchar('title', { length: 255 }).notNull(),
480
+ slug: varchar('slug', { length: 255 }),
481
+ subtitle: longtext('subtitle'),
482
+ secret: varchar('secret', { length: 255 }),
483
+ quantity: int('quantity'),
484
+ price: float('price'),
485
+ rating: double('rating'),
486
+ viewCount: int('view_count'),
487
+ isPublished: boolean('is_published'),
488
+ status: mysqlEnum('status', ['draft', 'published', 'archived', 'scheduled']).notNull(),
489
+ categories: varchar('categories', { length: 255 }),
490
+ tags: varchar('tags', { length: 255 }),
491
+ coverPhoto: varchar('cover_photo', { length: 255 }),
492
+ videoClip: varchar('video_clip', { length: 255 }),
493
+ attachment: varchar('attachment', { length: 255 }),
494
+ bodyContent: longtext('body_content'),
495
+ publishDate: date('publish_date'),
496
+ startsAt: datetime('starts_at'),
497
+ availableFrom: date('available_from'),
498
+ availableUntil: date('available_until'),
499
+ brandColor: varchar('brand_color', { length: 7 }),
500
+ mapLocation: varchar('map_location', { length: 255 })
501
+ }, (table) => [
502
+ index('e2e_title_index').on(table.title)
503
+ ]);
504
+
@@ -1,6 +1,6 @@
1
1
  /// <reference types="next" />
2
2
  /// <reference types="next/image-types/global" />
3
- import "./.next/types/routes.d.ts";
3
+ import "./.next/dev/types/routes.d.ts";
4
4
 
5
5
  // NOTE: This file should not be edited
6
6
  // see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
@@ -10,7 +10,11 @@
10
10
  "format": "prettier --check . --ignore-path ../../.gitignore",
11
11
  "clean": "git clean -xdf .turbo .next node_modules",
12
12
  "typecheck": "tsc --noEmit",
13
- "postinstall": "node ./lib/postinstall.js"
13
+ "postinstall": "node ./lib/postinstall.js",
14
+ "test:e2e": "cross-env E2E_TEARDOWN_DB=true playwright test",
15
+ "test:e2e:ui": "playwright test --ui",
16
+ "test:e2e:debug": "playwright test --debug",
17
+ "test:e2e:report": "playwright show-report"
14
18
  },
15
19
  "dependencies": {
16
20
  "@dnd-kit/core": "^6.3.1",
@@ -54,18 +58,18 @@
54
58
  "clsx": "^2.1.1",
55
59
  "cmdk": "^1.1.1",
56
60
  "dayjs": "^1.11.19",
61
+ "dompurify": "^3.3.3",
57
62
  "dotenv": "^17.2.3",
58
63
  "drizzle-orm": "^0.45.1",
59
64
  "drizzle-zod": "^0.8.3",
60
65
  "eslint-plugin-drizzle": "^0.2.3",
61
66
  "file-type": "^20.1.0",
62
- "isomorphic-dompurify": "^3.7.1",
63
67
  "lodash-es": "^4.17.21",
64
68
  "lucide-react": "^0.563.0",
65
69
  "nanoid": "^5.1.2",
66
70
  "next": "16.1.1",
67
71
  "next-themes": "^0.4.6",
68
- "nextjs-cms": "0.9.8",
72
+ "nextjs-cms": "0.9.9",
69
73
  "plaiceholder": "^3.0.0",
70
74
  "prettier-plugin-tailwindcss": "^0.7.2",
71
75
  "qrcode": "^1.5.4",
@@ -87,6 +91,7 @@
87
91
  "zod": "4.1.12"
88
92
  },
89
93
  "devDependencies": {
94
+ "@playwright/test": "^1.59.1",
90
95
  "@tailwindcss/postcss": "^4.1.18",
91
96
  "@types/lodash-es": "^4.17.12",
92
97
  "@types/node": "22.13.8",