@odvi/create-dtt-framework 0.1.9 → 0.1.11
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/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +3 -0
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +197 -73
- package/dist/commands/update.js.map +1 -1
- package/package.json +1 -1
- package/template/package.json +129 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,aAAa,SAgKtB,CAAC"}
|
package/dist/commands/create.js
CHANGED
|
@@ -105,6 +105,9 @@ export const createCommand = new Command('create')
|
|
|
105
105
|
const packageJson = await fs.readJson(packageJsonPath);
|
|
106
106
|
packageJson.name = projectName;
|
|
107
107
|
packageJson.version = '0.1.0';
|
|
108
|
+
packageJson.dtt = {
|
|
109
|
+
version: '0.1.9' // Current framework version
|
|
110
|
+
};
|
|
108
111
|
await fs.writeJson(packageJsonPath, packageJson, { spaces: 2 });
|
|
109
112
|
spinner.succeed('Project configured');
|
|
110
113
|
// Initialize git if not disabled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,eAAO,MAAM,aAAa,SAsPtB,CAAC"}
|
package/dist/commands/update.js
CHANGED
|
@@ -3,101 +3,225 @@ import chalk from 'chalk';
|
|
|
3
3
|
import ora from 'ora';
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import fs from 'fs-extra';
|
|
6
|
-
import
|
|
6
|
+
import inquirer from 'inquirer';
|
|
7
|
+
import { getTemplatePath } from '../utils/template.js';
|
|
8
|
+
async function getFiles(dir) {
|
|
9
|
+
const subdirs = await fs.readdir(dir);
|
|
10
|
+
const files = await Promise.all(subdirs.map(async (subdir) => {
|
|
11
|
+
const res = path.resolve(dir, subdir);
|
|
12
|
+
return (await fs.stat(res)).isDirectory() ? getFiles(res) : res;
|
|
13
|
+
}));
|
|
14
|
+
return files.flat();
|
|
15
|
+
}
|
|
7
16
|
export const updateCommand = new Command('update')
|
|
8
|
-
.description('Update DTT Framework to the latest version')
|
|
17
|
+
.description('Update DTT Framework project files to the latest version')
|
|
9
18
|
.option('--check-only', 'Only check for updates without installing')
|
|
10
|
-
.option('--force', 'Force update
|
|
19
|
+
.option('--force', 'Force update and overwrite all files')
|
|
20
|
+
.option('--yes', 'Skip confirmation prompts')
|
|
11
21
|
.action(async (options) => {
|
|
12
22
|
try {
|
|
13
23
|
console.log();
|
|
14
|
-
console.log(chalk.cyan.bold('🔄
|
|
24
|
+
console.log(chalk.cyan.bold('🔄 DTT Framework Updater'));
|
|
15
25
|
console.log();
|
|
16
|
-
const spinner = ora('Checking
|
|
17
|
-
|
|
18
|
-
const packageJsonPath = path.join(
|
|
26
|
+
const spinner = ora('Checking project...').start();
|
|
27
|
+
const projectPath = process.cwd();
|
|
28
|
+
const packageJsonPath = path.join(projectPath, 'package.json');
|
|
19
29
|
if (!(await fs.pathExists(packageJsonPath))) {
|
|
20
|
-
spinner.fail('package.json not found
|
|
21
|
-
console.log(chalk.yellow('Please run this command from
|
|
30
|
+
spinner.fail('package.json not found');
|
|
31
|
+
console.log(chalk.yellow('Please run this command from the root of your DTT Framework project.'));
|
|
22
32
|
process.exit(1);
|
|
23
33
|
}
|
|
24
34
|
const packageJson = await fs.readJson(packageJsonPath);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
35
|
+
// Heuristic check: look for specific framework files if 'dtt' metadata is missing
|
|
36
|
+
const isDttProject = packageJson.dtt ||
|
|
37
|
+
(await fs.pathExists(path.join(projectPath, 'src/features/health-check'))) ||
|
|
38
|
+
(await fs.pathExists(path.join(projectPath, 'src/lib/snowflake')));
|
|
39
|
+
if (!isDttProject) {
|
|
40
|
+
spinner.fail('Not a DTT Framework project');
|
|
41
|
+
console.log(chalk.yellow('This directory does not appear to be a DTT Framework project.'));
|
|
29
42
|
process.exit(1);
|
|
30
43
|
}
|
|
31
|
-
spinner.succeed(
|
|
32
|
-
//
|
|
33
|
-
|
|
44
|
+
spinner.succeed('Project detected');
|
|
45
|
+
// Get template path
|
|
46
|
+
const templatePath = getTemplatePath();
|
|
47
|
+
if (!(await fs.pathExists(templatePath))) {
|
|
48
|
+
spinner.fail('Template files not found');
|
|
49
|
+
console.log(chalk.red('Could not locate framework template files.'));
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
spinner.text = 'Scanning files...';
|
|
34
53
|
spinner.start();
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
54
|
+
// Get all files from template
|
|
55
|
+
const templateFilesAbs = await getFiles(templatePath);
|
|
56
|
+
const templateFiles = templateFilesAbs.map(f => path.relative(templatePath, f));
|
|
57
|
+
// Filter out ignored files
|
|
58
|
+
const ignoredPatterns = [
|
|
59
|
+
'node_modules',
|
|
60
|
+
'.git',
|
|
61
|
+
'.next',
|
|
62
|
+
'dist',
|
|
63
|
+
'package.json', // Handle package.json separately or ignore for now as it's user-specific
|
|
64
|
+
'pnpm-lock.yaml',
|
|
65
|
+
'yarn.lock',
|
|
66
|
+
'package-lock.json',
|
|
67
|
+
'.env',
|
|
68
|
+
'.env.local'
|
|
69
|
+
];
|
|
70
|
+
const relevantFiles = templateFiles.filter(file => {
|
|
71
|
+
const parts = file.split(path.sep);
|
|
72
|
+
return !ignoredPatterns.some(pattern => parts.includes(pattern));
|
|
73
|
+
});
|
|
74
|
+
const newFiles = [];
|
|
75
|
+
const modifiedFiles = [];
|
|
76
|
+
const upToDateFiles = [];
|
|
77
|
+
for (const file of relevantFiles) {
|
|
78
|
+
const targetPath = path.join(projectPath, file);
|
|
79
|
+
const templateFilePath = path.join(templatePath, file);
|
|
80
|
+
if (!(await fs.pathExists(targetPath))) {
|
|
81
|
+
newFiles.push(file);
|
|
43
82
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
83
|
+
else {
|
|
84
|
+
// Compare content
|
|
85
|
+
const targetContent = await fs.readFile(targetPath);
|
|
86
|
+
const templateContent = await fs.readFile(templateFilePath);
|
|
87
|
+
if (!targetContent.equals(templateContent)) {
|
|
88
|
+
modifiedFiles.push(file);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
upToDateFiles.push(file);
|
|
92
|
+
}
|
|
52
93
|
}
|
|
53
|
-
|
|
94
|
+
}
|
|
95
|
+
spinner.stop();
|
|
96
|
+
console.log(chalk.bold('\nAnalysis Results:'));
|
|
97
|
+
console.log(chalk.green(` + ${newFiles.length} new files to add`));
|
|
98
|
+
console.log(chalk.yellow(` ~ ${modifiedFiles.length} files differ from latest template`));
|
|
99
|
+
console.log(chalk.gray(` = ${upToDateFiles.length} files match exactly`));
|
|
100
|
+
console.log();
|
|
101
|
+
if (newFiles.length === 0 && modifiedFiles.length === 0) {
|
|
102
|
+
console.log(chalk.green('✨ Your project is up to date!'));
|
|
103
|
+
process.exit(0);
|
|
104
|
+
}
|
|
105
|
+
if (options?.checkOnly) {
|
|
106
|
+
process.exit(0);
|
|
107
|
+
}
|
|
108
|
+
// Handle New Files
|
|
109
|
+
if (newFiles.length > 0) {
|
|
110
|
+
console.log(chalk.green.bold('New files will be added:'));
|
|
111
|
+
newFiles.slice(0, 5).forEach(f => console.log(chalk.green(` + ${f}`)));
|
|
112
|
+
if (newFiles.length > 5)
|
|
113
|
+
console.log(chalk.gray(` ...and ${newFiles.length - 5} more`));
|
|
54
114
|
console.log();
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
115
|
+
}
|
|
116
|
+
// Handle Modified Files
|
|
117
|
+
if (modifiedFiles.length > 0) {
|
|
118
|
+
console.log(chalk.yellow.bold('Modified files (conflicts):'));
|
|
119
|
+
console.log(chalk.yellow(' These files differ from the latest framework version.'));
|
|
120
|
+
console.log(chalk.yellow(' Updating them might overwrite your custom changes.'));
|
|
121
|
+
modifiedFiles.slice(0, 5).forEach(f => console.log(chalk.yellow(` ~ ${f}`)));
|
|
122
|
+
if (modifiedFiles.length > 5)
|
|
123
|
+
console.log(chalk.gray(` ...and ${modifiedFiles.length - 5} more`));
|
|
124
|
+
console.log();
|
|
125
|
+
}
|
|
126
|
+
let shouldProceed = options?.yes || options?.force;
|
|
127
|
+
if (!shouldProceed) {
|
|
128
|
+
const answers = await inquirer.prompt([
|
|
129
|
+
{
|
|
130
|
+
type: 'confirm',
|
|
131
|
+
name: 'proceed',
|
|
132
|
+
message: 'Do you want to proceed with the update?',
|
|
133
|
+
default: true,
|
|
134
|
+
}
|
|
135
|
+
]);
|
|
136
|
+
shouldProceed = answers.proceed;
|
|
137
|
+
}
|
|
138
|
+
if (!shouldProceed) {
|
|
139
|
+
console.log(chalk.yellow('Update cancelled.'));
|
|
140
|
+
process.exit(0);
|
|
141
|
+
}
|
|
142
|
+
const updateSpinner = ora('Updating files...').start();
|
|
143
|
+
// Copy new files
|
|
144
|
+
for (const file of newFiles) {
|
|
145
|
+
const source = path.join(templatePath, file);
|
|
146
|
+
const dest = path.join(projectPath, file);
|
|
147
|
+
await fs.copy(source, dest);
|
|
148
|
+
}
|
|
149
|
+
// Handle modified files
|
|
150
|
+
let updatedCount = 0;
|
|
151
|
+
let skippedCount = 0;
|
|
152
|
+
if (modifiedFiles.length > 0) {
|
|
153
|
+
if (options?.force) {
|
|
154
|
+
// Overwrite everything
|
|
155
|
+
for (const file of modifiedFiles) {
|
|
156
|
+
const source = path.join(templatePath, file);
|
|
157
|
+
const dest = path.join(projectPath, file);
|
|
158
|
+
await fs.copy(source, dest);
|
|
159
|
+
updatedCount++;
|
|
61
160
|
}
|
|
62
|
-
|
|
63
|
-
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
// Create .update files
|
|
164
|
+
for (const file of modifiedFiles) {
|
|
165
|
+
const source = path.join(templatePath, file);
|
|
166
|
+
const dest = path.join(projectPath, `${file}.update`);
|
|
167
|
+
await fs.copy(source, dest);
|
|
168
|
+
skippedCount++;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
// Update package.json dependencies
|
|
173
|
+
const templatePackageJsonPath = path.join(templatePath, 'package.json');
|
|
174
|
+
if (await fs.pathExists(templatePackageJsonPath)) {
|
|
175
|
+
spinner.text = 'Updating dependencies...';
|
|
176
|
+
const templatePkg = await fs.readJson(templatePackageJsonPath);
|
|
177
|
+
const projectPkg = await fs.readJson(packageJsonPath);
|
|
178
|
+
let depsUpdated = false;
|
|
179
|
+
// Merge dependencies
|
|
180
|
+
if (templatePkg.dependencies) {
|
|
181
|
+
projectPkg.dependencies = projectPkg.dependencies || {};
|
|
182
|
+
for (const [dep, version] of Object.entries(templatePkg.dependencies)) {
|
|
183
|
+
if (!projectPkg.dependencies[dep]) {
|
|
184
|
+
projectPkg.dependencies[dep] = version;
|
|
185
|
+
depsUpdated = true;
|
|
186
|
+
}
|
|
64
187
|
}
|
|
65
|
-
execSync(`${packageManager} update dtt-framework@latest`, { stdio: 'inherit' });
|
|
66
|
-
updateSpinner.succeed('Update completed successfully!');
|
|
67
|
-
console.log();
|
|
68
|
-
console.log(chalk.green.bold('✨ DTT Framework updated successfully!'));
|
|
69
|
-
console.log();
|
|
70
|
-
console.log(chalk.cyan('Changes:'));
|
|
71
|
-
console.log(chalk.white(` Updated from ${currentVersion} to ${latestVersion}`));
|
|
72
|
-
console.log();
|
|
73
|
-
console.log(chalk.yellow('Please review the changelog for breaking changes:'));
|
|
74
|
-
console.log(chalk.cyan(' https://github.com/your-org/dtt-framework/releases'));
|
|
75
|
-
console.log();
|
|
76
|
-
console.log(chalk.cyan('Next steps:'));
|
|
77
|
-
console.log(chalk.white(' Review and update your code if needed'));
|
|
78
|
-
console.log(chalk.white(' Run tests to ensure everything works'));
|
|
79
|
-
console.log();
|
|
80
188
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
189
|
+
// Merge devDependencies
|
|
190
|
+
if (templatePkg.devDependencies) {
|
|
191
|
+
projectPkg.devDependencies = projectPkg.devDependencies || {};
|
|
192
|
+
for (const [dep, version] of Object.entries(templatePkg.devDependencies)) {
|
|
193
|
+
if (!projectPkg.devDependencies[dep]) {
|
|
194
|
+
projectPkg.devDependencies[dep] = version;
|
|
195
|
+
depsUpdated = true;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
if (depsUpdated) {
|
|
200
|
+
await fs.writeJson(packageJsonPath, projectPkg, { spaces: 2 });
|
|
201
|
+
console.log(chalk.green(' Updated package.json with new dependencies.'));
|
|
91
202
|
}
|
|
92
203
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
console.log();
|
|
99
|
-
|
|
204
|
+
updateSpinner.succeed('Update complete');
|
|
205
|
+
console.log();
|
|
206
|
+
console.log(chalk.green.bold('✨ Project updated successfully!'));
|
|
207
|
+
console.log();
|
|
208
|
+
if (newFiles.length > 0) {
|
|
209
|
+
console.log(chalk.green(` Added ${newFiles.length} new files.`));
|
|
210
|
+
}
|
|
211
|
+
if (skippedCount > 0) {
|
|
212
|
+
console.log(chalk.yellow(` Created ${skippedCount} .update files for modified files.`));
|
|
213
|
+
console.log(chalk.yellow(' Please review these files and merge changes manually into your code.'));
|
|
100
214
|
}
|
|
215
|
+
else if (updatedCount > 0) {
|
|
216
|
+
console.log(chalk.green(` Updated ${updatedCount} modified files.`));
|
|
217
|
+
}
|
|
218
|
+
// Check package.json dependencies
|
|
219
|
+
console.log();
|
|
220
|
+
console.log(chalk.cyan('Checking dependencies...'));
|
|
221
|
+
// This is harder because we don't have the "template" package.json easily available as a file.
|
|
222
|
+
// But we can remind the user to run install.
|
|
223
|
+
console.log(chalk.gray(' Remember to run `pnpm install` to update dependencies.'));
|
|
224
|
+
console.log();
|
|
101
225
|
}
|
|
102
226
|
catch (error) {
|
|
103
227
|
console.error(chalk.red('Error during update:'), error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@odvi/dtt-framework",
|
|
3
|
+
"version": "0.1.11",
|
|
4
|
+
"private": false,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"dtt-framework": "./cli/dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"src",
|
|
11
|
+
"public",
|
|
12
|
+
"docs",
|
|
13
|
+
"components.json",
|
|
14
|
+
"next.config.js",
|
|
15
|
+
"postcss.config.js",
|
|
16
|
+
"prettier.config.js",
|
|
17
|
+
"tsconfig.json",
|
|
18
|
+
"drizzle.config.ts",
|
|
19
|
+
"vitest.config.ts",
|
|
20
|
+
".env.example",
|
|
21
|
+
".gitignore",
|
|
22
|
+
".eslintrc.json",
|
|
23
|
+
".npmrc",
|
|
24
|
+
"README.md",
|
|
25
|
+
"LICENSE"
|
|
26
|
+
],
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"types": "./src/index.ts",
|
|
30
|
+
"import": "./src/index.ts",
|
|
31
|
+
"require": "./src/index.ts"
|
|
32
|
+
},
|
|
33
|
+
"./cli": {
|
|
34
|
+
"types": "./cli/dist/index.d.ts",
|
|
35
|
+
"import": "./cli/dist/index.js",
|
|
36
|
+
"require": "./cli/dist/index.js"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"publishConfig": {
|
|
40
|
+
"access": "public"
|
|
41
|
+
},
|
|
42
|
+
"scripts": {
|
|
43
|
+
"build": "next build",
|
|
44
|
+
"build:cli": "cd cli && pnpm build",
|
|
45
|
+
"check": "next lint && tsc --noEmit",
|
|
46
|
+
"db:generate": "drizzle-kit generate",
|
|
47
|
+
"db:migrate": "drizzle-kit migrate",
|
|
48
|
+
"db:push": "drizzle-kit push",
|
|
49
|
+
"db:studio": "drizzle-kit studio",
|
|
50
|
+
"dev": "next dev --turbo",
|
|
51
|
+
"format:check": "prettier --check \"**/*.{ts,tsx,js,jsx,mdx}\" --cache",
|
|
52
|
+
"format:write": "prettier --write \"**/*.{ts,tsx,js,jsx,mdx}\" --cache",
|
|
53
|
+
"lint": "next lint",
|
|
54
|
+
"lint:fix": "next lint --fix",
|
|
55
|
+
"publish:framework": "node scripts/publish.js",
|
|
56
|
+
"postinstall": "node -e \"console.log('DTT Framework installed successfully! Run \\\"pnpm dev\\\" to start development.')\"",
|
|
57
|
+
"preview": "next build && next start",
|
|
58
|
+
"start": "next start",
|
|
59
|
+
"test": "vitest run",
|
|
60
|
+
"test:watch": "vitest",
|
|
61
|
+
"test:ui": "vitest --ui",
|
|
62
|
+
"test:coverage": "vitest run --coverage",
|
|
63
|
+
"typecheck": "tsc --noEmit"
|
|
64
|
+
},
|
|
65
|
+
"dependencies": {
|
|
66
|
+
"@aws-sdk/client-s3": "^3.958.0",
|
|
67
|
+
"@clerk/nextjs": "^6.36.5",
|
|
68
|
+
"@radix-ui/react-collapsible": "^1.1.12",
|
|
69
|
+
"@radix-ui/react-dialog": "^1.1.15",
|
|
70
|
+
"@radix-ui/react-scroll-area": "^1.2.10",
|
|
71
|
+
"@radix-ui/react-slot": "^1.2.4",
|
|
72
|
+
"@supabase/ssr": "^0.8.0",
|
|
73
|
+
"@supabase/supabase-js": "^2.89.0",
|
|
74
|
+
"@t3-oss/env-nextjs": "^0.12.0",
|
|
75
|
+
"@tailwindcss/typography": "^0.5.19",
|
|
76
|
+
"@tanstack/react-query": "^5.90.14",
|
|
77
|
+
"class-variance-authority": "^0.7.1",
|
|
78
|
+
"clsx": "^2.1.1",
|
|
79
|
+
"drizzle-orm": "^0.41.0",
|
|
80
|
+
"gray-matter": "^4.0.3",
|
|
81
|
+
"highlight.js": "^11.11.1",
|
|
82
|
+
"hono": "^4.11.3",
|
|
83
|
+
"lucide-react": "^0.562.0",
|
|
84
|
+
"next": "^15.2.3",
|
|
85
|
+
"postgres": "^3.4.4",
|
|
86
|
+
"react": "^19.0.0",
|
|
87
|
+
"react-dom": "^19.0.0",
|
|
88
|
+
"react-markdown": "^10.1.0",
|
|
89
|
+
"rehype-highlight": "^7.0.2",
|
|
90
|
+
"remark-gfm": "^4.0.1",
|
|
91
|
+
"snowflake-sdk": "^2.3.3",
|
|
92
|
+
"svix": "^1.82.0",
|
|
93
|
+
"tailwind-merge": "^3.4.0",
|
|
94
|
+
"zod": "^3.24.2",
|
|
95
|
+
"zustand": "^5.0.9"
|
|
96
|
+
},
|
|
97
|
+
"devDependencies": {
|
|
98
|
+
"@eslint/eslintrc": "^3.3.1",
|
|
99
|
+
"@tailwindcss/postcss": "^4.0.15",
|
|
100
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
101
|
+
"@testing-library/react": "^16.3.1",
|
|
102
|
+
"@types/node": "^20.14.10",
|
|
103
|
+
"@types/react": "^19.0.0",
|
|
104
|
+
"@types/react-dom": "^19.0.0",
|
|
105
|
+
"@types/snowflake-sdk": "^1.6.24",
|
|
106
|
+
"@vitejs/plugin-react": "^5.1.2",
|
|
107
|
+
"@vitest/coverage-v8": "^4.0.16",
|
|
108
|
+
"@vitest/ui": "^4.0.16",
|
|
109
|
+
"drizzle-kit": "^0.30.5",
|
|
110
|
+
"eslint": "^9.23.0",
|
|
111
|
+
"eslint-config-next": "^15.2.3",
|
|
112
|
+
"eslint-plugin-drizzle": "^0.2.3",
|
|
113
|
+
"happy-dom": "^20.0.11",
|
|
114
|
+
"jsdom": "^27.4.0",
|
|
115
|
+
"msw": "^2.12.7",
|
|
116
|
+
"postcss": "^8.5.3",
|
|
117
|
+
"prettier": "^3.5.3",
|
|
118
|
+
"prettier-plugin-tailwindcss": "^0.6.11",
|
|
119
|
+
"tailwindcss": "^4.0.15",
|
|
120
|
+
"tw-animate-css": "^1.4.0",
|
|
121
|
+
"typescript": "^5.8.2",
|
|
122
|
+
"typescript-eslint": "^8.27.0",
|
|
123
|
+
"vitest": "^4.0.16"
|
|
124
|
+
},
|
|
125
|
+
"ct3aMetadata": {
|
|
126
|
+
"initVersion": "7.40.0"
|
|
127
|
+
},
|
|
128
|
+
"packageManager": "pnpm@10.26.1"
|
|
129
|
+
}
|